友達が実際にインターネット経由で参加できるレガシー版 CS:GO サーバーをホストするのは、見た目より難しいものです。Valve は CS2 のリリース時に CS:GO を凍結し、その後、公式マッチメイキングとゲーム内サーバーブラウザを停止しました。普通のやり方で立ち上げたサーバーは正常に起動しますが、接続を試みる友達は誰もが「connect failed after 30 retries」しか見られません。このガイドではその理由と、実際に動く正確な設定を説明します。ここに書かれた各手順は、実在する公開サーバーで検証済みです。
なぜ直接接続が失敗するのか
レガシー版 CS:GO サーバーをインターネット上でブロックするものは 2 つあります:
- GSLT がない。公開 CS:GO サーバーには Game Server Login Token が必要です。これがないと、コンソールに「No Steam account token was specified. Connections will be restricted to LAN only.」と表示されます。
- ロビー予約のロック。トークンがあっても、CS:GO は直接接続をマッチメイキングの予約システムに通します。Valve は凍結ビルドでこれを停止したため、サーバーは決して完了しない予約を作成します。これがあなたの目にする「30 retries」のメッセージの正体です。
必要なもの
- 本物の公開 IP を持つマシン(ルーターの内側にある自宅 PC ではなく VPS)。
- CS:GO 専用サーバーのファイル(steamcmd アプリ 740)。
- app 730 用の GSLT。steamcommunity.com/dev/managegameservers から取得します。
- MetaMod:Source、SourceMod、そして NoLobbyReservation プラグイン。
実際に動く設定
- steamcmd でインストールします:
+login anonymous +app_update 740 validate - 同梱されている bin/libgcc_s.so.1 を削除します。凍結ビルドには古いコピーが含まれており、最新の Linux では動作しません(サーバーが libtier0.so の読み込み時にクラッシュループに陥ります)。これを削除すると、代わりにシステムのライブラリが読み込まれます。
- MetaMod:Source と SourceMod を mod フォルダ csgo/ にインストールし、次に NoLobbyReservation を追加します。予約のロックを取り除くのが NoLobbyReservation で、これがないとクライアントはまったく接続できません。すべての中で最も重要な部品です。
- server.cfg に GSLT を記入します:
sv_setsteamaccount YOUR_TOKEN - 本番ポートで全インターフェイスにバインドして起動します:
-ip 0.0.0.0 -port 27015 +sv_lan 0. -ip 0.0.0.0 がないと、サーバーが localhost にバインドしてしまい、誰も到達できないことがあります。 - 友達はゲームのコンソールから接続します:
connect YOUR_IP:27015
よくある落とし穴
- 「STEAM validation rejected」は、あなたのクライアントのバージョンとサーバーの app id が一致していないという意味です。2026 年の単体リリース版をプレイしている場合、それは別のアプリです。サーバーは 730 のままにして、CS2 の csgo_legacy ベータブランチのクライアントを使ってください。
- どこかのリポジトリから拾ってきたコンパイル済みの NoLobbyReservation の .smx は、読み込めないことがよくあります(別のバージョンの SourceMod 向けにコンパイルされているためです)。あなたの SourceMod に対して一から自分でコンパイルしてください。
- サーバーと同じ自宅ネットワークからテストすると、設定が正しくても失敗します。接続がルーターでヘアピンするためです。実際の外部接続からテストしてください。
あるいは、これ全部を省略する
Valve がもう更新しないゲームで、これだけ多くの可動部を動かし続けるのは大変です。2hours.gg なら、CS:GO サーバーはトークン、プラグイン、設定がすべて用意された状態で立ち上がります。サーバーを立ち上げ、マップを選び、友達が IP に接続するだけ。コンパイルするプラグインも、管理するトークンもありません。 CS:GO サーバーを立ち上げる.