Просмотр темы
# 1
Тема: SAMP Мониторинг
izvek
Пользователь
МестныйСообщений: 18
Зарегистрирован: 13 Декабря 2008, 05:38:30
Сказали спасибо 0 раз Статус: offline
Опубликовано 25 Января 2010, 13:52:36
openside("name" ;
?>
if ($_GET['ip']) $ip = $_GET['ip'];
if ($_GET['port']) $port = $_GET['port'];
if (!isset($ip))
$ip = '10.11.5.27';
if (!isset($port))
$port = 7777;
$fp = fsockopen('udp://' . $ip, $port, $errno, $errstr);
if (!$fp)
{
echo "<tr><td bgcolor=\"#2B5486\">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="#2B5486" colspan="2" align="center"><b>' . $hostname . '</b></td></tr>'."\n";
echo ' <tr><td bgcolor="#2B5486" width="100">Players: </td><td bgcolor="#2B5486" width="250">' . $plr_count . ' / ' . $max_plrs . '</td></tr>'."\n";
echo ' <tr><td bgcolor="#2B5486">GameMode: </td><td bgcolor="#2B5486">' . $gamemode . '</td></tr>'."\n";
echo ' <tr><td bgcolor="#2B5486">MapName: </td><td bgcolor="#2B5486">' . $mapname . '</td></tr>'."\n";
if ($is_passworded)
{
echo ' <tr><td bgcolor="#2B5486">Passworded: </td><td bgcolor="#2B5486">Yes</td></tr>'."\n";
} else {
echo ' <tr><td bgcolor="#2B5486">Passworded: </td><td bgcolor="#2B5486">No</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" align="center">'."\n";
echo ' <tr><td bgcolor="#2B5486" colspan="2" align="center"><b>Players:</b></td></tr>'."\n";
echo ' <tr><td bgcolor="#2B5486" align="center" width="250"><b>Player</b></td><td bgcolor="#2B5486" align="center" width="100"><b>Score</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="#2B5486">' . $plrname . '</td><td bgcolor="#2B5486">' .
$score . '</td></tr>'."\n";
}
}
fclose($fp);
}
?>
</table><br>
<center>
<small>© 2007 SA:MP Team. All rights reserved.</small>
</center>
</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;
}
?>
closeside();
помогите сделать мониторинг пожалуйсто
^ наверх ^
# 2
skyline
Пользователь
[Дизайнер][PHP Scripter]
МестныйСообщений: 28
Зарегистрирован: 12 Ноября 2008, 17:31:31
Сказали спасибо 1 раз Статус: offline
ICQ статус
Опубликовано 26 Января 2010, 16:22:26
Вот мониторинг sampa. Точто красным замените на своё.
Если хотите чтобы на этой тсранице можно было смотреть мониторинг других серверов самп то:
Пропишете в адресной строке файл_мониторинга.php?ip=IP_servera &port=PORT_servera и нажминте enter)
Для работы мониторинга просто создайте файл например monsamp.php и скопируйте туда этот код!
<?
require_once "maincore.php"; // maircore
require_once "subheader.php"; // Верхняя часть сайта
require_once "side_left.php"; // панели сайта слева
?>
<style type="text/css">
body { font-family: verdana; font-size: 11px; }
td { font-family: verdana; font-size: 11px; }
</style>
</head>
<body bgcolor="#FFFFFF" text="#FFFFFF">
<br>
<br>
<div align="center">
<table width="350" cellpadding="4" cellspacing="1">
<?
$ip = $_GET['ip']; // ввод ипа и порта для мониторинга других серверов
$port = $_GET['port']; // ( monitoring.php?ip=1.2.3.4&port=7777 )
if (!isset($ip))
$ip = "89.208.114.167 ";
if (!isset($port))
$port = "7777 ";
$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="#2B5486" colspan="2" align="center"><b>' . $hostname . '</b></td></tr>'."\n";
echo ' <tr><td bgcolor="#2B5486" width="100">Игроков: </td><td bgcolor="#2B5486" width="250">' . $plr_count . ' / ' . $max_plrs . '</td></tr>'."\n";
echo ' <tr><td bgcolor="#2B5486">Мод: </td><td bgcolor="#2B5486">' . $gamemode . '</td></tr>'."\n";
echo ' <tr><td bgcolor="#2B5486">Карта: </td><td bgcolor="#2B5486">' . $mapname . '</td></tr>'."\n";
echo ' <tr><td bgcolor="#2B5486">Адрес: </td><td bgcolor="#2B5486">' . $ip . ':' . $port . '</td></tr>'."\n";
if ($is_passworded)
{
echo ' <tr><td bgcolor="#2B5486">Пароль: </td><td bgcolor="#2B5486">Есть</td></tr>'."\n";
} else {
echo ' <tr><td bgcolor="#2B5486">Пароль: </td><td bgcolor="#2B5486">Нету</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="#2B5486" colspan="2" align="center"><b>Игроки:</b></td></tr>'."\n";
echo ' <tr><td bgcolor="#2B5486" align="center" width="250"><b>Игрок</b></td><td bgcolor="#2B5486" 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="#2B5486">' . $plrname . '</td><td bgcolor="#2B5486">' .
$score . '</td></tr>'."\n";
}
}
fclose($fp);
}
?>
</table>
</body>
</html>
</div>
<center>
<small>© 2007 SA:MP Team. All rights reserved.</small>
</center>
<?
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;
}
require_once "side_right.php"; // Панели сайты справа
require_once "footer.php"; // Нижняя часть сайта (кописайт и прочее)
?>
[Изменил(а) skyline , 26 Января 2010, 16:23:40]
-------------------- ' '
^ наверх ^
Перейти на форум:
Правила форума
FAQ
Новости и объявления
Конкурс на лучший сайт на PHP-Fusion 6
Разработка нового фьюжена
Релизы/Текущие версии
Установка и настройка системы
Ошибки / Bugs Reports
Будущие версии
Народный SF Fusion
Юмор
Моды/Mods
Плагины/Plugins
Платные разработки плагинов и модов!
ArtCell - профессиональный дизайн, верстка
Темы оформления
Хостинг
Сайты на PHP-Fusion SF
Вопросы / Жалобы / Предложения
Флейм
Оптимизация сайта и методы раскрутки
105,945,325 уникальных посетителей сейчас: 04 Декабря 2024, 11:27:32 Генерация страницы: 0.06 сек.
Original size:24 кб. GZipped size: 7 кб. Compression:72%