再起動後にゲームサーバーが動かない

手動起動と自動起動を分け、サービスの実行条件を確認します。

対象systemdで管理するLinuxサーバー。例ではサービス名をminecraft.serviceとしています。
最初に確認すること

まず、サービスが存在するか・有効化されているか・起動に失敗していないかを確認します。SSHの画面で手動起動できることと、OS起動時に動くことは別です。

このページの内容
  1. 存在・有効化・起動状態を確認する
  2. サービスから見た実行条件を照合する
  3. 正常に起動するサービスだけ有効化する
  4. 再起動後に外部から入れるかまで確認する

存在・有効化・起動状態を確認する

サービス名は環境に合わせて読み替えてください。Unit not foundなら、その名前のサービスは登録されていません。新しい設定を作る前に、すでに使っている起動方法がないか確認します。

systemctl status minecraft.service --no-pager
systemctl is-enabled minecraft.service
journalctl -u minecraft.service -b -n 60 --no-pager

サービスから見た実行条件を照合する

手動では動くのにサービスでは失敗する場合は、実行ユーザー、作業ディレクトリ、Javaの実行パス、ファイルの所有者を確認します。シェルで設定した環境変数が、そのままサービスへ渡るとは限りません。

自動再起動を設定する場合も、エラーが高速に繰り返されないよう再試行間隔を考えます。起動に必要なメモリと、OSに残すメモリも確認してください。

正常に起動するサービスだけ有効化する

既存サービスの設定と停止方法を確認し、手動で正常に起動・停止できる状態にしてから有効化します。次のenableは、今すぐサーバーを起動する操作ではありません。

sudo systemctl enable minecraft.service

# 自動起動を元に戻す場合(現在のプロセスは停止しません)
sudo systemctl disable minecraft.service

再起動後に外部から入れるかまで確認する

ワールドをバックアップし、停止時間を利用者と調整したうえでOSを再起動します。起動ログとゲーム内への接続を確認し、サービスがactiveになっただけで作業完了にしないようにします。

参照した公式資料

資料確認日:2026年9月12日。公式資料と一般的な確認手順をもとに作成しています。すべてのOS・ルーター・ゲームの組み合わせを実機検証したものではありません。