Half-Life Deathmatch: Source це класичний дезматч Half-Life 1, перебудований на тому самому рушії Source, що й HL2:DM. Хостинг близький до HL2:DM з двома відмінностями, про які варто знати наперед: він встановлюється як два застосунки, і свіже встановлення падає під час запуску, доки ви не додасте один симлінк. Обидва моменти описані нижче.
Встановлення сервера (два застосунки)
HLDM:Source це мультиплеєрний рушій HL2:DM (app 232370), який запускає контент Half-Life 1 (app 360). Встановіть обидва, анонімно, в одну папку:
./steamcmd.sh +login anonymous \
+app_update 232370 validate \
+app_update 360 validate \
+quitПапка гри це hl1mp, а конфіг, який вона читає під час запуску:
<install>/hl1mp/cfg/server.cfgПастка: симлінк server_srv.so
Саме це ставить людей у глухий кут. Виділений рушій завантажує ігровий код із файлу з назвою server_srv.so, але HLDM:Source постачає лише server.so. Без цього псевдоніма сервер отримує segfault у момент запуску, з помилкою ServerDLL_Load і без чіткого повідомлення. Виправлення це один симлінк поруч зі справжнім файлом у hl1mp/bin:
cd <install>/hl1mp/bin
ln -sf server.so server_srv.soЗробіть це один раз після встановлення. Повторний запуск нешкідливий, тож безпечно вставити його в скрипт запуску, що виконується перед srcds.
Рядок запуску
Та сама обгортка srcds_run, що й у HL2:DM, спрямована на ігрову папку hl1mp. Стартова мапа й ліміт гравців це аргументи:
./srcds_run -game hl1mp -console \
-port 27015 \
+map crossfire \
+maxplayers 16 \
+exec server.cfg- Стандартні мапи це crossfire (класика, з кнопкою запуску ядерної бомби), boot_camp, bounce, datacore, frenzy, lambda_bunker, rapidcore, snarkpit, stalkyard, subtransit і undertow.
- maxplayers 16 пасує стандартним мапам. crossfire і stalkyard залишаються цікавими на повному сервері.
- Порт 27015 це ігровий і запитовий порт. Відкрийте UDP (і TCP для RCON) у своєму фаєрволі.
Базовий server.cfg
Назва, паролі та правила йдуть у hl1mp/cfg/server.cfg. Кожен сам за себе проти команд це mp_teamplay, той самий перемикач, що й у 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 limitДля цієї збірки немає робочих ботів, тож їй потрібні живі гравці. Вона найкраща з кількома друзями на crossfire.