MinecraftServerの状態表示API
Minecraftのマルチプレイ、楽しいですよね。でもサーバーが生きてるかどうか、クライアントを立ち上げてチェックするのは面倒ですよね。
そこで、Minecraft1.8以上のサーバリストを見れるWebAPIを作りました。
Htmlでみる
http://nyatla.jp/ws/mcsapi/mcsapi.php?cmd=si&s=[サーバアドレス]&p=[ポート番号]
サーバアドレスには、マインクラフトサーバのアドレス、ポート番号は特にいじっていなければ、25565を指定します。
こちらのページでサーバアドレスを入力すると、サーバ状態表示用ページを作れます。
マインクラフトサーバ状態URLジェネレータ
JSON API
このAPIは、RESTリクエストでjsonを返すことが出来ます。かっこいいサーバ監視画面を作れる方は、javascriptでJSONを取得して、作ってみてください。
リクエストは、こんな感じです。f=jsonを追加しただけですね。
http://nyatla.jp/ws/mcsapi/mcsapi.php?cmd=si&s=[サーバアドレス]&p=[ポート番号]&f=json
javascriptで取得するときは、evalしてオブジェクトに変換してください。IE以外はこんな感じでできます。
function xhrget(i_url) { var xhr = window.XDomainRequest ? new XDomainRequest() : new XMLHttpRequest(); try { xhr.open("GET",i_url,false); xhr.send(null); } catch (e) { return null; } return xhr.responseText; } function update() { number_of_update++; var s=xhrget("http://nyatla.jp/ws/mcsapi/t.php?cmd=si&s=****&p=25565&f=json"); var v; if(s==null){ }else{ v=eval("("+s+")"); } alert(v); }
返却されるJSONは以下の通りです。
{online:true, server:{name:"*****",port:25565}, result:{ retcode:255,title:"server title", user:{active:1,max:20} }, update_time:1317815356}
online | サーバがオンラインならtrueです。 |
server | name:サーバアドレス,port:サーバポート番号 |
result | サーバの情報です。retcode:謎。title:サーバのタイトル名です。user.active:接続中のユーザ数です。user.max:最大接続人数です。 |
update_time | サーバの状態を更新した時間です。Unix エポック (1970 年 1 月 1 日 00:00:00 GMT) からの通算秒です。 |