Помогите Как получить состояние сервера и кол-во игроков?

Евгеха19_93

Старожил
Пользователь
Баллы
153
Имя в Minecraft
Xeleon
Как получить состояние сервера и кол-во игроков php скриптом? (короче, мониторинг, только просто статус и кол-во игроков, без полоски)
 
Я свой хочу замутить, не надо мне ваших мониторингов, у меня фантазии хватает. Мне нужен код, а не раздел
Зато у вас не хватает "не знаю чего" чтобы взять готовый код из готового мониторинга.
 
Зато у вас не хватает "не знаю чего" чтобы взять готовый код из готового мониторинга.

Если вы такие умные, дайте. Ибо там все запутано, из функции ничего не возвращается, откуда мне брать онлайн?
 
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>
 
$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] );
}
 ?>
Где-то тут теперь пилить вывод работающего сервера
 
$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?
 
Назад
Верх