ARK: Survival Evolved のサーバーに対してゲームにログインせずにリモートで管理者コマンドを実行できる RCON についてご紹介したいと思います。これができると、ARK のサーバのメンテナンスが非常に楽になります。
RCONとは
RCON はゲーム外から ARK のサーバプログラムに管理者コマンドを実行させることができる仕組みです。
通常であればゲームにログインし、コンソールから管理者パスワードで認証した上で管理者コマンドを実行することができます。
ですが、サーバのアップデートや再起動などのメンテナンスのために、わざわざゲームクライアントを立ち上げてログインするのは面倒ですよね。そんな時にゲームへのログインなしで外部から管理者コマンドを実行できる RCON という仕組みが役立ちます。
RCONによるコマンドを受け付ける準備
RCONの有効化と接続ポートの指定
ARK のサーバプログラム起動時のパラメータで、RCON の有効化とコマンドを受け付ける通信ポートの指定を行う必要があります。
指定が必要なパラメータは以下の通りです。
RCONEnabled=TrueRCON を有効化するパラメータです。
RCON でコマンドを受け付けるポート番号を指定するパラメータです。
サーバー起動時のパラメータ例:
$ ./ShooterGameServer TheIsland?Listen?SessionName=TaroImo_Private_Server?ServerPassword=Tar0Im0?ServerAdminPassword=Tar0Im0Admin?RCONEnabled=True?RCONPort=32330 -server -log -NoBattlEye
その他のパラメータの説明については、以下の記事で解説していますので、そちらをご参照ください。
【ARK: Survival Evolved】個人サーバを構築しよう
【ARK: Survival Evolved】個人サーバを構築しよう(Windows編)
ポートの開放
VPS を提供しているサービス側や OS で RCON のポートへの通信を許可するように設定します。
同じサーバー上から RCON でコマンドを送信する場合はポート開放は不要です。
なお、この記事では設定方法は割愛します。「さくらのVPS」が提供しているパケットフィルタの設定方法については、以下の記事でも方法を解説していますので、ご参照ください。
【ARK: Survival Evolved】個人サーバを構築しよう
Windows 上のファイアウォールの設定については、以下の記事でも方法を解説していますので、ご参照ください。
【ARK: Survival Evolved】個人サーバを構築しよう(Windows編)
コマンド送信するクライアントのインストール
ARK のサーバープログラムに対して RCON で管理者コマンドを送信するプログラムをインストールします。
同じサーバー上にインストールしても良いですし、自分のPCなどにインストールして遠隔で管理者コマンドを送ることもできます。
探してみた限り様々な種類の RCON Tool が開発されているようでしたので、ここで紹介するのはその一部となります。
Windows
(1)「mcrcon」のダウンロード
以下のサイトから mcrcon というツールをダウンロードし、zipファイルを展開します。
Minecraft サーバー用のツールということですが、ARK のサーバプログラムにもコマンドを送信することができます。
(2)コマンドプロンプトを起動
Windowsキー + Rキーで「ファイル名を指定して実行」ダイアログを表示させます。その後、「cmd」と入力し Enterキーを押すとコマンドプロンプトが起動します。
(3)mcrcon の展開先に移動
以下のように cdコマンドを入力して、mcrcon を展開したフォルダに移動します。
> cd "C:\mcrcon\mcrcon-0.7.1-windows"
※展開先が「C:\mcrcon\mcrcon-0.7.1-windows」だった場合の例です。展開先のフォルダパスに合わせて修正してください。
(4)mcrcon を実行して管理者コマンドを送信
以下のようにコマンドを入力して、ARK のサーバープログラムに管理者コマンドを送信します。
> mcrcon.exe -H<サーバのIPアドレス> -P<RCONのポート番号> -p<ARKの管理者パスワード> "<管理者コマンド>"
ARK のサーバープログラムが動作しているサーバー上で mcrcon を実行する場合、IPアドレスには 127.0.0.1 と指定しても接続することができます。
以下はサーバープログラムの終了コマンド(DoExit)を送信する場合の例です。
以下はログインしているユーザー全員にメッセージを表示する場合の例です。
Linux
(1)「rcon」のインストール先ディレクトリを作成
rcon をインストールするディレクトリを作成し、作成したディレクトリに移動します。
# mkdir /opt/rcon
# cd /opt/rcon
(2)「rcon」のソースコードをダウンロード
rcon のソースコードをダウンロードします。
# wget http://www.dopefish.de/files/rcon.c
(3)「rcon」のソースコードをコンパイル
rcon のソースコードをコンパイルし、プログラムとして実行できるようにします。
# yum install gcc
# gcc -o rcon rcon.c
(4)管理者コマンドを実行
以下のようにコマンドを入力して、ARK のサーバープログラムに管理者コマンドを送信します。
# /opt/rcon/rcon -a<サーバのIPアドレス> -p<RCONのポート番号> -P<ARKの管理者パスワード> <管理者コマンド>
ARK のサーバープログラムが動作しているサーバー上で rcon を実行する場合、IPアドレスには 127.0.0.1 と指定しても接続することができます。
以下はサーバープログラムの終了コマンド(DoExit)を送信する場合の例です。
以下はログインしているユーザー全員にメッセージを表示する場合の例です。
最後に
ゲーム外から管理者コマンドを送信できると、あらかじめバッチファイルやスクリプトを作っておいて次回から簡単に管理者コマンドを実行できるようになります。
また、Linux上でサービス化した場合に安全に停止させられるようになりますし、定期的な再起動などを自動化することもできます。
サーバー管理の幅が広がりますので、是非活用してみてください。
実行できる管理者コマンドについては以下のページが参考になると思います。
ARK:Survival Evolved PS4 Wiki* - 管理者コマンド
ARK SURVIVAL EVOLVED WIKI - Console Commands
皮脂や唾、手垢、汗などで表面は見えない雑菌だらけです。 衛生上も問題ですし、気持ち良く使うためにも、こまめに拭きとってキレイにしましょう。