Page 1 of 5

CS:Source Gameserver

Posted: 2004-11-22 10:44
by dynamix
Hallo Leute,

Grundsätzliches
Um einen dedizierten CS: Source-Server mit Steam zu erstellen, benötigen wir einen Steam-Account. Dieser ist zum einen kostenlos und benötigt zum anderen keinen gültigen CD-Key.
Widmen wir uns also der Installation.

Installation
Zu beginn sollten wir uns nun also Gedanken machen ob wir den Server als root ausführen - klare Antwort: NEIN.

Wir legen also einen User an.
In diesem tutorial wird der User hlds heißen und sein Home-Verzeichnis wird unter /home/hlds/ liegen. Die Server-Installation werden wir unter /home/hlds/srcds/ vornehmen.

Wir loggen uns nun also mit dem erstellen User hlds ein und saugen uns das Steamupdatetool:

Code: Select all

wget http://www.isis.de/members/~hmenze/cs/server/linux/steam

Code: Select all

./steam -command create -username hlds -email hlds@hlds.de -password mein_geheimes_Passwort -question "blabli?" -answer "blub!"
Wenn der Account erfolgreich erstellt wurde erscheint folgende Meldung:

Code: Select all

Checking bootstrapper version ...
Creating Account
Account Created successfully
Nachdem der Account erfolgreich erstellt wurde, brauchen wir jetzt nur noch die Serverdateien. Dabei ist die Verfahrensweise bei einem Update einer vorhandenen Installation oder einer kompletten Neuinstallation gleich.
Wir rufen wieder steam auf, diesmal jedoch so:

Code: Select all

./steam -command update -game "Counter-Strike Source" -dir /home/hlds/srcds -username hlds -password mein_geheimes_Passwort -remember_password
Das "-remeber_password" sorgt übrigens dafür, dass steam sich unser Passwort und die anderen Optionen merkt und beim nächsten Mal ein

Code: Select all

./steam -command update -game "Counter-Strike Source" -dir /home/hlds/srcds
reichen sollte.

Server starten
Wir starten den CS-Server mit den folgenden Befehlen:

Code: Select all

./srcds_run -game cstrike +map de_dust +maxplayers 12 >/dev/null & 
Auf einem Rootserver wäre folgender Befehl jedoch zu bevorzugen:

Code: Select all

screen -A -m -d -S hlds ./srcds_run -game cstrike +map de_dust +maxplayers 12 -autoupdate 
Dieser Befehl startet einen Counter Strike: Source Server mit der Map de_dust und erlaubt den Zugriff für 12 Spieler.
Sollte nun alles geklappt haben solltet ihr eine Meldung erhalten welche der folgenden ähnelt:

Code: Select all

Auto detecting CPU
Using default binary.
Auto-restarting the server on crash
Console initialized.
Game .dll loaded for "Counter-Strike: Source"
maxplayers set to 12
Network: IP 192.168.1.6, mode MP, dedicated Yes, ports 27015 SV / 27005 CL
Adding master server 207.173.177.11:27011
Adding master server 69.28.151.178:27011
Das bedeutet, der Server hat sich bei STEAM angemeldet und ist erreichbar.

Viel Spaß mit diesem kleinen Tutorial.

LG, Marco

P.S.: Solltet ihr noch fragen haben, stellt diese einfach.

P.S.: Wer Debian Sarge benutzt, muss sich unbedingt als User hlds per ssh anmelden, wenn man sich mit einem anderen User anmeldet, und dann per "su" zu hlds wechselt, wird mit einer Fehlermeldung von Screen "begrüßt", da er kein Recht hat, auf die pts zuzugreifen.

Re: CS:Source Gameserver

Posted: 2004-11-29 08:33
by kai2004
welche glibc verwendest du?

Re: CS:Source Gameserver

Posted: 2004-11-29 13:07
by dynamix
Ich verwende die Glibc Version 2.1.0

Es wäre jedoch zu empfehlen die 2.3.2 zu verwenden da es sonst sein kann das der Server sofort nach dem Start wieder crashed.

LG, Marco

Re: CS:Source Gameserver

Posted: 2004-11-29 13:50
by kai2004
komisch, ich habe die glibc 2.3.2 ( debian sarge )

und beim starten kommen folgende Fehler

Auto detecting CPU
Using SSE2 Optimised binary.
Auto-restarting the server on crash

Console initialized.
Attempted to create unknown entity type event_queue_saveload_proxy!
Game .dll loaded for "Counter-Strike: Source"
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
Network: IP 82.165.41.213, mode MP, dedicated Yes, ports 27017 SV / 27007 CL
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
Executing dedicated server config file
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/zerogxplode
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/wxplo1
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/steam1
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/bubble
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/bloodspray
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/blood
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/laserbeam
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/laserdot
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/fire1
CMaterial::GetNumAnimationFrames:
no representative texture for material cable/cable
CMaterial::GetNumAnimationFrames:
no representative texture for material cable/cable_lit
CMaterial::GetNumAnimationFrames:
no representative texture for material cable/chain
CMaterial::GetNumAnimationFrames:
no representative texture for material cable/rope
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/blueglow1
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/purpleglow1
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/purplelaser1
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/white
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/physbeam
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/gunsmoke
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/radio
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/ledglow
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/glow01
CMaterial::GetNumAnimationFrames:
no representative texture for material sprites/glow
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
free(): invalid pointer 0x401cfca0!
The Navigation Mesh was built using a different version of this map.
couldn't exec server.cfg
Adding master server 69.28.151.178:27011
Adding master server 207.173.177.11:27011

Re: CS:Source Gameserver

Posted: 2004-11-29 13:54
by sir tom
Lass nochmal das Updatetool laufen und lösche vorher Deine Startmap im Mapordner sicherheitshalber, scheinst ne alte Version laufen zu haben.

Die anderen Meldungen sind alle - LEIDER - normal...

Re: CS:Source Gameserver

Posted: 2004-11-29 14:42
by kai2004
hab den mapsordner mal komplett gelöscht und dann geupdatet...

funktioniert nun, jedoch kommen exakt dieselben Fehlermeldungen.
Wurst drauf, es lüppt ;)

Re: CS:Source Gameserver

Posted: 2004-11-29 14:58
by dynamix
Die Fehlermelden kommen solange bis Steam mal ein neues Update rausbringt welche diese Fehler ausmerzt.

LG, Marco

Re: CS:Source Gameserver

Posted: 2004-11-30 23:59
by dopefish
dynamix wrote:Ich verwende die Glibc Version 2.1.0

Es wäre jedoch zu empfehlen die 2.3.2 zu verwenden da es sonst sein kann das der Server sofort nach dem Start wieder crashed.

LG, Marco
Wie hast du es ohne glibc 2.3 zum laufen gebracht?

gameserver@ipx10737:~/halflife/css/bin$ ldd libsteamvalidateuseridtickets_i486.so
./libsteamvalidateuseridtickets_i486.so: /lib/libc.so.6: version `GLIBC_2.3' not found (required by ./libsteamvalidateuseridtickets_i486.so)
libc.so.6 => /lib/libc.so.6 (0x401b5000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
[Edit]
Ist egal, ich warte einfach auf den nächsten Update wo Alfred den required version auf 2.2.4 herabsetzen will indem er ein paar sachen statisch macht.

Re: CS:Source Gameserver

Posted: 2004-12-01 10:23
by sledgehammer
was fürn CD - Key , von Half Life 1 englisch oder deutsch ?

gruß Dennis Kleinbaum

Re: CS:Source Gameserver

Posted: 2004-12-01 10:35
by sir tom
CD Key? Um HL Server zu bekommen / laufen zu lassen, benötigt man keinen Key, man muss sich nur einen STEAM Account anlegen.

Re: CS:Source Gameserver

Posted: 2004-12-06 01:07
by rumpel
Hallo,

wie kann ich auf Debian 3.0 die Glibc auf die unstable Version 2.3.2 per apt-get updaten? Also ich meine das nur Glibc unstable ist und der rest stable bleibt, was mußt ich da ich in die Sourcelist eintragen?

Re: CS:Source Gameserver

Posted: 2004-12-06 09:56
by kase
Sowas ist nicht möglich, da ja alle anderen Pakete gegen die alte LibC gelinked wurden, und somit nicht mehr / unvollständig funktionieren würden...

Re: CS:Source Gameserver

Posted: 2004-12-08 12:54
by dopefish
Hmm, da valve anscheinend die glibc anforderungen doch nicht auf glibc 2.2.4 heruntersetzen wollen (hatten sie mal angekündigt), werde ich mal schauen ob ich eine chroot umgebung aufgebaut kriege mit glibc 2.3.2 in dem der srcds läuft.

Re: CS:Source Gameserver

Posted: 2004-12-08 13:07
by rumpel
Ich würde auch gerne mein SrcDs starten, aber ohne glibc 2.3.2 sieht es wohl ehr dunkel aus :?

@ DopeFish

ich würde mich sehr freuen, wenn Du das hin bekommst und vielleicht eine kleine HowTo hier veröffentlichen könnstest, denn dafür reicht mein bescheidenes Wissen in Sachen Linux leider nicht aus :(

Re: CS:Source Gameserver

Posted: 2004-12-08 13:30
by captaincrunch
Ã?hm...und wo bitte ist das Problem? Unter Debian ist ein Sarge- oder Sid-chroot innerhalb von ein paar Minuten mit Hilfe von debootstrap erstellt.

Re: CS:Source Gameserver

Posted: 2004-12-08 13:44
by rumpel
CaptainCrunch wrote:Ã?hm...und wo bitte ist das Problem? Unter Debian ist ein Sarge- oder Sid-chroot innerhalb von ein paar Minuten mit Hilfe von debootstrap erstellt.
Jo da hast Du bestimmt recht, vorausgesetzt man weiß wie bzw. man weiß wo man ansetzen muß 8) .
Ich goggle mich schon seit einer Weile nach einer Lösung durch's Internet, nachdem ich aber dann bei meiner Suche HIER angekommen bin und trotzdem nix gefunden habe, weiß ich auch nicht mehr weiter :cry:

Re: CS:Source Gameserver

Posted: 2004-12-09 13:52
by dopefish
ich hab einfach mit jailkit schnell einen jail / chroot aufgebaut, steam und hl2 drin installiert, /proc und ein paar /dev/ einträge hinein die benötigt wurden für srcds und screen und die libs. Ging ziemlich einfach und der Server läuft nun.

Ich habs so gemacht damit wirklich nur das nötigste drin ist was ich brauche.
Mit debootstrap baue ich mir allerdings vielleicht noch eine zweite chroot auf um gezielt sachen aus sid und sarge zu testen...

Re: CS:Source Gameserver

Posted: 2004-12-09 14:06
by rumpel
Macht sich diese chroot Umgebung in der Performances des Gameserver irgendwie bemerkbar?

Re: CS:Source Gameserver

Posted: 2004-12-09 16:09
by dopefish
kann ich schlecht sagen da ich es ja nicht ohne testen kann ;) sollte aber nicht.

Re: CS:Source Gameserver

Posted: 2004-12-09 16:16
by rumpel
DopeFish wrote:kann ich schlecht sagen da ich es ja nicht ohne testen kann ;) sollte aber nicht.
Ohh... Ich dächte irgendwo mal gelesen zu haben, das Du auch ein Sarge Rootie am Start hast, deshalb dachte ich Du da schon ein vergleich hast, aber da hab ich wohl mal wieder etwas verwechselt :P

Re: CS:Source Gameserver

Posted: 2004-12-11 01:03
by henock
Mal eine ganz dumme Frage.... 8O

.... die glibc ist ja nun auch nur eine "ganz normale" Bibliothek .... kann man nicht auf einem standard Woody-System eine secondary glibc aus den 2.3'er Sourcen bauen und die dann dem srcds unterjubeln ? (Also ohne ein chroot, sondern nur über eine Anpassung der Umgebung.)

Re: CS:Source Gameserver

Posted: 2004-12-13 10:32
by dopefish
theoretisch schon, aber spätestens wenn du plugins installieren willst (um den server aus den spiel heraus auch administrieren zu kännen) geht es los mit mehr abhängigkeiten die ebenfalls zusätzlich installiert werden müssen. Ich fands für mich einfach übersichtlicher wenn ich das geanze getrennt mache.

Re: CS:Source Gameserver

Posted: 2004-12-14 10:02
by wowan
jetzt mal eine ganz dumme frage, bitte nicht herummotzen :oops:
wenn ich meinen server gestartet hab geht alles, aber wenn ich dann meine console bzw. remote schliesse ist der server wieder off

Re: CS:Source Gameserver

Posted: 2004-12-14 11:05
by rumpel
Wowan wrote:jetzt mal eine ganz dumme frage, bitte nicht herummotzen :oops:
wenn ich meinen server gestartet hab geht alles, aber wenn ich dann meine console bzw. remote schliesse ist der server wieder off
Lass Dein Server mit Screen im Hintergrund laufen, dann bleibt er auch online wenn Du die SSH Session schließt...

Code: Select all

screen -A -m -d -S hlds1 /bin/sh -c "./hlds_run +DEINE PAPAMETER"
Das "/bin/sh -c" kannst Du auch raus lassen, aber Du brauchst es, wenn Du mehrere Befehle an SCREEN übergeben möchtest, z.B. die SCREEN-Ausgabe in ein Logfile schreiben...


mit folgenden Befehl kommst Du wieder zurück in die Konsole

Code: Select all

screen -r hlds1
Mit STRG+A+D kannst Du die Konsole wieder schließen und der Server läuft weiter...

ICh starte meine Server über ein Script mit folgenden Befehl:

Code: Select all

screen -A -m -d -S srv27010 /bin/sh -c "./hlds_run +port 27010 +ip 213.202.xxx.xxx -game cstrike -pingboost 3 +sys_ticrate 5000 -autoupdate -dll addons/metamod/dlls/metamod_i386.so +maxplayers 21 +sv_lan 0 +exec server.cfg +map cs_assault_upc > /home/hlds/logs/server27010/hlds/srv27010_`date +%Y.%m.%d_%H%M`.log"
grüsse
Rumpel

Re: CS:Source Gameserver

Posted: 2004-12-14 11:45
by wowan
thx
das ist cs server, hab mich schon gewundert das du Metamod hast (gibts ja noch garnet für cs:s) ^^