Half-Life Deathmatch: Source は、HL2:DM と同じ Source エンジンで再構築された Half-Life 1 のクラシックなデスマッチです。ホスティングは HL2:DM に似ていますが、あらかじめ知っておくべき違いが 2 つあります:2 つの app としてインストールされること、そして新規インストールは symlink を追加するまで起動時にフリーズすることです。どちらも下で説明します。
サーバーをインストールする(2 つの app)
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 の symlink
これが人々を混乱させる点です。専用エンジンは server_srv.so というファイルからゲームコードを読み込みますが、HLDM:Source には server.so しか付いてきません。この別名がないと、サーバーは起動した瞬間に segfault し、ServerDLL_Load エラーが出るだけで明確なメッセージはありません。修正は hl1mp/bin の実ファイルの隣に置く 1 つの symlink です:
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 で数人の友達と遊ぶのがいちばん楽しめます。