Регистрация    Забыли пароль?        Правила форума    FAQ (читать перед созданием новой темы)
Имя   Пароль  запомнить
  
Просмотр темы
Вернуться на сайт: PHP-Fusion SF Russian Support Site

Форум поддержки PHP-Fusion SF | PHP-Fusion SF - Моды/Плагины | Моды/Mods
# 1 Тема: SAMP Мониторинг
izvek
Пользователь

Avatar пользователя




Местный

Сообщений: 18
Зарегистрирован: 13 Декабря 2008, 05:38:30
Сказали спасибо 0 раз
Статус: offline
Опубликовано 25 Января 2010, 13:52:36
openside("name"smiley;
?>
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, '.'smiley);
$packet .= chr(strtok('.'smiley);
$packet .= chr(strtok('.'smiley);
$packet .= chr(strtok('.'smiley);
$packet .= chr($port & 0xFF);
$packet .= chr($port >> 8 & 0xFF);

fwrite($fp, $packet.'i'smiley;
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'smiley;
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();



помогите сделать мониторинг пожалуйсто smiley
 
^ наверх ^
# 2  
skyline
Пользователь

Avatar пользователя

[Дизайнер][PHP Scripter]

Местный

Сообщений: 28
Зарегистрирован: 12 Ноября 2008, 17:31:31
Сказали спасибо 1 раз
Статус: offline
ICQ статус 5612817
Опубликовано 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]

--------------------
''
^ наверх ^ 5612817 m16-game.spb.ru
Перейти на форум:


95,305,190 уникальных посетителей
сейчас: 30 Апреля 2024, 03:06:39
Генерация страницы: 0.06 сек.