面白ければいいんじゃない?

やくたいのないこと、痛々しいことばかり書きます。

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で起動してくだちい。

注意:ここに書かれていることは筆者の個人的見解であり所属する組織などの意志を表すものではありません。