- Баллы
- 153
- Имя в Minecraft
- Xeleon
Как получить состояние сервера и кол-во игроков php скриптом? (короче, мониторинг, только просто статус и кол-во игроков, без полоски)
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Зато у вас не хватает "не знаю чего" чтобы взять готовый код из готового мониторинга.Я свой хочу замутить, не надо мне ваших мониторингов, у меня фантазии хватает. Мне нужен код, а не раздел
Зато у вас не хватает "не знаю чего" чтобы взять готовый код из готового мониторинга.
@fwrite($socket, "\xFE\x01");
$data = "";
$data = @fread($socket, 256);
@fclose($socket);
if ($data == false or substr($data, 0, 1) != "\xFF") return;
$info= substr( $data, 3 );
$info = iconv( 'UTF-16BE', 'UTF-8', $info );
if( $info[ 1 ] === "\xA7" && $info[ 2 ] === "\x31" ) {
$info = explode( "\x00", $info );
$playersOnline=IntVal( $info[4] );
$playersMax = IntVal( $info[5] );
} else {
$info = Explode( "\xA7", $info );
$playersOnline=IntVal( $info[1] );
$playersMax = IntVal( $info[2] );
}
PHP:@fwrite($socket, "\xFE\x01"); $data = ""; $data = @fread($socket, 256); @fclose($socket); if ($data == false or substr($data, 0, 1) != "\xFF") return; $info= substr( $data, 3 ); $info = iconv( 'UTF-16BE', 'UTF-8', $info ); if( $info[ 1 ] === "\xA7" && $info[ 2 ] === "\x31" ) { $info = explode( "\x00", $info ); $playersOnline=IntVal( $info[4] ); $playersMax = IntVal( $info[5] ); } else { $info = Explode( "\xA7", $info ); $playersOnline=IntVal( $info[1] ); $playersMax = IntVal( $info[2] ); }
и да из мониторинга готового мог бы и взять.
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<?php
$host = "144.76.41.231"; //IP
$port = "25675"; //????
$socket = @fsockopen($host, $port);
if ($socket !== false) {
@fwrite($socket, "\xFE");
$data = "";
$data = @fread($socket, 1024);
@fclose($socket);
if ($data !== false && substr($data, 0, 1) == "\xFF") {
$info = explode("\xA7", mb_convert_encoding(substr($data,1), "iso-8859-1", "utf-16be"));
$playersOnline = $info[1];
$playersMax = $info[2];
?>
<div class="on" style="background-position: <?php echo (-165+165*$playersOnline/$playersMax); ?>px 0;"><?php echo "$playersOnline";?></div>
<?php
} else {
echo "<div class=\"off\">Текст</div>";}
} else {
echo "<div class=\"off\">Текст</div>";}
?>
</body>
</html>
<?php
$socket = @fsockopen($host, $port , $errno , $errstr, 2);
if ($socket == false) {значит он блджад выключен, пилим здесь вывод оффлайн статуса; return;}
@fwrite($socket, "\xFE\x01");
$data = "";
$data = @fread($socket, 256);
@fclose($socket);
if ($data == false or substr($data, 0, 1) != "\xFF") return;
$info= substr( $data, 3 );
$info = iconv( 'UTF-16BE', 'UTF-8', $info );
if( $info[ 1 ] === "\xA7" && $info[ 2 ] === "\x31" ) {
$info = explode( "\x00", $info );
$playersOnline=IntVal( $info[4] );
$playersMax = IntVal( $info[5] );
} else {
$info = Explode( "\xA7", $info );
$playersOnline=IntVal( $info[1] );
$playersMax = IntVal( $info[2] );
}
?>
Где-то тут теперь пилить вывод работающего сервера
$socket = @fsockopen($host, $port , $errno , $errstr, 2);
if ($socket == false) {значит он блджад выключен}
Короче как-то так
PHP:<?php $socket = @fsockopen($host, $port , $errno , $errstr, 2); if ($socket == false) {значит он блджад выключен, пилим здесь вывод оффлайн статуса; return;} @fwrite($socket, "\xFE\x01"); $data = ""; $data = @fread($socket, 256); @fclose($socket); if ($data == false or substr($data, 0, 1) != "\xFF") return; $info= substr( $data, 3 ); $info = iconv( 'UTF-16BE', 'UTF-8', $info ); if( $info[ 1 ] === "\xA7" && $info[ 2 ] === "\x31" ) { $info = explode( "\x00", $info ); $playersOnline=IntVal( $info[4] ); $playersMax = IntVal( $info[5] ); } else { $info = Explode( "\xA7", $info ); $playersOnline=IntVal( $info[1] ); $playersMax = IntVal( $info[2] ); } ?> Где-то тут теперь пилить вывод работающего сервера
Оставь как есть, просто это переменные вывода ошибок для отладки.$errno , $errstr - what is this?