Czym jest HLDS?
HLDS to dedykowany serwer Valve dla gier na silniku GoldSrc (m.in. Counter-Strike 1.6, Counter-Strike: Condition Zero, Team Fortress Classic, Day of Defeat, Half-Life Deathmatch, Ricochet).
Instalacja SteamCMD
Do instalacji wykorzystamy SteamCMD - oficjalne narzędzie do instalacji serwerów gier ze Steam.
Tworzymy katalog i pobieramy.
mkdir -p ~/steamcmd
cd ~/steamcmd
curl -sqL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar zxv
Zanim przejdziemy do instalacji serwera, musimy doinstalować wymagane biblioteki 32-bitowe.
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y libc6:i386 libstdc++6:i386 lib32gcc-s1 libcurl4:i386 libnss3:i386 ca-certificates
Instalacja serwera
Tworzymy nowy katalog ~/cs16, w którym zostanie zainstalowany HLDS.
mkdir -p ~/cs16
cd ~/steamcmd
./steamcmd.sh +login anonymous \
+force_install_dir ~/cs16 \
+app_update 90 validate \
+quit
Uruchomienie
Gdybyśmy teraz uruchomili serwer, w konsoli serwera zauważylibyśmy komunikat o nieznalezionym pliku - należy stworzyć dowiązanie.
mkdir -p ~/.steam/sdk32
ln -sf ~/steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so
Przechodzimy do katalogu z serwerem i uruchamiamy HLDS.
cd ~/cs16
./hlds_run -game cstrike +map de_dust2 +maxplayers 32 +ip 0.0.0.0 +port 27015
Domyślnie serwer Counter-Strike nasłuchuje na porcie 27015, jednak możemy to zmienić, dodając do polecenia startowego +port 27016 (lub inny wybrany numer portu).
Więcej parametrów znajdziesz na stronie developer.valvesoftware.com
Uruchomienie w tle
Narzędzie screen pozwala uruchomić serwer w tle, odłączyć się od konsoli, później do niej wrócić i nie tracić procesu po zerwaniu połączenia z SSH.
screen -S cs16 -dmL -Logfile ~/cs16/hlds.log bash -lc 'cd ~/cs16 && exec ./hlds_run -game cstrike +map de_dust2 +maxplayers 32 +ip 0.0.0.0 +port 27015'
Wyjśćie z konsoli: Ctrl + A + D
Firewall
Konfigurując maszynę, na której uruchamiamy serwer gier, warto pomyśleć o skonfigurowaniu firewalla i otwarciu jedynie potrzebnych portów.
Zakładając, że korzystasz z iptables, poleceniem otwierającym port będzie:
sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
Co dalej?
Dalej zachęcam do zapoznania się z artykułami dotyczącami AMX MOD X - narzędzia od społeczności umożliwiającego modyfikację rozgrywki poprzez wtyczki.