経済サバイバルサーバー、参加者募集中

2026.09.15広告・PRを含む記事です

【初心者向け】マイクラサーバーを再起動する方法!手動・自動の両方を解説

マイクラサーバーを手動・自動で安全に再起動する方法を示すサムネイル
  • マイクラサーバーをどうやって再起動すればいいかわからない
  • 強制終了やウィンドウを閉じる方法でデータが消えてしまわないか心配
  • 毎回手動で再起動するのが面倒で、自動化する方法を知りたい

コマンドの名前も場所もわからないと、どこに何を入力するのかという前の段階で止まりやすいです。

基本はstopコマンドで停止してから起動し直すだけで、画面を閉じたり強制終了するとワールドデータが保存されないまま消えることがあります。

扱うのは手動と自動の2つだけです。

  • stopコマンドによる手動での安全な再起動手順
  • cronを使った定期自動再起動の設定方法

読み終わるころには、手動でも自動でも安全に再起動できるようになります。

管理人spaのアイコン
spaこの記事を書いた人

マイクラサーバーの構築と運用を繰り返して4年。今も経済サバイバル「spa77.works SMP」を運用中で、その経験をもとに記事100本以上を執筆。

手動でマイクラサーバーを再起動する基本の方法

マイクラサーバーの安全な再起動フロー。告知、保存、stop、起動、接続確認の順番で進める手順を示している

stopコマンドでサーバーを安全に停止させる

一番シンプルなのは、stopコマンドを使う方法です。

ゲーム内のチャット欄では/stop、サーバーのコンソール画面ではスラッシュを付けずにstopと入力します。

# ゲーム内チャット欄
/stop
# サーバーコンソール
stop

このコマンドで停止すると、ワールドデータが保存されてからサーバーが落ちる仕組みです。黒い画面の「×ボタン」で無理やり閉じるとセーブが間に合わずデータが壊れる危険があるため、必ずstopを使って終了させましょう。

初心者

シャットダウンって言葉がちょっと怖いけど、データはちゃんと保存されるんですね!

マイクラサーバーのバックアップ復元を示すサムネイル

【マイクラ】自宅・レンタルサーバーのバックアップ方法!復元・自動化まで解説

コンソールのログに停止完了の表示が出て、プロンプトへ戻ったことを確認してから、次の起動コマンドを実行します。

サーバーが完全に終了する前に次のプロセスを起動すると、同じワールドフォルダへ二重にアクセスしてデータが壊れることがあるため、必ず終了を確認してから次へ進みましょう。

Terminal window
java -Xms4G -Xmx4G -jar server.jar nogui

メモリの割り当て量と.jarファイルの名前は、使っている環境に合わせて変更します。

SpigotやPaperのrestartコマンドを使う

SpigotやPaperMCには/restartコマンドが標準で用意されています。

まず、サーバーフォルダに起動スクリプトを作成します。Linux用はstart.sh、Windows用はstart.batという名前にします。

中身はこれだけです。

start.sh
#!/bin/bash
java -Xms4G -Xmx4G -jar server.jar nogui

start.shはLinux用、start.batはWindows用で内容が異なるので、環境に合ったほうを使います。

start.bat
@echo off
java -Xms4G -Xmx4G -jar server.jar nogui
pause

指定するメモリ量や実行ファイル名は、通常の起動コマンドと同じ記述に合わせます。

Linuxでは実行権限を付ける必要があります。

Terminal window
chmod +x start.sh

spigot.ymlの設定もあわせて確認してください。

settings:
restart-script: ./start.sh

ここまでの設定が終われば、ゲーム内またはコンソールで次のコマンドを実行するとサーバーが停止・再起動します。

/restart

プレイヤーにはServer is restartingと表示され、一時的にキックされますが、再起動後にはまた接続できます。

マイクラサーバーに再起動が必要な2つの理由

マイクラサーバーに再起動が必要になる場面は主に2つあります。

止め方反映される範囲向いている場面
stopで停止してから起動し直す設定ファイルもプラグインもすべて設定変更後、毎日の定期再起動
/reloadプラグインの一部だけその場の確認。常用はしない
ウィンドウを閉じる保存が終わらないことがある使わない
  • プラグインやMODの設定変更を反映させるため
  • サーバーの安定性を保つため

プラグインやMODの設定変更を反映させるため

新しいプラグインを追加した場合や、設定ファイルを変更した場合は、基本的に再起動が必要です。

たとえば、以下のような変更を反映させるのに必要になります。

  • サーバー設定(server.properties)の変更
  • 新しいプラグインのインストール
spa

リロードで済ませようとしたら読み込みが壊れ、結局再起動で直りました…。

サーバーの安定性を保つため

長時間稼働し続けると、メモリが少しずつ増えてサーバーが重くなることがあります。

1日1回など定期的に再起動すれば、この状態を一時的にリセットできます。

ただし、定期再起動はTPS低下やメモリ増加そのものの原因を直すわけではありません。継続して重くなる場合は、原因になっているプラグインやMOD、メモリ設定を先に調べます。

マイクラサーバーが重い原因をTPS、メモリ、プラグイン、描画距離で診断する流れ

【マイクラ】鯖落ちする原因と直し方!サーバーが重い・落ちるときの診断

決まった時刻に自動で再起動させる

自動再起動でcronからstopを実行し、screenの終了を確認してから起動する流れと、停止しない場合に起動せずログを確認する分岐を示す図解

毎日同じ時間に再起動したいなら、screenとcronを組み合わせると、手動で止め忘れてメモリ使用量が増え続ける状態を減らせます。

初心者

screenとかcronとか聞き慣れないんですけど…難しくないですか?

spa

スクリプトを1つ置いてcronに1行追加するだけなので、意外とすぐ終わりますよ!

補足

screenはバックグラウンドでセッションを維持するツール、cronは定時にコマンドを自動実行する仕組みです。

扱うのは次の3点です。

  • 毎日決まった時間に自動再起動させる設定方法
  • 事前に警告メッセージでプレイヤーに通知する
  • Docker Composeで動かしている場合

Dockerで動かしている場合は、3つ目だけ読めば足ります。

毎日決まった時間に自動再起動させる設定方法

まず、再起動用のシェルスクリプトを作成します。

/usr/local/bin/mc-restart.shなどに、以下のスクリプトを置いてください。

#!/bin/bash
SCREEN_NAME=Minecraft
MAX_WAIT=120
# プレイヤーに事前通知
screen -S "$SCREEN_NAME" -p 0 -X stuff "say サーバーを再起動します\015"
sleep 10
# サーバー停止
screen -S "$SCREEN_NAME" -p 0 -X stuff "stop\015"
# screenセッションが終了するまで確認し、終了しなければ起動せず中断する
waited=0
while screen -list | grep -q "$SCREEN_NAME"; do
sleep 5
waited=$((waited + 5))
if [ "$waited" -ge "$MAX_WAIT" ]; then
echo "サーバーが${MAX_WAIT}秒以内に停止しませんでした。ログを確認してください。" >&2
exit 1
fi
done
cd /opt/minecraft
screen -dmS "$SCREEN_NAME" java -Xms4G -Xmx4G -jar server.jar nogui

固定の待機時間だけで次のプロセスを起動すると、保存や停止処理が終わらないまま二重起動になる可能性があります。

上のスクリプトは、screenセッションの終了を確認できるまでループし、一定時間を超えたら起動せずにエラー終了する仕組みです。

実行権限を付けます。

Terminal window
chmod +x /usr/local/bin/mc-restart.sh

続いて、cronで定期実行を設定します。

cronの設定ファイルを開きましょう。

Terminal window
crontab -e

たとえば、毎日午前4時55分に再起動する場合にはこうします。

Terminal window
55 4 * * * /usr/local/bin/mc-restart.sh

これで毎日自動的に再起動されるようになります。

spa

プレイヤーがいる時間に再起動すると怒られるので、深夜狙いが無難です!

定期再起動を入れるなら、再起動前にバックアップも残る形にしておくと戻しやすいです。

マイクラサーバーの自動バックアップとcron対応を示すサムネイル

マイクラサーバーの自動バックアップ方法!cron・プラグイン・Windows対応

事前に警告メッセージでプレイヤーに通知する

上のスクリプトでは、再起動10秒前に警告メッセージを送っていますが、もっと丁寧に通知したい場合は通知の間隔だけを長くできます。

#!/bin/bash
SCREEN_NAME=Minecraft
MAX_WAIT=120
# 15分前通知
screen -S "$SCREEN_NAME" -p 0 -X stuff "say 15分後にサーバーを再起動します\015"
sleep 900 # 15分待機
# 5分前通知
screen -S "$SCREEN_NAME" -p 0 -X stuff "say 5分後にサーバーを再起動します\015"
sleep 300 # 5分待機
# 1分前通知
screen -S "$SCREEN_NAME" -p 0 -X stuff "say 1分後にサーバーを再起動します\015"
sleep 60 # 1分待機
# サーバー停止
screen -S "$SCREEN_NAME" -p 0 -X stuff "stop\015"
# screenセッションが終了するまで確認し、終了しなければ起動せず中断する
waited=0
while screen -list | grep -q "$SCREEN_NAME"; do
sleep 5
waited=$((waited + 5))
if [ "$waited" -ge "$MAX_WAIT" ]; then
echo "サーバーが${MAX_WAIT}秒以内に停止しませんでした。ログを確認してください。" >&2
exit 1
fi
done
cd /opt/minecraft
screen -dmS "$SCREEN_NAME" java -Xms4G -Xmx4G -jar server.jar nogui

停止コマンドを送るだけで終わるスクリプトは、サーバーが止まったまま起動しない状態になるため、必ず停止確認と起動処理までを1つのスクリプトに含めることが前提です。

プレイヤーの作業中断を避けたい場合は、通知から停止までの間隔を長くしたスクリプトにしてください。

Docker Composeで動かしている場合

Docker Compose(コンテナ管理ツール)でマイクラサーバーを動かしている場合、再起動のコマンドは別物です。

Terminal window
docker compose restart

docker compose restartはコンテナへSIGTERMを送って停止し、その後に再起動します。Docker公式のCompose仕様によると、コンテナがSIGTERMを処理しない場合に備えてstop_grace_periodという猶予時間があり、既定値は10秒でこの時間を過ぎるとSIGKILLで強制終了されます。

マイクラサーバーの保存・停止処理が10秒で終わらないイメージ構成では、猶予時間を延ばしておくのが安全です。

services:
minecraft:
stop_grace_period: 60s

使っているイメージがSIGTERMを受けてstop相当の安全な保存・終了処理を行うかどうかは、イメージ側のドキュメントで確認します。SIGTERMをそのまま無視したり即終了したりするイメージでは、docker compose restartだけでは安全に保存されません。

また、docker-compose.ymlにrestart: unless-stoppedを書いておくと、コンテナが予期せず落ちたときに自動で再起動してくれます。ただし、これは明示的に停止した場合まで必ず元へ戻す設定ではありません。

定期的な再起動をスケジュールするなら、ホスト側のcronと組み合わせて、再起動用のスクリプトを作ります。

#!/bin/bash
cd /opt/minecraft
docker compose restart

/usr/local/bin/dc-restart.shなどに保存したら、実行権限を付ける作業も忘れずに行いましょう。

Terminal window
chmod +x /usr/local/bin/dc-restart.sh

あとはscreen+cronのセクションと同じように、cronに登録すれば定期再起動できます。

Terminal window
55 4 * * * /usr/local/bin/dc-restart.sh

Docker運用そのものの立て方に不安があるなら、Dockerでのサーバー構築を先に確認しておくとつまずきません。

Q再起動中に入ろうとした友達はどうなりますか?
A

接続できないというエラーが出ます。定期再起動を設定しているなら、実行する時刻を先に共有しておくと待たせずに済みます。

Q再起動とリロードはどちらを使えばいいですか?
A

設定を確実に反映させたいなら再起動です。「reload」はプラグインの状態が中途半端に残ることがあり、原因の分かりにくい不具合につながります。

Q毎日再起動するとワールドのデータは傷みませんか?
A

傷みません。停止のときにワールドが保存されるため、正しい手順で止めているかぎりデータへの影響はありません。

まとめ:停止を確認してから起動する

再起動は、止める、終了を確かめる、起動するの3段階です。

僕なら、設定を変えたあとはリロードではなく再起動で反映させます。

  • コンソールでstop、ゲーム内なら/stopを送って停止する
  • プロセスやセッションが終了したことを確認してから起動する
  • 画面を閉じるだけで落とすと、ワールドデータが保存されないことがある
  • 定期再起動はscreenとcronを組み合わせ、待機時間ではなく終了確認を挟む
  • 毎日1回入れておくと、メモリ増加によるラグを一時的にリセットできる

定期再起動を行ってもすぐに重くなる場合は、再起動ではなくメモリ割り当てやプラグインの見直しが必要です。

再起動でしのぐ間隔が短くなってきたときは、メモリ自体が足りていない状態です。

PLAYHUB! 長期割引パスの新規申込が時間課金の月額上限より最大76%OFF。10月9日17時まで

8GBは1ヶ月2,458円。1日に何度も再起動しないと持たない状態から抜けられます

メモリ不足を避けるプランを確認する