ホーム » 未分類 » ARKサーバーで管理者コマンドを有効化する手順と設定ポイント

ARKサーバーで管理者コマンドを有効化する手順と設定ポイント

by

in

ARKサーバーで管理者コマンドを有効化する手順と設定ポイント

AR K(ARK : Survival Evolved)の専用サーバーを運営していると、ゲーム内で直接実行できる管理者コマンド(例:giveItemNumcheatKill など)を使用したい場面が必ずあります。
この記事では、バンドル(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\WindowsServerLinuxServer ディレクトリにある 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 またはゲーム内コンソール ServerAdmingetServerInfo コマンドを実行
出力に 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 キーワードから始まることに注意。
ただし、bAlwaysAllowCheatsfalse の場合は 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」 bAlwaysAllowCheatsfalse 起動パラメータで +ExecCmdLine="cvar bAlwaysAllowCheats=true" を追加
AdminUserList に追加したユーザーも管理者権限が付与されない SteamID が間違っている steam:// で確認し直す
サーバーが頻繁にクラッシュ チートコマンドの過剰使用 チルトスクリプト(例:cheat SetMaxHealth)を減らす
RCON が途中でタイムアウト ファイアウォールが RCON ポートをブロック ufw allow 7778/tcp もしくは iptables で許可

7. サーバー保守時におすすめの習慣

  1. 定期的にサーバーを再起動
    キャッシュやメモリリークを防止し、最新のパッチを正しく適用できます。
  2. 設定ファイルのバックアップ
    Game.iniEngine.iniGameUserSettings.ini を常に別のディレクトリにコピー。
  3. ログ出力レベルを上げる
    -log だけでなく +ExecCmdLine="cvar LogLevel=3" を設定すると詳細な情報が取得できます。
  4. RCON パスワードを共有しない
    RCON 接続情報は管理者間でのみ共有し、外部に漏れないように。
  5. チートコマンドの使用を監査
    cheat コマンドが実行されたログを自動で抽出し、運営側で確認できるようにするとよいです。

まとめ

  • RCON パスワード を必ず設定し、bAlwaysAllowCheatstrue にしておくと管理者コマンドが実行可能。
  • AdminUserList で Steam ID を明示することで、ゲーム内で自動的に管理者権限が付与されます。
  • 起動時に +ExecCmdLine="cvar ..." を使うと、単一の起動コマンドで複数の CVar を変更でき、設定ミスを防止できます。
  • RCON クライアントで、teleport, kill, giveItemNum などのコマンドを遠隔操作してサーバー運営がスムーズに。

これらを押さえるだけで、ARK サーバーにおける管理者コマンドの運用が一目で分かるようになります。ぜひサーバー構築の初期段階で設定を確定しておき、安全かつスムーズにプレイヤーとともにゲームを進めてください。

投稿者