Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мониторинг

Статус
В этой теме нельзя размещать новые ответы.

q0b3rMAN

Умник
Код для мониторинга сервера:
PHP:
<b>Мониторинг:</b><style type="text/css">
body { font-family: verdana; font-size: 11px; }
td { font-family: verdana; font-size: 11px; }
</style>
</head>
<body bgcolor="#FFFFFF" text="#EEEEEE">
<br>
<br>
<table width="350" bgcolor="#000000" cellpadding="4" cellspacing="1">
<?
// if ($_GET['ip']) $ip = $_GET['ip'];
// if ($_GET['port']) $port = $_GET['port'];

if (!isset($ip))
$ip = '193.138.147.23';
if (!isset($port))
$port = 8000;

$fp = fsockopen('udp://' . $ip, $port, $errno, $errstr);
if (!$fp)
{
echo "<tr><td bgcolor=\"#FFFFFF\">Socket Error: $errno - $errstr</td></tr>\n";
}
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));
$hostname = fread($fp, $strlen);
$strlen = ord(fread($fp, 4));
$gamemode = fread($fp, $strlen);
$strlen = ord(fread($fp, 4));
$mapname = fread($fp, $strlen);

echo ' <tr><td bgcolor="#FFFFFF" colspan="2" align="center"><b>' . $hostname . '</b></td></tr>'."\n";
echo ' <tr><td bgcolor="#FFFFFF" width="100">Игроков: </td><td bgcolor="#FFFFFF" width="250">' . $plr_count . ' / ' . $max_plrs . '</td></tr>'."\n";
echo ' <tr><td bgcolor="#FFFFFF">Мод: </td><td bgcolor="#FFFFFF">' . $gamemode . '</td></tr>'."\n";
echo ' <tr><td bgcolor="#FFFFFF">Карта: </td><td bgcolor="#FFFFFF">' . $mapname . '</td></tr>'."\n";
if ($is_passworded)
{
echo ' <tr><td bgcolor="#FFFFFF">Пароль: </td><td bgcolor="#FFFFFF">Есть</td></tr>'."\n";
} else {
echo ' <tr><td bgcolor="#FFFFFF">Пароль: </td><td bgcolor="#FFFFFF">Нету</td></tr>'."\n";
}

fwrite($fp, $packet.'c');
fread($fp, 11);
$plr_count = ord(fread($fp, 2));
if ($plr_count > 0)
{
echo ' </table><br>'."\n";
echo ' <table width="350" bgcolor="#000000" cellpadding="4" cellspacing="1">'."\n";
echo ' <tr><td bgcolor="#FFFFFF" colspan="2" align="center"><b>Игроки:</b></td></tr>'."\n";
echo ' <tr><td bgcolor="#FFFFFF align="center" width="250"><b>Игрок</b></td><td bgcolor="#FFFFFF" align="center" width="100"><b>Уровень</b></td></tr>'."\n";
for ($i=0; $i<$plr_count; $i++)
{
$strlen = ord(fread($fp, 1));
$plrname = fread($fp, $strlen);
$score = samp_getLong(fread($fp, 4));

echo ' <tr><td bgcolor="#FFFFFF">' . $plrname . '</td><td bgcolor="#FFFFFF">' .
$score . '</td></tr>'."\n";
}
}
fclose($fp);
}
?>
</table>
</body>
</html>
<?
function samp_getLong($dat) {
$num=0;
if ((ord(substr($dat,3,1)) & 128) > 0) {
for ($i=0; $i<strlen($dat); $i++) {
$num-=((255-ord(substr($dat,$i,1))) << 8*$i);
}
$num--;
} else {
for ($i=0; $i<strlen($dat); $i++) {
$num+=(ord(substr($dat,$i,1)) << 8*$i);
}
}
return $num;
}?>
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу