直接接続アドレス。27015 はゲーム・クエリ・RCONの3役を兼ねる
Black Mesa 工房
公式ライセンスの Half-Life リメイク · SF FPS、デスマッチと協力
Black Mesa のサーバー早見表:専用サーバーの appid は 346680(Black Mesa Dedicated Server、type Tool、oslist windows,linux で両プラットフォームネイティブ、Wine 不要)、本体は 362890。ポートは3つだけで、エンジン自身の既定値が裏付ける:27015 はゲーム通信・A2S クエリ・SourceRCON を兼ね(AMP は逐語的に "Game and RCON Port"、プロトコルは Both)、27005 がクライアントポート、27020 が SourceTV(-nohltv で無効化可)。エンジンの cvar 既定値 hostport=27015 / clientport=27005 / tv_port=27020 は LinuxGSM・AMP・gamedig・実コンテナと一致する。設定は bms/cfg/ にある。当サイトはエンジン全量ダンプ 1929 件(cmd 489 + cvar 1440)からサーバー関連の 99 キーを収録する。ダンプのヘッダは版本戳 030616 で 1779 件と主張しており、差は 150 件。両方の数値を登録した。コマンドと cvar は区別しなければならない:mp_disable_autokick、maxplayers、sv_pure、sv_setsteamaccount はいずれもエンジン上は cmd なので、cfg に代入行として書いても無効である。しかも参照されていない AMP テンプレートのほうには mp_disable_autokick の行が残り、実際に使われるテンプレートでは削除されている。既定値はゲーム同梱の server.cfg.orig(mp_timelimit 900、mp_fraglimit 30、mp_teamplay 1、mp_forcerespawn 1)を採用し、エンジンの既定値(mp_fraglimit 0、mp_teamplay 0)と併記する。人数上限は上流の既定値が3つ(AMP 8、LinuxGSM 16、実コンテナ 32)あり、公式の上限は公表されていない。協力プレイは既定では動かない:Metamod:Source → SourceMod → SourceCoop の3層が必要で、AMP は InstallMod スイッチの背後で16ステージに分けて自動化する。GSLT は本体 appid 362890 で申請し +sv_setsteamaccount で渡す。バージョン基準は inferred と記録した:appinfo は 5 ブランチを列挙する(public と public-beta は現在同一 buildid で、april-2024-rollback というロールバック用もある)が、専用サーバー appid のニュースは0件、本体のニュースはすべて第三者・まとめ系の内容で、ブランチをリリース告知に対応させられない。公式ホスティング文書は今回すべて到達不能だった(blackmesa.com は 403 と Cloudflare の確認ページ、wiki.blackmesa.com は 000、開発元の GitHub 組織に公開リポジトリは無い)。よってコマンドラインと cfg の優先関係は検証不能として明示する。
プレイヤーツール(5)
その場で使える計算ツールとレシピ導出5つの分岐。GSLT と -strictportbind 由来の障害を含む
公式のCPU/メモリ仕様は無い。ディスク30 GBには出典がある。tickrateは3解釈
ロールバックを含む5ブランチ。ニュースは第三者投稿のため inferred
エンジンのダンプは1929件。当サイトはサーバー関連の80件を収録し cmd と cvar を区別する
サーバー管理と設定生成(8)
設定ファイル、起動スクリプト、コマンドウィザード人数の既定値3つを併記(8 / 16 / 32)。メモリは必須
3ポート(エンジンの既定値が裏付け)と衝突検出
27015 は RCON と同号のため TCP と UDP の両方が必要
appid 346680、匿名ログイン、ディスク30 GB、GSLTは本体 362890 で申請
5つの起動文字列を併記、cfg読込は2方式、GSLTはプレースホルダーのみ
出荷時の既定値を採用、cmd は代入行にしない、末尾で封禁ファイルを exec
SourceRCON はゲームポートと同号、停止は quit、cmd と cvar を区別
Metamod:Source → SourceMod → SourceCoop(協力プレイに必須)
Black Mesa ポートとプロトコル
| ポート | プロトコル | 用途 |
|---|---|---|
| 27015 | TCP/UDP | ゲームポートで、A2SクエリとSourceRCONも兼ねる(AMPの名称は逐語的に "Game and RCON Port") |
| 27005 | UDP | クライアントポート。エンジンの既定値は WindowsGSM プラグインの「ゲームポート − 10」と一致する |
| 27020 | UDP | SourceTVポート。AMPには無効化用の -nohltv スイッチがある |
Black Mesa 専用サーバーのインストール(SteamCMD)
SteamCMD appid 346680
sudo useradd -m -s /bin/bash steam
sudo apt update && sudo apt install -y steamcmd lib32gcc-s1
sudo -u steam -i \
/usr/games/steamcmd +force_install_dir /opt/gameserver \
+login anonymous +app_update 346680 validate +quit
Black Mesa 設定ファイルのパス
bms/cfg/server.cfgbms/cfg/bmdmserver.cfgbms/cfg/banned_ip.cfgbms/cfg/banned_user.cfgbms/cfg/mapcycle.txtbms/addons/metamod.vdfbms/cfg/server.cfg.orig
運用上の注意
第一に、RCON に専用ポートは無い:AMP は 27015 を Both とし、名称は逐語的に "Game and RCON Port"、AdminMethod=SourceRCON、AdminPortRef=ServerPort である。よって別の管理ポートを探してはならない(すべての Source エンジンゲームがこうではない:独立した管理ポートを持つ作品もあるので、本作にもあると決めつけないこと)。停止はコンソールへ quit(AMP の ExitString)で、設定変更は再起動が必要(AMP は SupportsLiveSettingsChanges=False)。第二に、GSLT と匿名ダウンロードは別物である:SteamCMD は +login anonymous でツール(appid 346680)を取得できるが、一覧に正しく出て永続アカウントを使うには Game Server Login Token が必要だ。LinuxGSM は +sv_setsteamaccount ${gslt} を渡し、その公式例 cfg は申請先 steamcommunity.com/dev/managegameservers を逐語的に示し、AMP は SteamAppId=362890 を設定する。つまりトークンは本体 appid 362890 で申請する。当サイトは以前「Steam アカウント不要」とだけ書いており、一次情報に基づき修正した。第三に、協力プレイは既定では動かない:専用サーバーはデスマッチが既定で(LinuxGSM の gamename は "Black Mesa: Deathmatch"、defaultmap は dm_bounce)、キャンペーン協力には Metamod:Source → SourceMod → SourceCoop の3層が必要である。AMP はこれを InstallMod スイッチの背後で16ステージに自動化し、bms/addons/metamod.vdf(内容は逐語的に "Plugin" { "file" "../bms/addons/metamod/bin/server" })を書いて有効化し、そのファイルを削除して無効化する。実コンテナは「SourceCoop を更新するには bms/logs を削除してから再起動せよ」とも述べる。第四に、人数上限の上流既定値は3つある——AMP の App.MaxUsers=8、LinuxGSM の maxplayers=16、実コンテナの BMCD_MAXPLAYERS=32——が、公式の上限は公表されていない。エンジンのダンプでは maxplayers は cvar ではなく cmd なのでコマンドラインに属する(AMP と LinuxGSM は -maxplayers、実コンテナは +maxplayers で、両接頭辞を併記する)。第五に、3つのポートには固定の差があるが、その差は公式規則ではない:エンジンの cvar 既定値は hostport=27015、clientport=27005、tv_port=27020 で、WindowsGSM プラグインは clientport を ServerPort − 10 として算出する。27015 は TCP と UDP の両方が必要、27005 は同一マシンでクライアントも動かす場合のみ、27020 は -nohltv で完全に無効化できる。LinuxGSM は -strictportbind も渡すため、ポートが使われていると黙ってずれるのではなく失敗する。第六に、コマンドと cvar は区別すること:エンジンのダンプ(1929 件、うち cmd は 489 件)は mp_disable_autokick、maxplayers、sv_pure、sv_setsteamaccount を cmd として載せており、mp_disable_autokick を代入行として書いても何も起きない。updates.json が参照しない AMP テンプレートにはその行が残り、実際に使われるテンプレートでは削除されている。第七に、公式ホスティング文書は今回すべて到達不能だった:blackmesa.com は 403 と Cloudflare の確認ページ、wiki.blackmesa.com は 000、開発元 CrowbarCollective の GitHub 組織に公開リポジトリは無く、専用サーバー appid の ISteamNews は 0 件、本体の直近12件はすべて第三者・まとめ系の内容(セール、バンドル、他ゲーム)である。よって「コマンドラインと cfg のどちらが優先か」「マップの全一覧」「black-mesa-de や black-mesa-1-0 の意味」はいずれも検証不能として明示し、創作しない。第八に、公式の CPU・メモリ仕様はどの到達可能ソースにも無い。出典のある唯一のサイズは実コンテナ README の「サーバーファイルに 30 GB のディスク」であり、収容ツールはメモリを必須入力とし、1人あたりの計算式は適用しない。第九に、一覧表示は検証可能である:node-gamedig は blackmesa を protocol valve・port 27015 で収録し、LinuxGSM は querytype=protocol-valve を使い、実コンテナのヘルスチェックは A2S クエリを実行して dedicated=1 を探す。よって serverProtocol は steam_a2s のままとする。第十に、エンジンは資格情報系 cvar を「記録しない」と自ら示す:sv_password は prot と norecord、rcon_password は norecord を持つ。これは当サイトの「プレースホルダーのみ出力し、秘密情報は長さだけ報告する」という契約と同方向である。
よくある質問
- Black Mesa にはどんなオンラインツールがありますか?
- 当サイトでは Black Mesa 向けに 5 個のツールを公開しています:サーバーに参加、接続トラブル診断、ハードウェアと性能、バージョン基準とブランチ、convar とコマンドの検索。すべてブラウザでそのまま使えます。
- これらのツールは有料ですか?インストールは必要ですか?
- どちらも不要です。すべてページ内で動作し、インストール・登録・料金は一切ありません。値を入力すればすぐに結果が出て、生成された設定やコマンドはワンクリックでコピーできます。