《半衰期死亡竞赛:起源》是把经典的《半衰期1》死亡竞赛在与 HL2:DM 相同的 Source 引擎上重制的版本。架设它与 HL2:DM 很接近,但有两个值得先了解的区别:它以两个 app 的形式安装,而且全新安装在启动时会崩溃,直到你添加一个符号链接。下面两点都会讲到。
安装服务器(两个 app)
HLDM:Source 就是运行《半衰期1》内容(app 360)的 HL2:DM 多人引擎(app 232370)。将两者都匿名安装到同一个文件夹中:
./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。没有这个别名,服务器一启动就会段错误崩溃,并报出 ServerDLL_Load 错误,没有清晰的提示信息。修复方法是在 hl1mp/bin 中真实文件旁边建立一个符号链接:
cd <install>/hl1mp/bin
ln -sf server.so server_srv.so安装后执行一次即可。再次运行也无害,所以放进一个在 srcds 之前运行的启动脚本里是安全的。
启动命令行
与 HL2:DM 相同的 srcds_run 封装,指向 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(RCON 则开放 TCP)。
一份原版 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 上玩时最为精彩。