Half-Life Deathmatch: Source ist der klassische Half-Life 1 Deathmatch, neu aufgebaut auf derselben Source-Engine wie HL2:DM. Das Hosten ist nah an HL2:DM, mit zwei Unterschieden, die man vorab kennen sollte: Es installiert sich als zwei Apps, und eine frische Installation stürzt beim Start ab, bis du einen Symlink hinzufügst. Beides wird unten behandelt.
Server installieren (zwei Apps)
HLDM:Source ist die HL2:DM Multiplayer-Engine (App 232370), die den Half-Life 1 Content (App 360) ausführt. Installiere beide anonym in denselben Ordner:
./steamcmd.sh +login anonymous \
+app_update 232370 validate \
+app_update 360 validate \
+quitDer Spielordner ist hl1mp, und die Konfiguration, die beim Start gelesen wird, ist:
<install>/hl1mp/cfg/server.cfgDer Haken: der server_srv.so Symlink
Das ist der Punkt, an dem viele scheitern. Die dedizierte Engine lädt den Spielcode aus einer Datei namens server_srv.so, aber HLDM:Source liefert nur server.so. Ohne den Alias segfaultet der Server in dem Moment, in dem er startet, mit einem ServerDLL_Load Fehler und ohne klare Meldung. Die Lösung ist ein einzelner Symlink neben der echten Datei in hl1mp/bin:
cd <install>/hl1mp/bin
ln -sf server.so server_srv.soMach das einmal nach der Installation. Es ist unschädlich, es erneut auszuführen, also kann man es gefahrlos in ein Startskript packen, das vor srcds läuft.
Die Startzeile
Derselbe srcds_run Wrapper wie bei HL2:DM, auf den hl1mp Spielordner gerichtet. Die Startmap und das Spielerlimit sind Argumente:
./srcds_run -game hl1mp -console \
-port 27015 \
+map crossfire \
+maxplayers 16 \
+exec server.cfg- Die Standardmaps sind crossfire (der Klassiker, mit dem Atombombenknopf), boot_camp, bounce, datacore, frenzy, lambda_bunker, rapidcore, snarkpit, stalkyard, subtransit und undertow.
- maxplayers 16 passt zu den Standardmaps. crossfire und stalkyard bleiben mit einem vollen Server unterhaltsam.
- Port 27015 ist der Spiel- und Query-Port. Öffne UDP (und TCP für RCON) in deiner Firewall.
Eine schlichte server.cfg
Name, Passwörter und Regeln kommen in hl1mp/cfg/server.cfg. Free-for-all vs. Teams ist mp_teamplay, derselbe Schalter wie bei HL2:DM:
hostname "My HLDM:Source Server" // CHANGE ME
rcon_password "pick-a-long-secret" // CHANGE ME
sv_password "" // a word here = private, blank = open
sv_lan 0
mp_teamplay 0 // 0 = free-for-all, 1 = team deathmatch
mp_fraglimit 0 // kills to end the map, 0 = no limit
mp_timelimit 20 // minutes to end the map, 0 = no limitFür diesen Build gibt es keine funktionierenden Bots, er braucht also echte Spieler. Am besten ist er mit ein paar Freunden auf crossfire.