RCONは、サーバーコンソールにネットワーク越しでアクセスする仕組みです。 有効化に必要なのはserver.propertiesの4項目だけです。 ただし通信が暗号化されない仕様のため、サーバー内(localhost)からの接続が推奨されています。 この記事では設定・接続ツール・安全な運用指針・参加型での活用場面を解説します。
RCONとは
RCONを有効化すると、ネットワーク越しにサーバーコンソールへアクセスできます。 ゲームへログインしなくても管理コマンドを実行できるため、マルチサーバー運営と相性がよい仕組みです。
有効化: server.propertiesの4項目
設定は次の4つです。
| 設定 | 既定値 | 内容 |
|---|---|---|
| enable-rcon | false | RCONを有効にする |
| rcon.port | 25575 | RCONが待ち受けるTCPポート |
| rcon.password | (空) | RCONのパスワード |
| broadcast-rcon-to-ops | true | コマンド出力をオンライン中の全オペレーターへ送信 |
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点を確認してください。
- enable-rconがtrueになっているか
- rcon.passwordが空になっていないか(空だと安全装置でRCONが起動しない)
- ポート番号が接続側と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は非常に便利な仕組みなので、まずはサーバー内で接続を試し、動作確認ののち運用ルールへの組み込みを検討してみてください。