Minecraftサーバーの監視
Minecraftのサーバで意味不明かつ再現性ゼロのエラーでクラッシュするのでクラッシュ時に自動再起動をするショボイスクリプトを書きました。
前提と説明
- bashでしか確認してない
- inotify-toolsをインスコしておいてください($ yum install inotify-tools)
- minecraft server startup script使用のこと(http://www.minecraftwiki.net/wiki/Tutorials/Server_startup_script)
- 本来は、waitでプロセスの死ぬまで待つべきなんだろうけど子プロセスじゃないのでムリポだから10秒待つ仕様(ちゃんと作りましょう)
- 要するにcrash-reportが生成されるとプロセスを殺して起動するだけです、はい。
#!/bin/sh CRASHREPORTS_PATH='/home/minecraft/minecraft/crash-reports' MINECRAFTSCRIPT_PATH='/home/minecraft/minecraft' while inotifywait -e create $CRASHREPORTS_PATH; do pkill -fn minecraft_server.jar sleep 10 $MINECRAFTSCRIPT_PATH/minecraft start done
あとは、これをviにでも張り付けて、適当なパスに置いてパーミッション700にしてscreenで起動してくだちい。