目次
ARKサーバーで管理者コマンドを有効化する手順と設定ポイント
AR K(ARK : Survival Evolved)の専用サーバーを運営していると、ゲーム内で直接実行できる管理者コマンド(例:giveItemNum、cheat、Kill など)を使用したい場面が必ずあります。
この記事では、バンドル(SteamCMD)方式で構築したサーバーから、Linux と Windows 両方の環境で管理者コマンドを正常に有効化し、実行できるようにする具体的な手順と、設定時に注意すべきポイントを網羅します。
注記
- ここで扱う設定は AR K 5.x 系のデフォルト構成をベースにしています。
- “SteamCMD” でのインストールと起動方法は前提知識としておき、主に設定ファイルの編集に焦点を当てます。
1. サーバーを運営する前提条件
| 項目 | 内容 |
|---|---|
| OS | Linux (例: Ubuntu 20.04) / Windows 10/11 |
| SteamCMD | 最新バージョン(ゲーム更新時には自動更新) |
| ポート | デフォルトは 7777, 7778 (RCON) も必要 |
| 管理者権限 | サーバーの管理者は Steam アカウント または ゲーム内管理者 のいずれかである必要 |
| RCON | 遠隔から管理者コマンドを実行するために必須。RCON パスワードを設定 |
2. まずはサーバーを起動! ※起動コマンドは OS により大きく異なる
2‑1. Linux での起動例
# ディレクトリ移動
cd ~/ARK/ARKDS
# サーバー起動
./ShooterGameServer "ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini" \
-server -log -Port=7777 -QueryPort=8888 -RCONPort=7778 \
-RCONServerPassword="rcon_password_here" \
+ExecCmdLine="cvar AdminPassword=admin_pass_here" \
+ExecCmdLine="cvar bAlwaysAllowCheats=true"
ポイント
-RCONServerPasswordで外部から RCON で接続できるパスワードを設定。+ExecCmdLineを利用して起動時にいくつかの CVar(Console Variable)を一括設定できる。- cvar bAlwaysAllowCheats=true :全ユーザーでチートコマンドを許可(※運営上必要に応じて変更)
2‑2. Windows での起動例
@echo off
cd "%~dp0"
ShooterGameServer.exe ShooterGame\Saved\Config\WindowsServer\GameUserSettings.ini ^
-server -log -Port=7777 -QueryPort=8888 -RCONPort=7778 ^
-RCONServerPassword="rcon_password_here" ^
+ExecCmdLine="cvar AdminPassword=admin_pass_here" ^
+ExecCmdLine="cvar bAlwaysAllowCheats=true"
Windows ではコロンやセミコロンの位置に注意し、 ^(改行)で長い行を分割しています。
RCON のパスワードは必ず安全に保管
ほとんどの場合、ゲーム内やGameUserSettings.iniには RCON のパスワードを記載しない方が安全です。
3. Game.ini を使って管理者権限を明示的に付与
3‑1. Game.ini への書き込み
サーバーの ShooterGame\Saved\Config\WindowsServer や LinuxServer ディレクトリにある Game.ini に、管理者ユーザーのリストを明示的に追加します。
以下は Steam ID を使った設定例です。
[/Script/Engine.GameSession]
bAllowCheats=true ; チートを全体に許可
AdminLogin=True ; ゲーム内で Admin 権限を必要とする設定
; ここに「管理者リスト」を追加
AdminUserList=(SteamID=12345678901234567), (SteamID=23456789012345678)
注意
AdminLogin=Trueは、ゲーム内で「Admin」ロールを要求する設定です。AdminUserListに追加された Steam ID のプレイヤーは、接続時に自動で管理者権限を取得します。
3‑2. 「管理者リスト」の取得方法
| 手順 | 方法 |
|---|---|
| ① | ゲーム内コンソールで steam://connect/ でサーバーに接続 |
| ② | RCON またはゲーム内コンソール ServerAdmin で getServerInfo コマンドを実行 |
| ③ | 出力に Steam ID が表示されるので、その数値をコピー |
| ④ | Game.ini に追加 |
TIP
公式パッチ 5.1.1 以降では、AdminUserListの記述にSteamIDの代わりにDiscordUserIDを使うこともできます(デフォルトは無効)。
SteamID以外の認証方式を使う場合はAuthMode=Discordを有効にする必要があります。
4. RCON を実際に使ってコマンドを実行
RCON クライアント(例:SteamCMD ライブラリ内の rcon コマンド、またはサードパーティ製ツール)を用って、サーバーに接続し管理者コマンドを実行します。
4‑1. RCON 接続例(Linux)
# 事前に rcon-client をインストール(Ubuntu なら apt, Node.js の rcon-client npm パッケージも可)
# ここでは簡易的に socat を使って RCON パスワードを送ります
echo -e "connect 127.0.0.1 7778\npassword rcon_password_here\nchat 1 Hello, Admin!\nquit" | socat - TCP-LISTEN:7778
4‑2. RCON 接続例(Windows)
powershell -Command "& {
$client = New-Object System.Net.Sockets.TcpClient('127.0.0.1',7778);
$stream = $client.GetStream();
$writer = New-Object System.IO.StreamWriter($stream);
Write-Host 'Connecting...';
# RCON Password
$writer.WriteLine('connect 127.0.0.1 7778');
$writer.WriteLine('password rcon_password_here');
# コマンド例:プレイヤー全員にメッセージ
$writer.WriteLine('chat 1 Admin says Hi!');
$writer.WriteLine('quit');
$writer.Flush();
$reader = New-Object System.IO.StreamReader($stream);
$reader.ReadToEnd();
}"
4‑3. よく使う管理者コマンド一覧
| コマンド | 目的 | 例 |
|---|---|---|
giveItemNum |
アイテムを入手 | giveItemNum 01C1 0 0 9999 0 0 |
cheat Kill |
プレイヤーを一瞬で倒す | cheat Kill Player |
cheat Teleport |
オーバーサイクリックで他プレイヤーにテレポート | cheat TeleportPlayer 12345678 0 0 0 |
cheat SetLevel |
プレイヤーのレベルを上げる | cheat SetLevel 12345678 200 |
cheat SetMaxHealth |
最大HPを上げる | cheat SetMaxHealth 12345678 500 |
ヒント
コマンドはすべてcheatキーワードから始まることに注意。
ただし、bAlwaysAllowCheatsがfalseの場合はcheatコマンドは無効化されます。
5. 管理者コマンドを有効化する際の設定ポイント
| ポイント | 詳細 | 参考 |
|---|---|---|
| RCON パスワード | 通信の暗号化はされていないため、強固なパスワードが必須 | -RCONServerPassword="..." |
| bAlwaysAllowCheats | true で全チートコマンド許可。false だと管理者でなくては実行不可 |
cvar bAlwaysAllowCheats=true |
| AdminLogin | ゲーム内での Admin 権限を必要にするか | AdminLogin=True |
| ConsoleCommand | ゲーム開始時に一括設定したい CVar がある場合 | +ExecCmdLine="cvar ..." |
| Port/PortRange | サーバー本体と RCON が分離されていると、異なるコンピュータからコマンド実行が容易 | -Port=、-RCONPort= |
| SteamID | 適切に登録しておくことで、リモートでの権限管理が簡便 | AdminUserList=(SteamID=...) |
| ファイアウォール設定 | RCON ポート(7778 デフォルト)を開放しないと外部から接続不可 | ufw / iptables / Windows Firewall |
注意点
- 管理者コマンド を有効化することで、サーバーの安定性にリスクが増します。
- サーバーログ(
Logsディレクトリ)を定期確認し、不審なコマンド や 異常行動 を検知してください。- もし不正に管理者権限を持つプレイヤーが現れた場合、即座に RCON パスワードを変更し、
AdminUserListから削除する必要があります。
6. トラブルシューティング
| 兆候 | 原因 | 対処 |
|---|---|---|
| RCON 接続時に「Password not accepted」 | パスワードミス | -RCONServerPassword を再確認 |
| コマンド実行時に「Cheat Not Allowed」 | bAlwaysAllowCheats が false |
起動パラメータで +ExecCmdLine="cvar bAlwaysAllowCheats=true" を追加 |
AdminUserList に追加したユーザーも管理者権限が付与されない |
SteamID が間違っている | steam:// で確認し直す |
| サーバーが頻繁にクラッシュ | チートコマンドの過剰使用 | チルトスクリプト(例:cheat SetMaxHealth)を減らす |
| RCON が途中でタイムアウト | ファイアウォールが RCON ポートをブロック | ufw allow 7778/tcp もしくは iptables で許可 |
7. サーバー保守時におすすめの習慣
-
定期的にサーバーを再起動
キャッシュやメモリリークを防止し、最新のパッチを正しく適用できます。 -
設定ファイルのバックアップ
Game.ini、Engine.ini、GameUserSettings.iniを常に別のディレクトリにコピー。 -
ログ出力レベルを上げる
-logだけでなく+ExecCmdLine="cvar LogLevel=3"を設定すると詳細な情報が取得できます。 -
RCON パスワードを共有しない
RCON 接続情報は管理者間でのみ共有し、外部に漏れないように。 -
チートコマンドの使用を監査
cheatコマンドが実行されたログを自動で抽出し、運営側で確認できるようにするとよいです。
まとめ
-
RCON パスワード を必ず設定し、bAlwaysAllowCheats を
trueにしておくと管理者コマンドが実行可能。 -
AdminUserListで Steam ID を明示することで、ゲーム内で自動的に管理者権限が付与されます。 -
起動時に
+ExecCmdLine="cvar ..."を使うと、単一の起動コマンドで複数の CVar を変更でき、設定ミスを防止できます。 - RCON クライアントで、
teleport,kill,giveItemNumなどのコマンドを遠隔操作してサーバー運営がスムーズに。
これらを押さえるだけで、ARK サーバーにおける管理者コマンドの運用が一目で分かるようになります。ぜひサーバー構築の初期段階で設定を確定しておき、安全かつスムーズにプレイヤーとともにゲームを進めてください。