Counter-Strike 1.6 hat mittlerweile einige Jahre auf dem Buckel, gehört aber immer noch zu den beliebtesten Multiplayer-Spielen. Möchte man unter Ubuntu einen Server aufsetzen, so ist dies in wenigen Schritten erledigt. Im ersten Schritt müssen Abhängigkeiten installiert und ein Nutzer für den Server angelegt werden:
apt-get install lib32gcc1 adduser counterstrike
Nach dem Anlegen des Nutzers wird in dessen Kontext gewechselt und dort die Ordner-Infrastruktur angelegt:
su counterstrike cd mkdir steam mkdir game
Nun steht die Installation des Steam-Kommandozeilen-Clients an:
cd steam wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz rm steamcmd_linux.tar.gz
Danach kann der Steam-Client gestartet werden und der Counter-Strike-Server installiert werden:
./steamcmd.sh login anonymous force_install_dir /home/counterstrike/game/ app_update "90 -beta Beta" validate
Beim app_update kann es bei der Installation zu folgender Fehlermeldung kommen:
Error! App '90' state is 0x6 after update job.
Zur Lösung des Problems muss der Befehl:
app_update "90 -beta Beta" validate
so oft ausgeführt werden, bis der Vorgang schlussendlich erfolgreich beendet wird. Anschließend kann der Steam-Client mit dem Kommando exit beendet werden. Bevor man den Server startet, sollte man die server.cfg-Datei den Umständen entsprechend anpassen. Diese befindet sich im Ordner /home/counterstrike/game/cstrike/. Fertig konfiguriert könnte diese so aussehen:
// Use this file to configure your DEDICATED server. // This config file is executed on server start. // server password sv_password "geheim" rcon_password "geheim" // disable autoaim sv_aim 0 // disable clients' ability to pause the server pausable 0 // default server name. Change to "Bob's Server", etc. hostname "Mein erster CS-Server" // maximum client movement speed sv_maxspeed 320 // 20 minute timelimit mp_timelimit 20 sv_cheats 0 // load ban files // exec listip.cfg // exec banned.cfg
Wenn man beim Start des Servers mittels:
./hlds_run -game cstrike +map de_dust2
folgende Ausgabe erhält:
dlopen failed trying to load: /home/counterstrike/.steam/sdk32/steamclient.so with error: /home/counterstrike/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
muss ein symbolischer Link erstellt werden, welcher auf den linux32-Ordner der Steam-Installation zeigt:
cd mkdir .steam ln -s /home/counterstrike/steam/linux32 /home/counterstrike/.steam/sdk32
Anschließend kann der Server wieder gestartet werden. Alternativ kann der Server natürlich auch in einer screen-Umgebung gestartet werden, so das dieser im Hintergrund läuft.