ajaxでMojangサーバの状態を取得する
2018/04/07
少し前に、「PHPでMojangサーバの状態を取得する」と言う記事を投稿した気がします。
ただ、そこで紹介した方法はアクセスが少ないサイトの場合、誰かのアクセスがあった際には既にキャッシュが古いので大して効果がなかったりします。
なので、今回はJavaScript(jQuery)を使って実装してみました。
スポンサーリンク
ajaxでjsonの処理
(記事的に)楽なので、ajaxでのやり取りにはjQueryを使用します。(jQueryを使わないサイトであれば適宜fetch APIとかに置き換えて下さい)
Mojangサーバの状態を取得
「http://status.mojang.com/check」から、ステータス情報の含まれたjsonが取得出来ます。
中身は以下のようになっており、サーバの状態は色で表されています。
[{"minecraft.net":"green"},{"session.minecraft.net":"green"},
{"account.mojang.com":"green"},{"auth.mojang.com":"green"},
{"skins.minecraft.net":"green"},{"authserver.mojang.com":"green"},
{"sessionserver.mojang.com":"green"},{"api.mojang.com":"green"},
{"textures.minecraft.net":"green"}]
正常であれば「green」、一応稼働していれば「yellow」、完全にあぼんであれば「red」
これをswitchにでも食わせて振り分ければ良いだけですね。
var key,leng;
var i = 0;
$.ajax({
type: 'GET',
url: 'http://status.mojang.com/check',
dataType: 'json',
cache: false,
})
.done(function( data ) {
for (leng = data.length; i < data.length; i ++) {
for (key in data[i]){
switch (data[i][key]){
case 'green':
//サーバが正常稼働していた際の処理
break;
case 'red':
//サーバがダウンしていた際の処理
break;
case 'yellow':
//サーバが一応稼働していた場合の処理
break;
default:
//それ以外
break;
}
}
}
})
.fail(function( data ) {
//jsonを取得出来なかった場合の処理
});
あれ、記事終わっちゃった……
まぁ、そういう事です。簡単。