【マイクラ】サーバーが重い・落ちる原因と直し方!ラグ・メモリ不足を診断
2026.04.22広告・PRを含む記事です
サーバーの設定
【初心者向け】マイクラサーバーを再起動する方法!手動・自動の両方を解説
- マイクラサーバーをどうやって再起動すればいいかわからない
- 強制終了やウィンドウを閉じる方法でデータが消えてしまわないか心配
- 毎回手動で再起動するのが面倒で、自動化する方法を知りたい
コマンドの名前も場所もわからないと、「どこに何を入力するのか」の前の段階で止まりやすいです。
基本はstopコマンドで停止してから起動し直すだけで、画面を閉じたり強制終了するとワールドデータが保存されないまま消えることがあります。
この記事では次の内容を説明します。
stopコマンドによる手動での安全な再起動手順- cronを使った定期自動再起動の設定方法
読み終わるころには、手動でも自動でも安全に再起動できるようになります。
なぜマイクラサーバーに再起動が必要なのか
マイクラサーバーに再起動が必要になる場面は主に2つあります。
- プラグインやMODの設定変更を反映させるため
- サーバーの安定性を保つため
プラグインやMODの設定変更を反映させるため
新しいプラグインを追加したり、設定ファイルを変更した場合、基本的に再起動が必要です。
たとえば、以下のような変更を反映させるのに必要になります。
- サーバー設定(server.properties)の変更
- 新しいプラグインのインストール
リロードで済ませようとしたら読み込みが壊れ、結局再起動で直りました…。
サーバーの安定性を保つため
長時間稼働し続けると、メモリが少しずつ増えてサーバーが重くなることがあります。
1日1回など定期的に再起動することで、この状態をリセットできます。
手動でマイクラサーバーを再起動する基本の方法

まずは、マイクラサーバーを手動で再起動する方法を2つ紹介します。
- stopコマンドでサーバーを安全に停止させる
- Spigot/Paperのrestartコマンドで自動再起動する
stopコマンドでサーバーを安全に停止させる
一番シンプルなのは、/stopコマンドを使う方法です。
ゲーム内のチャット欄、またはサーバーのコンソール画面で以下のコマンドを実行します。
/stopこのコマンドで停止すると、ワールドデータが保存されてからサーバーが落ちます。
シャットダウンって言葉がちょっと怖いけど、データはちゃんと保存されるんですね!
停止が完了したら、ターミナルで起動コマンドを実行すれば再起動できます。
java -Xms4G -Xmx4G -jar server.jar noguiメモリの割り当て量と.jarファイルの名前は、使っている環境に合わせて変更します。
Spigot/Paperで自動再起動を設定する
SpigotやPaperMCには/restartコマンドが標準で用意されています。
まず、サーバーフォルダに「start.sh」(Linux用)または「start.bat」(Windows用)という起動スクリプトを作成します。
中身は次のように書きます。
#!/bin/bashjava -Xms4G -Xmx4G -jar server.jar noguiLinux用(start.sh)とWindows用(start.bat)で内容が異なるので、環境に合ったほうを使います。
@echo offjava -Xms4G -Xmx4G -jar server.jar noguipauseメモリの割り当て量と.jarファイルの名前は、サーバーの環境に合わせて調整します。
Linuxでは実行権限を付ける必要があります。
chmod +x start.shspigot.ymlの設定も確認します。
settings: restart-script: ./start.shここまでの設定が終われば、ゲーム内またはコンソールで次のコマンドを実行するとサーバーが停止・再起動します。
/restartプレイヤーには「Server is restarting」と表示され、一時的にキックされますが、再起動後にはまた接続できます。
「screen」と「cron」を組み合わせた定期再起動
毎日同じ時間に再起動したいなら、screenとcronを組み合わせると、手動で止め忘れてメモリ使用量が増え続ける状態を減らせます。
screenとかcronとか聞き慣れないんですけど…難しくないですか?
スクリプトを1つ置いてcronに1行追加するだけなので、意外とすぐ終わりますよ!
補足
screenはバックグラウンドでセッションを維持するツール、cronは定時にコマンドを自動実行する仕組みです。
毎日決まった時間に自動再起動させる設定方法
まず、再起動用のシェルスクリプトを作成します。
/usr/local/bin/mc-restart.shなどに、以下のスクリプトを置いてください。
#!/bin/bashSCREEN_NAME=Minecraft
# プレイヤーに事前通知screen -S "$SCREEN_NAME" -p 0 -X stuff "say サーバーを再起動します\015"sleep 10
# サーバー停止screen -S "$SCREEN_NAME" -p 0 -X stuff "stop\015"
# 少し待ってから再起動sleep 30cd /opt/minecraftscreen -dmS "$SCREEN_NAME" java -Xms4G -Xmx4G -jar server.jar nogui実行権限を付けます。
chmod +x /usr/local/bin/mc-restart.sh続いて、cronで定期実行を設定します。
cronの設定ファイルを開きます。
crontab -e例えば、毎日午前4時55分に再起動する場合にはこうします。
55 4 * * * /usr/local/bin/mc-restart.shこれで毎日自動的に再起動されるようになります。
プレイヤーがいる時間に再起動すると怒られるので、深夜狙いが無難です!
定期再起動を入れるなら、再起動前にバックアップも残る形にしておくと戻しやすいです。
事前に警告メッセージでプレイヤーに通知する
上のスクリプトでは、再起動10秒前に警告メッセージを送っていますが、もっと丁寧に通知したい場合は以下のような感じにできます。
#!/bin/bashSCREEN_NAME=Minecraft
# 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"プレイヤーの作業中断を避けたい場合は、このように通知時間を長くします。
Docker Composeで動かしている場合
Docker Composeでマイクラサーバーを動かしている場合は、再起動のコマンドが変わります。
docker compose restartまた、docker-compose.ymlに restart: unless-stopped を書いておくと、サーバーが落ちたときに自動で再起動してくれます。
定期的な再起動をスケジュールするなら、ホスト側のcronと組み合わせます。再起動用のスクリプトを作ります。
#!/bin/bashcd /opt/minecraftdocker compose restart/usr/local/bin/dc-restart.sh などに保存したら、実行権限を付けます。
chmod +x /usr/local/bin/dc-restart.shあとはscreen+cronのセクションと同じように、cronに登録すれば定期再起動できます。
55 4 * * * /usr/local/bin/dc-restart.shまとめ:stopコマンドで止めて、再起動は定期化する
基本はstopで停止→起動コマンドで立ち上げです。
画面を閉じるだけで落とすと、ワールドデータが保存されていないことがあります。
定期再起動はscreenとcronを組み合わせれば設定できます。
毎日1回再起動を入れておくと、メモリ増加によるラグを定期的にリセットできます。
リロードより再起動のほうが手戻りが少なく、定期再起動で安定感も違いますよ!






