ARK: Survival Ascended(ASA)のサーバーをLinuxで運用するなら、POK-managerという管理ツールを使う方法があります。Dockerイメージと管理スクリプトがセットになっており、MODの追加・再起動の予告メッセージ・本体の自動更新・バックアップを、いずれも設定値かコマンド1つで扱えます。

Proton入りDockerイメージでASAサーバーを立てる方法ではcomposeを直接編集する構成を紹介しました。この記事はその代わりになる選択肢です。 運用の仕組みを自分で組まずに済ませたい場合、こちらのほうが手数は少なくなります。

必要なもの

スクリプトを取得する

作業用ディレクトリを作り、リポジトリから管理スクリプト本体と既定設定(defaults)を取り出します。

mkdir -p ~/asa-server && cd ~/asa-server
git clone https://github.com/Acekorneya/Ark-Survival-Ascended-Server.git
mv Ark-Survival-Ascended-Server/POK-manager.sh .
chmod +x POK-manager.sh
mv Ark-Survival-Ascended-Server/defaults .
rm -rf Ark-Survival-Ascended-Server

取得できたかはバージョン表示で確認します(検証環境では2.1.81が表示され、取得から実行まで確認済み。2026年9月3日)。

./POK-manager.sh -version

導入とインスタンス作成

管理スクリプトを配置したディレクトリで作業します。サーバーはインスタンスという単位で管理し、1台のマシンに複数のインスタンスを作れます。

./POK-manager.sh -create <インスタンス名>

実行すると設定の一覧が表示され、変えたい項目名を入力して修正し、confirmで確定する対話式の流れになります。既定値は次のとおりです(実測)。

設定既定値
Memory Limit16G
Map NameTheIsland
Session NameMyServer
Admin Passwordmyadminpassword
Server Password(空)
ASA Port / RCON Port7777 / 27020
Max Players70
Restart Notice30(分)
Update Server / IntervalTRUE / 24(時間)
RCON EnabledTRUE

管理者パスワードの既定値はmyadminpasswordのままです。この状態で公開すると誰でも管理者コマンドを実行できてしまうため、作成時に必ず変更してください。サーバーパスワードも既定は空(誰でも参加可能)です。

確定すると、インスタンス用のディレクトリとdocker-compose-<インスタンス名>.yamlが生成されます。

生成される設定ファイル

生成されたcomposeの環境変数が、そのまま運用の設定項目になります。主要なものを抜き出します。

environment:
  - INSTANCE_NAME=<インスタンス名>
  - TZ=Asia/Tokyo
  - MAP_NAME=TheIsland
  - SESSION_NAME=<サーバー名>
  - SERVER_ADMIN_PASSWORD=<管理者パスワード>
  - SERVER_PASSWORD=<参加パスワード>
  - ASA_PORT=7777
  - RCON_PORT=27020
  - MAX_PLAYERS=70
  - MOD_IDS=
  - RESTART_NOTICE_MINUTES=30
  - ENABLE_MOTD=FALSE
  - MOTD=<初回参加時のメッセージ>
  - UPDATE_SERVER=TRUE
  - CHECK_FOR_UPDATE_INTERVAL=24

タイムゾーン(TZ)はAsia/Tokyoにしておくと、更新の時間帯指定やログの時刻が日本時間になります。

ボリュームは3つ設定され、サーバー本体・インスタンスのセーブデータ・クラスター用データがそれぞれホスト側に置かれます。サーバー本体はインスタンス間で共有されます。そのため2つ目のインスタンスを作っても、12.8GBを再度ダウンロードする必要はありません。

倍率などゲーム内設定の実例はASAサーバーの設定例で公開しています。

起動と確認

./POK-manager.sh -start <インスタンス名>

初回はサーバー本体のダウンロードが走るため、起動完了まで時間がかかります。進行はログで確認できます。

./POK-manager.sh -logs -live <インスタンス名>

ダウンロード中は進捗が数値で流れます。

Update state (0x61) downloading, progress: 17.46 (2242925523 / 12845773253)

待受ポートはホスト側で確認できます。ゲームがUDP/TCPの7777、RCONがTCPの27020です。

ss -lntup | grep -E '7777|27020'

ダウンロードが終わったあとは以下のように起動ログが出ます。

Full Startup: 51.09 seconds
====== SERVER FULLY STARTED ======

運用コマンド

日々の運用はスクリプト経由で完結します。インスタンス名の代わりに-allを指定すると全インスタンスが対象になります。

コマンド内容
-start / -stop起動・停止
-restart [分]指定した分数の予告つきで再起動
-shutdown [分]予告つきで停止
-chat "<本文>"ゲーム内チャットへメッセージを送る
-saveworldワールドを保存
-backup / -restoreバックアップの取得・復元
-status状態の表示
-logs [-live]ログの表示
-listインスタンス一覧
-updateサーバー本体とイメージの更新確認

参加者がいる時間帯の再起動は、予告つきの-restartを使います。

./POK-manager.sh -restart 10 <インスタンス名>

RESTART_NOTICE_MINUTESは、自動更新などで再起動が必要になったとき、何分前から予告するかの設定です。既定は30分です。

cronでの定期再起動や告知の流れ方はASAサーバーの定期再起動と告知にまとめています。

MODを入れる

MOD_IDSにCurseForgeのプロジェクトIDをカンマ区切りで書きます。

- MOD_IDS=929420,928708

この値はGameUserSettings.iniのActiveModsへ反映されます。iniを直接編集しても起動時に上書きされるため、設定はcompose側で管理してください。ID の調べ方や参加者側の準備はASAサーバーへのMOD導入にまとめています。

つまずきやすい点

ログに管理者パスワードが平文で残ります。サーバーはコマンドライン全体をログに記録するため、そこにServerAdminPasswordの値が含まれます。不具合の相談などでログを共有するときは、必ずパスワード部分を伏せてください。

スクリプトの実行ユーザーにはsudo権限が要ります。 このとき、ファイル権限の自動修正に失敗した旨の警告が出ています。処理自体は継続します。 警告が出た場合は、案内どおりsudo ./POK-manager.sh -fixを実行してください。

-statusがSteamの認証情報を求めることがあります。検証環境では、STEAM_USERNAMEとSTEAM_PASSWORDをcomposeに追加するよう促すメッセージが表示されました。サーバー本体のダウンロード自体は認証なしで進むため、状態表示だけが使えない状態でも運用は継続できます。

ポートはファイアウォールでも開ける必要があります。Dockerが待ち受けていても、OS側のufwやVPS事業者のパケットフィルターで許可しなければ外部から接続できません。RCONポートは外部に公開しない運用が安全です。

複数インスタンスを動かす場合はポートをずらします。既定のままでは2つ目が同じ7777を使おうとして衝突します。

よくある質問

既存の構築済みサーバから乗り換えられますか

セーブデータを新しいインスタンスのSavedディレクトリへ移せば引き継げます。移行前に必ずバックアップを取ってください。

メモリ16GBは必須ですか

最低でも16GB以上を推奨します。MODや同時接続数によって必要量は変わるため、余裕を見たプラン選びをおすすめします。

自動更新は勝手に再起動しますか

UPDATE_SERVER=TRUEのとき、指定した間隔で更新を確認します。更新が必要な場合は予告のうえ再起動が入るため、更新を適用する時間帯を参加者の少ない時間に寄せておくと影響を抑えられます。

まとめ

  • POK-managerはASAサーバーの構築と運用をコマンドでまとめて扱える管理ツール
  • インスタンス作成は対話式。管理者パスワードの既定値は必ず変更する
  • MODはMOD_IDS、再起動の予告はRESTART_NOTICE_MINUTESと-restart [分]で扱う
  • 運用の作り込みを省きたいならPOK-manager、構成を把握したいならcompose直接編集の方式で構築する

参考リンク