【ツール】サーバー監視&再起動ツール「MinecraftServerChecker」

開発したツールの公開や、見つけたツールの紹介などはこちらでどうぞ!
  • (PostNo.5771)

【ツール】サーバー監視&再起動ツール「MinecraftServerChecker」

投稿記事by hide92795 » 2011年9月16日(金) 23:48

Maikura Serverでのチャットから生まれたツールです

【ソフト名】MinecraftServerChecker
【バージョン】1.0.0
【対応OS】Windows (7 64bit &32bitで動作確認)
【機能】
マインクラフトサーバー(公式・Bukkit)が起動しているか確認し、起動していないと判断した場合はサーバーを強制終了して再起動します。
【必要なもの】
JDK(Java Java Development Kit(1.6以上))
http://www.oracle.com/technetwork/java/javase/downloads/index.html

【開発環境&確認環境】
開発・確認:
OS:Windows7 Professional 64bit
JRE:Java SE 7
JDK:Java SE 6 Update 26

確認:
OS:Windows7 HomePremium 32bit
JRE:Java SE 7

【注意事項】
このプログラムには、バグが残っている可能性があります。
確認(報告)されたバグは、
「このプログラムを使用してサーバーを起動させた時に、サーバーは立ち上がるがクライアントからログインできなくなる」
というものです。
何らかのバグが発生された方は、このトピックに報告をお願いします。


【免責】
このプログラムの使用は、利用者の方の自己責任といたします。
このプログラムには、サーバーの強制終了を行う機能が入っています。
サーバーの強制終了の際に起きたマップデータの破損および、このプログラムを使用することにより発生したいかなる損害についても、作者 hide92795 は責任を負いません。

msc.png
起動中の画面

ダウンロード
http://ux.getuploader.com/hide92795/download/29/MinecraftServerChecker_v1.0.0.zip

【使い方】
"初期設定"
このプログラムのファイルは、マインクラフトのサーバーjarおよびサーバー起動用batと同じフォルダに入れてください。
msc_setting.propertiesをメモ帳等で開いてください
ここで、起動した時に自動で読み込む値を設定します
    Address・・・サーバーのアドレス。普通はlocalhostでOK
    Port・・・サーバーのポート
    CheckInterval・・・サーバーが起動しているか確認する間隔(分)
    Limit・・・起動していないのを何回確認したら強制再起動するか
    BatFile・・・サーバー起動用のbatファイルのパス
    JarFileName・・・サーバーのjarファイルのファイル名のみ
    JpsFile・・・JPS.exeのパス
    Limit_FailedKill・・・サーバーの強制終了に何回失敗したらプログラムを停止するか
数字を入力する項目はすべて整数で入力してください。
ただし、CheckIntervalのみ、設定値を"test"にすると確認の間隔が5秒になります。

BatFileとJpsFileの設定値は「C:¥¥Minecraft¥¥Server¥¥server.bat」のように¥¥を2回繰り返してください。
JarFileNameは「server.jar」のようにしてください。


"起動"
「MinecraftServerChecker.exe」を起動してください。
設定項目はここでも変えられます。(保存はされません)
「開始時にサーバー起動」のチェックを入れると開始ボタンを押したあとにサーバーを起動します。
「開始」ボタンを押すと監視を始めます。
「クリア」ボタンを押すと画面下のログを削除します。


"複数のサーバーを起動させる場合"
イベントなどでもう一つサーバーを稼働する場合は、サーバー起動用のjarファイルの名前を変えてください。
また、監視ツール自体もイベント用サーバーのあるフォルダへコピーしてください。


【今後】
・確認されているバグの除去
・JPSに依存しないようにする
・Linuxでの起動を可能にする

"仕組み"
設定で指定されたアドレス・ポートに対してjava.net.Socketクラス内のconnect()を行います。
そこで設定した回数以上のエラーが発生した場合、JDK内に付属するJPS.exe(Java 仮想マシンプロセスステータスツール)http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/share/jps.htmlを使用してプロセスIDを取得、「TASKKILL /F /PID id」コマンドでサーバーを強制終了します。
このとき、TASKKILLの終了コードが正常(0)以外の場合、その回数を記録し、設定した回数以上になった場合は監視プログラムを停止・終了させます。この時、監視プログラムは終了コード1を出力します。
強制終了が正常に行われた場合は、新しくサーバを立ち上げます。
Minecraft Mod:
Hangable Maps(Unofficial) - 壁掛けマップ
ClearWater - 水透明化
Bukkit Plugin:
MCBansDetector - MCBans及びログイン元国を審査
Bukkit RemoteController - Bukkitをリモート操作(Android)
hide92795
ID:93ad3f6f
石炭掘り
 
記事: 204
登録日時: 2011年7月21日(木) 13:32

  • (PostNo.75348)

Re: 【ツール】サーバー監視&再起動ツール「MinecraftServerChecker」

投稿記事by wasonullp » 2013年1月24日(木) 01:52

おお!いいですねこれ!

あとは設定した時刻に再起動する機能が欲しいですかね。
画像
アバター
wasonullp
ID:d94f7d22
木を殴ってる
 
記事: 29
登録日時: 2012年11月30日(金) 20:25


Return to ツール 公開/紹介

x