サーバを支える技術 サーバデータの表示について

サーバデータを表示するプログラムを作りました。

今回その成果物の、内容を公開しようと思います。

と言っても、参加人数を表示するプログラム部分のみです。

サーバが分かれているので、それを統合して表示するプログラムがなかったのです。

他の表示部分は

[Bukkit/Spigot]MinecraftサーバをZabbixで監視する

ココの情報で、作成しました。

■ サーバーが分かれている場合の参加人数をグラフにするやり方。

今回ご紹介するのはこれです。

やり方は、

1 PHPからマイクラサーバに接続。参加人数を表示するプログラムをつくる。

2 ZABBIX でこのプログラムを外部チェックで人数を取得する。

と言うことです。

まず。1のプログラム。

minecraft.php

#!/bin/php
<?php

fetch_server_info("IPアドレスを入れる",25565);

function fetch_server_info($ip,$port){
$socket = @fsockopen($ip,$port,$errno,$errstr,0.5);
if($socket == false){
return 0;
}

fwrite($socket,"\xfe");
$data = fread($socket,256);

if(substr($data,0,1)!= "\xff"){
return 0;
}

$data = explode('§', mb_convert_encoding(substr($data,3),'UTF8','UCS-2'));

#print "motd:".$data[0]."\n";
print intval($data[1])."\n";
#print "max_players".intval($data[2])."\n";
}

?>

これを /usr/lib/zabbix/externalscripts に入れます。

chown zabbix:zabbix /usr/lib/zabbix/externalscripts/minecraft.php します。

chmod 700 /usr/lib/zabbix/externalscripts/minecraft.php します。

これで後は、ZABBIX で外部チェックで取得すればOKです。

以上となります。

PHPプログラムもWEBで参考にした物を改造しただけです。

【ユーザイベント】 ミニイベントpepper杯を開催します。

【ユーザイベント】ユーザ様pepperさんがイベントを行ってくださいます。

!予告!
12/1にミニイベントpepper杯を開催します。

☆ゲーム内容
・BlockHunt 三戦※鬼はpepper34からスタートです。
→生き残ったらポイント獲得

・TNTRUN 三戦
→1位がポイント獲得

・Cuberunner 決勝
→各ゲーム終了時同点者で行います。※今回はスコア制、順番にミニステージでプレイして頂きハイスコアが優勝

参加者にダイヤ鉱石1個配布
優勝者には景品がでます。

参加される方は当日14時にトラビル(スポ近くのビル)屋上に
集まってください。

資源サーバーでの採掘について

資源サーバーでの採掘について
1.資源サーバーで採掘し足元にインベントリに入りきらないアイテムが散乱
2.インベントリ整理の為、メインサーバーに戻る
3.インベントリを整理して、資源サーバーに入る
4.足元の散乱アイテムが一瞬インベントリに入る
5.サーバー移動のインベントリ同期でインベントリの内容が書き換えられる
※結果、1.の時点で足元にあったアイテムが消えます。 貴重なアイテムを足元に散乱状態でサーバー移動しないように注意しましょう