Максимальная производительность для ваших игровых серверов!
Заказать сейчасПлагин для мониторинга могу написать.Ребята ищу бесплатный Движок мониторинга (с поддержка NoSteam ) Rust HurtWorld
Плагин для сервера? По моему можно собирать данные об онлайне без плагинов.Плагин для мониторинга могу написать.
Можно, но не всегда удобно и не всегда можно получитьте данные которые нужныПлагин для сервера? По моему можно собирать данные об онлайне без плагинов.
Дежи,но харт на поддерживается - ссылкаРебята ищу бесплатный Движок мониторинга (с поддержка NoSteam ) Rust HurtWorld
<?php
function query_source($address)
{
$array = explode(":", $address);
$server['status'] = 0;
$server['ip'] = $array[0];
$server['port'] = $array[1];
if (!$server['ip'] || !$server['port']) { exit("EMPTY OR INVALID ADDRESS"); }
$socket = @fsockopen("udp://{$server['ip']}", $server['port'], $errno, $errstr, 1);
if (!$socket) { return $server; }
stream_set_timeout($socket, 1);
stream_set_blocking($socket, TRUE);
fwrite($socket, "\xFF\xFF\xFF\xFF\x54Source Engine Query\x00");
$packet = fread($socket, 4096);
@fclose($socket);
if (!$packet) { return $server; }
$header = substr($packet, 0, 4);
$response_type = substr($packet, 4, 1);
$network_version = ord(substr($packet, 5, 1));
if ($response_type != "I") { exit("NOT A SOURCE SERVER"); }
$packet_array = explode("\x00", substr($packet, 6), 5);
$server['name'] = $packet_array[0];
$server['map'] = $packet_array[1];
$server['game'] = $packet_array[2];
$server['description'] = $packet_array[3];
$packet = $packet_array[4];
$app_id = array_pop(unpack("S", substr($packet, 0, 2)));
$server['players'] = ord(substr($packet, 2, 1));
$server['playersmax'] = ord(substr($packet, 3, 1));
$server['bots'] = ord(substr($packet, 4, 1));
$server['status'] = 1;
$server['dedicated'] = substr($packet, 5, 1);
$server['os'] = substr($packet, 6, 1);
$server['password'] = ord(substr($packet, 7, 1));
$server['vac'] = ord(substr($packet, 8, 1));
return $server;
}
$result = query_source("185.97.254.87:10000");
echo "Название: ".$result['name'] . "<br>";
echo "Карта: ".$result['map'] . "<br>";
echo "Онлайн: ".$result['players'] . "/" . $result['playersmax'] . "<br>";
?>
У меня не работает этот скрипт. Вписываю 54.36.236.215:12871 в поле $result = query_source("54.36.236.215:12871"); но информация не отображается.Маленький скрипт который отображает онлайн сервера:
(На хостинге должен быть открыт исходной UPD порт сервера)
Код:<?php function query_source($address) { $array = explode(":", $address); $server['status'] = 0; $server['ip'] = $array[0]; $server['port'] = $array[1]; if (!$server['ip'] || !$server['port']) { exit("EMPTY OR INVALID ADDRESS"); } $socket = @fsockopen("udp://{$server['ip']}", $server['port'], $errno, $errstr, 1); if (!$socket) { return $server; } stream_set_timeout($socket, 1); stream_set_blocking($socket, TRUE); fwrite($socket, "\xFF\xFF\xFF\xFF\x54Source Engine Query\x00"); $packet = fread($socket, 4096); @fclose($socket); if (!$packet) { return $server; } $header = substr($packet, 0, 4); $response_type = substr($packet, 4, 1); $network_version = ord(substr($packet, 5, 1)); if ($response_type != "I") { exit("NOT A SOURCE SERVER"); } $packet_array = explode("\x00", substr($packet, 6), 5); $server['name'] = $packet_array[0]; $server['map'] = $packet_array[1]; $server['game'] = $packet_array[2]; $server['description'] = $packet_array[3]; $packet = $packet_array[4]; $app_id = array_pop(unpack("S", substr($packet, 0, 2))); $server['players'] = ord(substr($packet, 2, 1)); $server['playersmax'] = ord(substr($packet, 3, 1)); $server['bots'] = ord(substr($packet, 4, 1)); $server['status'] = 1; $server['dedicated'] = substr($packet, 5, 1); $server['os'] = substr($packet, 6, 1); $server['password'] = ord(substr($packet, 7, 1)); $server['vac'] = ord(substr($packet, 8, 1)); return $server; } $result = query_source("185.97.254.87:10000"); echo "Название: ".$result['name'] . "<br>"; echo "Карта: ".$result['map'] . "<br>"; echo "Онлайн: ".$result['players'] . "/" . $result['playersmax'] . "<br>"; ?>
У меня не работает этот скрипт.
Также пробовал менять порт на 12872