Wenn wir auf dem Server als root eingeloggt sind, legen wir als erstes einen Benutzer mit eingeschränkten rechten an unter dem der Server laufen soll.
adduser Username
Adding user `Username' ...
Adding new group `Username' (1000) ...
Adding new user `Username' (1000) with group `Username' ...
Creating home directory `/home/Username' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: Passwort eingeben
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for Username
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
Alles anzeigen
Nun können wir mit der eigentlichen Installation beginnen. Als erstes legen wir ein neues Verzeichnis für Gameserver an und wechseln ins neu angelegte Verzeichnis
Um HL oder HL2 Server zu installieren wird das hldsupdatetool.bin benötigt
Als nächstes müssen wir das hldsupdatetool ausführbar machen: chmod 744 (über winscp) - chmod +x ./hldsupdatetool.bin (über PuTTY)
Bei einem 64-bit System müssen zuerst noch die ia32-libs heruntergeladen werden.
Ansonsten erhält Ihr folgende Fehlermeldung: -bash: ./hldsupdatetool.bin: No such file or directory
Danach starten wir das Tool mit ./hldsupdatetool.bin und akzeptieren die EULA mit yes
Das Verzeichnis muss zwingend existieren!
Um den gameserver mit Boardmitteln möglichst einfach zu starten und zu verwalten nehmen wir ein Startscript und screen zur Hilfe. Falls screen nicht installiert ist mit apt-get install screen installieren
Wir legen ein Startscirpt an: neue Datei beispielstart.sh anlegen (muss ausführbar gemacht werden), die könnte wie folgt aussehen:
#!/bin/sh
screen -A -m -d -S cs ./hlds_run -game cstrike -pingboost 3 -autoupdate +ip xxx.xxx.xxx.xxx -port 27015 +map de_dust2 +maxplayers 12
Dank unserem Startscript können wir nun den Gameserver mit folgendem Kommando starten: ./beispielstart.sh
Der Server wird automatisch im hintergrund gestartet.
Für LAN Server noch folgende Parameter hinzufügen -insecure -nomaster +sv_lan 1
Die wichtigsten Kommandos für screen:
Laufende screen's/Gameserver anzeigen: screen -ls
In Gameserverconsole wechseln: screen -r screename/id oder mit screen -x screename/id
Offenen screen schliessen/beenden : Ctrl+c
Screen in den Hintergrund ausblenden: Ctrl + a + d
Screen der im Hintergrund läuft beenden: kill screenid
Falls ihr in eurer Gameserverconsole folgende Meldungen kriegt ist das eigentlich nicht weiter tragisch und hat keine Auswirkungen. Wer sie trotzdem weghaben möchte legt die entsprechenden Verzeichnisse manuell an, also einfach einen leeren ordner erstellen.
scandir failed:/home/srvsvc/gameserver/cs/./platform/SAVE
scandir failed:/home/srvsvc/gameserver/cs/./valve/SAVE
HL und HL2 Server bieten die Möglichkeit mehrere Server Instanzen mit nur einer Installation auszuführen anstatt für jeden Server ein eigenes Verzeichnis anzugeben. Dazu müssen verschiedene Startscripts anglegt werden, oder in der beispielstart.sh alle zu startenden Server untereinader gelisted, und natürlich jedem Server einen eigenen screenname sowie andere ports eintragen werden. Im Steamserverbrowser werden Ports zwischen: 27015-27025 angezeigt. Zusätzlich können folgende Parameter benutzt werden: +servercfgfile server1.cfg +mapcyclefile mapcycle1.txt +motdfile motd1.txt
Beispiel mehrere Server auf einmal Starten (das Prinzip kann z.B auch verwendet werden um alle Server gleichzeitig zu updaten):
#!/bin/sh
screen -A -m -d -S cs ./hlds_run -game cstrike -pingboost 3 -autoupdate +ip xxx.xxx.xxx.xxx -port 27015 +map de_dust2 +maxplayers 12 +servercfgfile server1.cfg +mapcyclefile mapcycle1.txt +motdfile motd1.txt
screen -A -m -d -S cs2 ./hlds_run -game cstrike -pingboost 3 -autoupdate +ip xxx.xxx.xxx.xxx -port 27016 +map de_dust2 +maxplayers 12 +servercfgfile server2.cfg +mapcyclefile mapcycle2.txt +motdfile motd2.txt
Andere HL oder HL2 Server als Counter-Strike 1.6 können analog installiert werden. Bei der Installation muss cstrike durch das entsprechende Game zu ersetzen.
HL1 Games
tfc
ricochet
gearbox
dod
dmc
czero
HL2 Games
left4dead
tf
"Counter-Strike Source" zwingend mit ""
dods
garrysmod
hl2mp