ゲームサーバーを定期的に再起動するとメモリが解放され更新も適用されますが、プレイヤーへの事前警告が必要です。このツールは、警告と再起動のスクリプトと、Linux(cronまたはsystemd)やWindows用のスケジュールを作成します。
ツールの使い方
プラットフォーム(cron、systemd、Windows)、再起動時刻、曜日を選びます。
再起動前の警告(分)、メッセージ、ゲームのチャットコマンドを指定します。
RCONクライアント(ホスト、ポート)、保存コマンド、サービス名を入力します。
各ブロックをコメントに記載のファイルに保存し、MCRCON_PASSを設定してスケジュールを有効にします。
スケジュールの仕組み
スケジュールされたタスクは最初の警告時刻(再起動時刻から最大の猶予を引いた時刻)に始まります。スクリプトは各警告を送り、次の警告までの差分だけ待ち、保存してからサービスを再起動します。30,15,5,1分で04:00に再起動なら、タスクは03:30に開始します。開始時刻が前日になる場合は曜日が自動でずれます。スクリプトは「-H ホスト -P ポート コマンド」構文のRCONクライアント(mcrcon)を前提としており、他のクライアントではsend()の行を調整してください。メッセージの構文はゲームごとに異なるため、RCONコマンド早見表で確認を。
sudo mkdir -p /etc/gameserver
echo 'MCRCON_PASS=ChangeMe!' | sudo tee /etc/gameserver/rcon.env
sudo chmod 600 /etc/gameserver/rcon.envよくある質問
- RCONパスワードはスクリプトに入りますか?
- 入りません。スクリプトは環境変数MCRCON_PASS(mcrconが認識)を読みます。読み取り専用ファイル(chmod 600)またはWindowsのシステム環境変数に保存してください。
- cron、systemd、Windowsタスクのどれ?
- Linuxではsystemdがログとエラー処理(journalctl)を提供し、cronはより簡単です。Windowsではschtasksでタスクスケジューラーを使います。
