ゲームサーバーは、定期的な再起動によってメモリリークを解消し、設定変更を適用し、長時間のプレイセッションを通じてパフォーマンスを安定させることができます。このガイドでは、GPanel の Schedules 機能を使用して自動的にスケジュールされた再起動を設定する方法を紹介します。これにより、手動操作なしでサーバーを健全な状態に保てます。
なぜ再起動をスケジュールするのか?
ほとんどのゲームサーバーは、時間の経過とともにメモリ使用量と一時データが蓄積されます。定期的な再起動を行わないと、次のような現象に気づくことがあります。
- ラグやラバーバンディングの増加 — RAM 使用量が数時間から数日かけて上昇するにつれて発生します
- エンティティやチャンクの読み込みの低速化 — Minecraft や Project Zomboid のようなゲームで発生します
- Mod 関連のメモリリーク — サーバーを完全に再起動したときにのみリセットされます
- 設定変更の適用の遅延 — 反映に再起動を必要とするものです
6〜12 時間ごとのスケジュールされた再起動が最も一般的な設定であり、これらの問題の大部分を防止します。
前提条件
- Legion Hosting のアクティブなゲームサーバー
- アカウントの認証情報による GPanel へのアクセス
- サーバーは Running 状態である必要があります(特に設定しない限り、スケジュールはサーバーがオンラインのときにのみトリガーされます)
ステップ 1: Schedules タブを開く
- GPanel にログインし、サーバーリストからサーバーを選択します。
- 左サイドバーで Schedules タブをクリックします。
- 既存のスケジュールのリストが表示されます。新しいサーバーの場合、リストは空です。
ステップ 2: 新しいスケジュールを作成する
- Create Schedule ボタンをクリックします。
- スケジュールの Name を入力します —
Auto Restart Every 6 Hoursのような分かりやすいものにします。 - スケジュールが実行されるタイミングを制御するために Cron Expression を設定します。一般的な例については以下のセクションを参照してください。
- Enabled がオンになっていることを確認します。
- Save をクリックしてスケジュールを作成します。
ステップ 3: スケジュールに再起動タスクを追加する
- スケジュールを保存した後、その名前をクリックして開きます。
- Tasks セクションの下で New Task をクリックします。
- Action を Send power action に設定します。
- Payload を Restart に設定します。
- Time Offset を
0秒に設定します(これはスケジュール発火時にタスクが即座に実行されることを意味します)。 - Save をクリックします。
これでスケジュールされた再起動が有効になりました。サーバーは、設定した cron 式に従って自動的に再起動します。
Cron 式を理解する
GPanel は、スケジュールが実行されるタイミングを定義するために cron 式を使用します。cron 式は、スペースで区切られた 5 つのフィールドを持ちます。
Minute Hour Day-of-Month Month Day-of-Week
* * * * *
| フィールド | 許可される値 | 説明 |
|---|---|---|
| Minute | 0–59 | タスクが実行される時刻の分 |
| Hour | 0–23 | 1 日のうちの時刻(24 時間形式) |
| Day of Month | 1–31 | 月の日 |
| Month | 1–12 | 年の月 |
| Day of Week | 0–6 (0 = 日曜日) | 曜日 |
特殊文字:
*— すべての値に一致します(ワイルドカード)*/N— N 間隔ごとに一致します(例: Hour フィールドの*/6は 6 時間ごとを意味します),— 複数の値を区切ります(例:0,12は 0 時と 12 時を意味します)
一般的な再起動スケジュール
最も人気のある再起動間隔と、GPanel で使用する cron 式は次のとおりです。
| 再起動の頻度 | Cron 式 | 再起動時刻(サーバー時刻) |
|---|---|---|
| 6 時間ごと | 0 */6 * * * |
午前 0:00、午前 6:00、午後 12:00、午後 6:00 |
| 8 時間ごと | 0 */8 * * * |
午前 0:00、午前 8:00、午後 4:00 |
| 12 時間ごと | 0 0,12 * * * |
午前 0:00、午後 12:00 |
| 1 日 1 回(午前 4:00) | 0 4 * * * |
午前 4:00 |
| 1 日 1 回(午前 6:00) | 0 6 * * * |
午前 6:00 |
| 3 時間ごと | 0 */3 * * * |
午前 0 時、午前 3 時、午前 6 時、午前 9 時、午後 12 時、午後 3 時、午後 6 時、午後 9 時 |
再起動前にプレイヤーへ警告する
警告なしに再起動すると、プレイヤーの行動の途中で中断させてしまい、不満や進行状況の喪失につながる可能性があります。GPanel の Send Command タスクを使用して、再起動が行われる前にプレイヤーへ警告メッセージをブロードキャストできます。
仕組み
単一の再起動タスクの代わりに、同じスケジュール内に時間オフセットをずらして複数のタスクを作成します。
- オフセット
0での Send Command タスク。警告メッセージをブロードキャストします(例: "Server restarting in 5 minutes") - オフセット
240(4 分後)での Send Command タスク。最終警告を出します(例: "Server restarting in 1 minute") - オフセット
300(最初の警告から 5 分後)での Send power action → Restart タスク
0、1 分には 60、5 分には 300 などを使用します。
例: 警告付きの完全なスケジュール
5 分前の警告、1 分前の警告、そして再起動を含む完全なスケジュールは次のようになります。
| タスク # | Action | Payload / コマンド | Time Offset |
|---|---|---|---|
| 1 | Send command | (ゲーム固有の警告コマンド — 以下を参照) | 0 秒 |
| 2 | Send command | (ゲーム固有の最終警告コマンド) | 240 秒 |
| 3 | Send power action | Restart | 300 秒 |
ゲーム固有の警告コマンド
プレイヤーにメッセージをブロードキャストするために使用するコマンドは、ゲームによって異なります。以下は最も人気のあるゲームのコマンドです。
Project Zomboid
servermsg コマンドを使用して、接続中のすべてのプレイヤーにゲーム内メッセージを送信します。
servermsg "Server restarting in 5 minutes. Please find a safe location."
servermsg "Server restarting in 1 minute!"
Minecraft
say コマンドを使用して、すべてのプレイヤーにチャットメッセージをブロードキャストします。
say Server restarting in 5 minutes. Please save your progress.
say Server restarting in 1 minute!
ARK: Survival Ascended
broadcast コマンドを使用して、すべてのプレイヤーの画面にメッセージを表示します。
broadcast Server restarting in 5 minutes. Please find a safe location.
broadcast Server restarting in 1 minute!
ベストプラクティス
- オフピークの時間帯に再起動する。 サーバーに予測可能なプレイヤースケジュールがある場合は、オンラインのプレイヤーが最も少ないときに再起動の時刻を合わせます。午前 4:00 または午前 6:00 の毎日の再起動は、ほとんどのコミュニティでうまく機能します。
- 常に警告を含める。 たとえ 1 分前の警告でも、プレイヤーに安全な場所へ移動したり取引を終えたりする時間を与えます。5 分前の警告が理想的です。
- 再起動と合わせてバックアップを使用する。 お使いのゲームまたは GPanel が自動バックアップをサポートしている場合は、再起動前にバックアップをスケジュールしてください。これにより、何か問題が発生した場合でも常に最近のセーブが確保されます。
- 頻繁に再起動しすぎない。 1 時間ごとの再起動はほとんどのサーバーでは不要であり、プレイヤーを苛立たせます。既知のメモリリーク問題のある Mod を多用したサーバーを運営していない限り、6〜12 時間ごとが最適です。
- スケジュールをテストする。 スケジュールを作成した後、最初の予定トリガー時刻の後に戻って、再起動が行われたことを確認してください。再起動イベントについては GPanel の Console ログを確認します。
- スケジュールに分かりやすい名前を付ける。 各スケジュールが何をするかをすばやく識別できるよう、"6h Auto Restart with Warning" のような分かりやすい名前を使用してください。
既存のスケジュールの管理
GPanel の Schedules タブから、いつでもスケジュールを変更または無効にできます。
- スケジュールを編集するには: スケジュール名をクリックし、cron 式またはタスクを変更して、Save をクリックします。
- スケジュールを一時的に無効にするには: スケジュールを開いて Enabled をオフにします。スケジュールは保存されたままですが、再度有効にするまで発火しません。
- スケジュールを削除するには: スケジュールの横にある削除アイコンをクリックします。これによりスケジュールが完全に削除されます。
トラブルシューティング
| 問題 | 確認すべきこと |
|---|---|
| スケジュールが発火しない | スケジュールを開き、Enabled がオンになっていることを確認します。cron 式を再確認してください — よくある間違いはフィールドの順序が正しくないことです。スケジュールがトリガーされるはずのときにサーバーがオンラインであることを確認してください。 |
| 再起動は行われるが警告メッセージが表示されない | Send Command タスクがお使いのゲームに正しいコマンドを使用していることを確認してください。時間オフセットが再起動タスクのオフセットより小さいことを確認します(例: 警告は 0 秒、再起動は 300 秒)。 |
| 再起動後にサーバーがオンラインに戻らない | 起動エラーについて GPanel の Console を確認してください。シャットダウン中にサーバーがクラッシュした場合、正常に再起動しないことがあります。GPanel から手動で Start を試してください。問題が解決しない場合は、サポートチケットを開いてください。 |
| cron 式が受け付けられない | GPanel は cron 式に正確に 5 つのフィールド(分、時、月の日、月、曜日)を必要とします。秒のフィールドは含めないでください。余分なスペースや特殊文字がないことを確認してください。 |
| 警告コマンドは送信されるがプレイヤーに表示されない | 一部のゲームは特定の形式を必要とします。Project Zomboid の場合、メッセージは引用符で囲む必要があります: servermsg "Your message here"。Minecraft の場合、say は引用符を使用しません。上記のゲーム固有のセクションを確認してください。 |
サポートが必要ですか?
スケジュールされた再起動の設定に問題がある場合、またはスケジュールが期待どおりに動作しない場合は、サポートチケットを開き、以下を記載してください。
- GPanel のサーバー名
- 使用している cron 式
- 何が起きているか(または起きていないか)の説明
サポートチームがスケジュールを正しく設定するお手伝いをいたします。