[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с генерацией мониторинга!
Safok
Дело в том, что я решил сделать мониторинг для игрового сервера..Написал скрипт который выводит онлайн/макс.онлайн..
Хочу воплотить в реальность, что бы этот мониторинг рисовался в php и выводился..
Вывод моего онлайн в текстовом формате:
monitoring.php
<?php 

$ip = '195.112.231.229'; //ip
$port = 7777; //порт

$fp = fsockopen('udp://' . $ip, $port, $errno, $errstr);
stream_set_timeout($fp, 1, 0);
stream_set_blocking($fp, true);

if (!$fp) {
echo "Ошибка подключения: ".$errno." - ".$errstr;
} else {
$packet = "SAMP";
$packet .= chr(strtok($ip, "."));
$packet .= chr(strtok("."));
$packet .= chr(strtok("."));
$packet .= chr(strtok("."));
$packet .= chr($port & 0xFF);
$packet .= chr($port >> 8 & 0xFF);

fwrite($fp, $packet."i");
fread($fp, 11);
$is_passworded = ord(fread($fp, 1));
$plr_count = ord(fread($fp, 2));
$max_plrs = ord(fread($fp, 2));
$strlen = ord(fread($fp, 4));


echo "Игроки: $plr_count/$max_plrs<br/>";
}
?>




Как я хочу рисовать мониторинг(взятый для основы):

<?php
include('SampQuery.class.php');

$query = new SampQuery($_GET['server'],$_GET['port']);
$Server = $query -> getInfo();
$playeron = $Server->players;
$playermax = $Server->maxplayers;
$Server->Online ? $statusi = 1 : $statusi = 0;
$igroki ='Role Play '.$Server->players.'/'.$Server->maxplayers;

if ($statusi == 1) {
$igrok = 220*$playeron/$playermax;
$igro = $igroki;
} else {
$igrok = '220';
$igro = 'OFFLINE';
}
header("Content-Type: image/png");
$image = imagecreate(220, 20); /*Длина, высота*/
$dark_grey = imagecolorallocate($image, 235, 235, 235);
$blek = imagecolorallocate($image, 0, 0, 0);
$gren = imagecolorallocate($image, 0, 255, 0);
$red = imagecolorallocate($image, 255, 0, 0);
if ($statusi == 0) {
$cvet = $red;
} else {
$cvet = $gren;
}
$font_path = 'MyriadPro.otf';
imagefilledrectangle($image,0,0,$igrok,180,$cvet);
imagettftext($image, 13, 0, 70, 15, $blek, $font_path, $igro); /*Размер шрифта, поворот текста, отступ текста от начала, опускание текста вниз*/
imagepng($image);
imagedestroy($image);
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.