Half-Life Deathmatch: Source è il classico deathmatch di Half-Life 1 ricostruito sullo stesso motore Source di HL2:DM. Ospitarlo è simile a HL2:DM con due differenze che vale la pena conoscere fin da subito: si installa come due app, e un'installazione nuova va in crash all'avvio finché non aggiungi un symlink. Entrambe sono trattate qui sotto.
Installa il server (due app)
HLDM:Source è il motore multiplayer di HL2:DM (app 232370) che esegue i contenuti di Half-Life 1 (app 360). Installa entrambe, in modo anonimo, nella stessa cartella:
./steamcmd.sh +login anonymous \
+app_update 232370 validate \
+app_update 360 validate \
+quitLa cartella del gioco è hl1mp, e la config che legge all'avvio è:
<install>/hl1mp/cfg/server.cfgL'inghippo: il symlink server_srv.so
Questo è quello che manda in tilt le persone. Il motore dedicato carica il codice di gioco da un file chiamato server_srv.so, ma HLDM:Source include solo server.so. Senza l'alias il server va in segfault nel momento in cui si avvia, con un errore ServerDLL_Load e nessun messaggio chiaro. La soluzione è un singolo symlink accanto al file reale in hl1mp/bin:
cd <install>/hl1mp/bin
ln -sf server.so server_srv.soFallo una volta dopo l'installazione. È innocuo rieseguirlo, quindi è sicuro metterlo in uno script di avvio che gira prima di srcds.
La riga di avvio
Lo stesso wrapper srcds_run di HL2:DM, puntato alla cartella di gioco hl1mp. La mappa iniziale e il limite di giocatori sono argomenti:
./srcds_run -game hl1mp -console \
-port 27015 \
+map crossfire \
+maxplayers 16 \
+exec server.cfg- Le mappe di serie sono crossfire (la classica, con il pulsante della bomba nucleare), boot_camp, bounce, datacore, frenzy, lambda_bunker, rapidcore, snarkpit, stalkyard, subtransit e undertow.
- maxplayers 16 si adatta alle mappe di serie. crossfire e stalkyard restano divertenti con un server pieno.
- La porta 27015 è la porta di gioco e di query. Apri UDP (e TCP per RCON) nel tuo firewall.
Un server.cfg base
Nome, password e regole vanno in hl1mp/cfg/server.cfg. Tutti contro tutti vs squadre è mp_teamplay, lo stesso interruttore di 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 limitNon ci sono bot funzionanti per questa build, quindi ha bisogno di giocatori reali. Dà il meglio con qualche amico su crossfire.