ゲームサーバーを1時間ごとに。遊ぶときだけ支払い。

Half-Life Deathmatch: Source の専用サーバーを設定する方法

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 で数人の友達と遊ぶのがいちばん楽しめます。

関連項目

← すべてのガイドに戻る