RCONは、サーバーコンソールにネットワーク越しでアクセスする仕組みです。 有効化に必要なのはserver.propertiesの4項目だけです。 ただし通信が暗号化されない仕様のため、サーバー内(localhost)からの接続が推奨されています。 この記事では設定・接続ツール・安全な運用指針・参加型での活用場面を解説します。

RCONとは

RCONを有効化すると、ネットワーク越しにサーバーコンソールへアクセスできます。 ゲームへログインしなくても管理コマンドを実行できるため、マルチサーバー運営と相性がよい仕組みです。

有効化: server.propertiesの4項目

設定は次の4つです。

設定既定値内容
enable-rconfalseRCONを有効にする
rcon.port25575RCONが待ち受けるTCPポート
rcon.password(空)RCONのパスワード
broadcast-rcon-to-opstrueコマンド出力をオンライン中の全オペレーターへ送信

rcon.passwordが空のままだと、安全装置としてRCONは起動しません。有効化の際は必ずパスワードも設定してください。 server.propertiesの編集の基本は設定解説の記事を参照してください。

なお、上記の既定値はバニラ(server.jarで直接構築した場合)の場合です。 itzgイメージなどのDocker構成では、コンテナ内でRCONが既定で有効になっていることがあります(バックアップ記事のmc-backupはこれを利用)。 composeでRCONのポートを公開しない限り外部からは届かないため、開放しない方針はどちらの構成でも同じです。

接続ツール①: mcrcon

mcrconは、リモート管理とメンテナンススクリプトのためのコンソール型RCONクライアントです。Linux・Windows向けのビルド済みバイナリが配布されています。

オプション意味
-H接続先(既定: localhost)
-Pポート(既定: 25575)
-pパスワード
-t対話モード
-wコマンド間の待機秒数(1〜600)

公式READMEには、告知→セーブ→停止を5秒間隔で実行する例が載っています。

mcrcon -H my.minecraft.server -p password -w 5 "say Server is restarting!" save-all stop

接続先やパスワードは環境変数(MCRCON_HOST・MCRCON_PORT・MCRCON_PASS)でも指定できます。パスワードをコマンド履歴へ残したくない場合に便利です。

接続ツール②: rcon-cli

itzg/rcon-cliは、引数なしで対話モード、引数を付けると1コマンド実行モードになるCLIツールです。 ホームディレクトリの.rcon-cli.yamlへ事前に接続先・ポート・パスワードを書いておけます。

注意点は既定ポートが27015なことです。Minecraftの既定(25575)と異なるため、--portか設定ファイルで明示的に指定してください。

安全な運用: 通信は暗号化されない

RCONの通信は暗号化されず、パスワードを含む全データが傍受されうるとされています。 インターネットなど信頼できないネットワーク経由の接続は非推奨で、理想としてlocalhostからのみの接続が挙げられています。

この警告に沿った実践指針は次のとおりです。

  • RCONのポート(既定25575)はファイアウォールやVPSのパケットフィルタで開放しない
  • VPSならSSHでログインし、サーバーの中からlocalhost宛てに実行する
  • パスワードは使い回しを避け、長く推測されにくいものにする

マルチサーバーでの活用場面

よくある質問

RCONに接続できません

次の3点を確認してください。

  1. enable-rconがtrueになっているか
  2. rcon.passwordが空になっていないか(空だと安全装置でRCONが起動しない)
  3. ポート番号が接続側とserver.properties側で一致しているか

rcon-cliだけ接続できません

rcon-cliの既定ポートは27015で、Minecraftの既定25575と異なります。--portか設定ファイルで25575を指定してください。

パスワードなしで運用できますか

できません。rcon.passwordが空の場合、RCONは安全装置として起動しない仕様です。

まとめ

  • 有効化はserver.propertiesの4項目。パスワードが空だと起動しない
  • 接続はmcrconやrcon-cliなどのクライアントで行う。rcon-cliは既定ポートに注意
  • 通信は暗号化されない。ポートを開放せず、サーバー内からlocalhost宛てに実行する
  • 既定設定では、操作の出力がopにも見える

RCONは非常に便利な仕組みなので、まずはサーバー内で接続を試し、動作確認ののち運用ルールへの組み込みを検討してみてください。

参考リンク