Half-Life Deathmatch: Source é o clássico deathmatch de Half-Life 1 reconstruído na mesma engine Source do HL2:DM. Hospedá-lo é parecido com HL2:DM, com duas diferenças que vale conhecer de antemão: ele instala como dois apps, e uma instalação nova trava ao iniciar até você adicionar um symlink. Ambas são explicadas abaixo.
Instale o servidor (dois apps)
HLDM:Source é a engine multiplayer do HL2:DM (app 232370) rodando o conteúdo do Half-Life 1 (app 360). Instale ambos, anonimamente, na mesma pasta:
./steamcmd.sh +login anonymous \
+app_update 232370 validate \
+app_update 360 validate \
+quitA pasta do jogo é hl1mp, e a configuração que ele lê ao iniciar é:
<install>/hl1mp/cfg/server.cfgO detalhe: o symlink server_srv.so
Este é o que confunde as pessoas. A engine dedicada carrega o código do jogo de um arquivo chamado server_srv.so, mas HLDM:Source vem apenas com server.so. Sem o alias, o servidor dá segfault no momento em que inicia, com um erro ServerDLL_Load e nenhuma mensagem clara. A correção é um único symlink ao lado do arquivo real em hl1mp/bin:
cd <install>/hl1mp/bin
ln -sf server.so server_srv.soFaça isso uma vez após instalar. É inofensivo executar de novo, então é seguro colocar em um script de inicialização que roda antes do srcds.
A linha de inicialização
O mesmo wrapper srcds_run do HL2:DM, apontado para a pasta de jogo hl1mp. O mapa inicial e o limite de jogadores são argumentos:
./srcds_run -game hl1mp -console \
-port 27015 \
+map crossfire \
+maxplayers 16 \
+exec server.cfg- Os mapas padrão são crossfire (o clássico, com o botão da bomba nuclear), boot_camp, bounce, datacore, frenzy, lambda_bunker, rapidcore, snarkpit, stalkyard, subtransit e undertow.
- maxplayers 16 combina com os mapas padrão. crossfire e stalkyard continuam divertidos com um servidor lotado.
- A porta 27015 é a porta do jogo e de consulta. Abra UDP (e TCP para RCON) no seu firewall.
Um server.cfg básico
Nome, senhas e regras vão em hl1mp/cfg/server.cfg. Todos contra todos vs equipes é o mp_teamplay, a mesma chave do 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 limitNão há bots funcionais para esta versão, então ela precisa de jogadores reais. Fica no seu melhor com alguns amigos no crossfire.