ConoHaでマイクラマルチサーバをプラグインサーバにしてみる~運用設定編(再起動)
前回は、Spigotのサーバで起動することができました。
今回は、自動再起動などの設定を行っていきます。
この辺は、サーバを常時起動させておくために必要な仕組みです。
自動再起動
サーバの再起動を自動的に実施できるようにしておいた方がサーバが安定します。僕が運用していたyukimomoサーバはメモリ2Gプランで起動していたのですが、1週間も起動し続けるとサーバがかなり重くなりました。1週間の接続ユーザが10名程度でも発生するのでこの辺を解消するために、自動的な再起動を行う必要が出てきます。
今回は、cronとスクリプトで実現していこうと思います。
シェルスクリプト設定
スクリプトはこちらからダウンロードしてください。便利な物をありがとうございます。
上記リンクのサイト(GitHub)画面右上のDownloadZIPからダウンロードできます。
ダウンロードしたら、サーバのマインクラフトのフォルダに保存して、
所有者の変更と実行権限を設定します。
ダウンロードしてきたスクリプトの設定をしていきます。
9行目のパス設定内のminecraftのサーバの基本位置を修正します。
MC_PATH_HOME="/opt/<span style="background-color: #ccffcc;">minecraft_server</span>"
20行目のMinecraft設定のサーバプログラム名とScreenの名称を修正します。ここでは、ビルドしたサーバのファイル名になりますので、必ずしもspigot-1.14.jarではありません。ご自身のサーバファイルを設定してみてください。
MC_SERVICE="<span style="background-color: #ccffcc;">spigot-1.14.jar</span>"
MC_SCREENNAME="<span style="background-color: #ccffcc;">minecraft</span>"
これで実行できるかコンソールにて確認を行ってみます。
/opt/minecraft_server/minecraft.sh stop
と入力してEnterキーを押します。
minecraftの画面で確認すると、
こんな感じで実行され、60秒後にサーバが停止していることがわかります。
初期設定は60秒になっていましたが、設定はお好みで変えてみてください。
Cron設定
んで、自動実行できるようにします。
以前の記事でWindowsの場合の定期実行、バックアップなんかはタスクスケジューラで実装していましたが、CentOSのタスクスケジューラだと思っていただければ大丈夫です。
まず、サーバのcronの設定ファイルを開きます。
/etc/crontab
というファイルです。これをダブルクリックして開き、この以下を追加します。
0 5 * * * root /opt/minecraft_server/minecraft.sh stop
5 5 * * * root shutdown -r now
こんな感じで、保存して閉じます。
朝5時にMinecraftのサーバを止めて、朝5時5分にサーバを再起動するという意味です。
以下の記事で設定した際に、サーバの起動時に自動で立ち上がるように設定を行っておりましたので、サーバを再起動すると自動的にマインクラフトのサーバが開始されるようになってます。
これで再起動が出来ている状態となります。
最後に
今回は、自動再起動を設定しました。次回は自動バックアップをConoHaが準備してくれている内容で実装していきたいと思います。
それでは!
<<前回
>次回
ops.jsonを編集し、上書き保存、サーバ(VPS)を再起動したらops.jsonがリセットされてopを取得できない場合はどうしたらいいですか?
シェルスクリプトを書き換えて実行しても No screen session found. と羅列したの地にNGとなってしまいます。
MC_SERVICEのところを spigot-1.14.4 に書き換えているのですが、他に何か書き換えるところがあるのでしょうか?