ATLAS(SteamCMD AppID 1006030)は「グリッド」方式で、マップの各セルが相互に連携する別々のサーバープロセスです。通常のサーバーよりかなり複雑です。以下の情報はコミュニティのガイドと公式ツールServerGridEditorに基づいており、公式に文書化されていない点も複数あります。
手順ごとのインストール
OSとハードウェアを確認します(「必要条件」参照)。
SteamのコマンドラインツールSteamCMDをインストールします。
AppID 1006030(匿名ログイン)でATLASのサーバーファイルをダウンロードします。
一度サーバーを起動して設定ファイルを作成し、正常に停止します。
名前、パスワード、スロット、ルールをこのサイトのツールで設定します。
インターネットに公開する前に、ローカル(localhost / 127.0.0.1)で接続をテストします。
OSのファイアウォール、ホスティング側のファイアウォール、自宅ではルーター(NAT)でポートを開放します。
自動起動とクラッシュ後の再起動のため、サービス(systemdまたはWindowsタスクスケジューラ)を設定します。
アップデートとバックアップを予約し、定期的に再起動します。
プレイヤーが見つけられるよう、game-rank.comにサーバーを登録します。
必要条件
- OS:64ビットWindows(参照したガイドはWindowsのみ)。コミュニティのDockerイメージがLinuxサーバーを動かしていることからLinux版の存在がうかがえますが、ここでは公式に文書化されていません。
- ハードウェア:セルごとに1プロセスのため、グリッドが大きいほどRAMとCPUが必要です。公式の最低要件は未確認です。まず1x1グリッドで試してください。
- ツール:グリッドの定義とServerGrid.jsonの生成にServerGridEditor(GitHubのGrapeshotGamesリポジトリ)を使います。開発元の資料ではRedisデータベースがセルを連携させるとされています(ここでは再確認していません)。
- アカウント:不要。SteamCMDは匿名ログインで、ゲームが必要なのはプレイヤーだけです。
ローカルインストール(Windows)
SteamCMDでサーバーをダウンロードします。ServerGridEditorでテンプレート(Projects)を開き、Edit Projectで名前(Friendly Name)とパスワード(Atlas Password)を設定してグリッドを生成します。次に「ATLAS 起動コマンド」ツールでセルごとに.batファイルを作成します。最初のテストは1x1グリッドで127.0.0.1に接続します。
cd C:\steamcmd
steamcmd.exe +force_install_dir C:\atlas-server +login anonymous +app_update 1006030 validate +quit
REM One start.bat per grid cell (see the ATLAS launch command tool):
REM start /high ShooterGame\Binaries\Win64\ShooterGameServer.exe "Ocean?ServerX=0?ServerY=0?AltSaveDirectoryName=A1?..." -server -log -NoBattlEyeLinux VPS/専用サーバーへのインストール(Ubuntu/Debian)
VPSや専用サーバーではWindows Serverが最も確実です。ローカルインストールの手順に従ってください。参照した情報源ではネイティブLinuxの導入は公式に文書化されていません。コミュニティのDockerイメージを使う場合は、出所を確認し、実行前にコードを読んでください。
# Windows Server (PowerShell, administrator)
New-Item -ItemType Directory C:\steamcmd, C:\atlas-server
Invoke-WebRequest https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip -OutFile C:\steamcmd\steamcmd.zip
Expand-Archive C:\steamcmd\steamcmd.zip C:\steamcmd
C:\steamcmd\steamcmd.exe +force_install_dir C:\atlas-server +login anonymous +app_update 1006030 validate +quit開放するポート
ホスティング(OVH、Hetzner、Scalewayなど):OSのファイアウォールに加え、事業者のファイアウォール/セキュリティグループでも同じポートを開放します。自宅:各ポートを正しいプロトコル(UDP/TCP)で、できれば固定のローカルIPへポート転送(NAT)します。外部から(友人の接続やUDPポートテスターで)確認してください。UDPポートは単純なスキャンに応答しないことがあります。
- 各セルは独自のポートを持ちます:Port(ゲーム、UDP)とQueryPort(Steamクエリ、UDP)。参照したガイドでは5761と57561が例です。
- セル同士はシームレスに通信します。シームレス用データポートとRCONポートはServerGrid.jsonでセルごとに定義します(コミュニティイメージではシームレス27000、ゲーム/クエリ5750/57550などが見られますが、あくまで例です)。
- 全セルの全ポートを正しいプロトコルで開放し(ゲームとクエリはUDP、シームレス/RCONのプロトコルはServerGrid.jsonで確認)、ServerGrid.jsonと同期させてください。
Windowsファイアウォール(netsh)
実際のポートに合わせて範囲を調整してください(5761と57561を使う1x1グリッドの例)。
netsh advfirewall firewall add rule name="ATLAS UDP" dir=in action=allow protocol=UDP localport=5761,57561
REM Add the seamless/RCON ports from your ServerGrid.json with their protocol (TCP or UDP).自動起動と監視
起動時に各セルの.bat(またはそれらを呼ぶ1つのスクリプト)を実行するWindowsタスクを作成します。ATLAS向けの公式systemdユニットは文書化されていません。
schtasks /create /tn "ATLAS grid" /tr "C:\atlas-server\start-all.bat" /sc onstart /ru SYSTEM /rl HIGHESTアップデート
全セルを停止し、app_update 1006030 validateでSteamCMDを再実行して、セル間のバージョン差が出ないよう同時に再起動します。
C:\steamcmd\steamcmd.exe +force_install_dir C:\atlas-server +login anonymous +app_update 1006030 validate +quitバックアップと定期再起動
全セルを停止し、各インスタンスのShooterGame/Saved(AltSaveDirectoryName)、ServerGrid.json、Redisを使う場合はそのデータベースをコピーします。セーブの正確な場所は公式情報で確認できていないため、ご自身の環境で確認してください。
サーバーの登録と見つけ方
サーバーがインターネットから到達可能になったら https://game-rank.com/jeux/atlas に登録しましょう。プレイヤーが見つけて投票し、ランキングを追えます。クエリポートは開けておいてください。閉じているとサーバー一覧に表示されません。
トラブルシューティング
- サーバーが一覧に出ません。クエリポート(UDP)が閉じているか、一覧の更新に数分かかっています。IP:クエリポートで直接追加してみてください。
- ローカルでは接続できるがインターネットからは不可:OSのファイアウォール、ホスティングのセキュリティグループ、ポート転送(NAT)のいずれかが不足しています。各ルールのプロトコル(UDP/TCP)を確認してください。
- クライアントのバージョンが異なります。ゲームが更新されたので、サーバーを停止し、SteamCMDで「app_update … validate」を再実行して再起動してください。
- セル間の移動でプレイヤーが固まる:全セルでSeamlessIP、シームレスポート、共有データベースがServerGrid.jsonと一致しているか確認してください。
- 2つのセルが同じポートまたは同じAltSaveDirectoryNameを使っています。セルごとに固有のポートと保存名が必要です。
よくある質問
- ATLASサーバーを更新するには?
- サーバーを停止し、「アップデート」の節の「app_update」コマンド(validate付き)でSteamCMDを再実行して再起動します。大型アップデート前にバックアップを取ってください。
- ATLASサーバーをホストするのにゲームの購入は必要ですか?
- 不要です。専用サーバーはSteamCMDの匿名ログインで無料ダウンロードできます。ゲームが必要なのはプレイヤーだけです。
- アップデート前に何をバックアップすべきですか?
- ワールドのセーブフォルダーと設定フォルダー(「バックアップ」の節を参照)です。整合性のため、サーバー停止中にコピーしてください。
- ATLASにはサーバーがいくつ必要ですか?
- ServerGridEditorで定義したグリッドのセルごとに1プロセスです。1x1なら1つで、テストに最適です。
