12hi89
Участник
- Сообщения
- 57
- Реакции
- 2
Добрый день, пытаюсь вывести онлайн сервера CSGO на сайт, но не выходит.
Нашел скрипт для cs 1.6 но он выводит только карту,а вместо онлайна всегда цифра 1, помогите решить проблему.
Прикрепляю скрипт
Нашел скрипт для cs 1.6 но он выводит только карту,а вместо онлайна всегда цифра 1, помогите решить проблему.
Прикрепляю скрипт
PHP:
<?php
// ****************************
$server = '31.131.252.130'; // Ip адрес Пример: 1.1.128.777 (:D);
$port = '27101'; // Порт адрес Пример: 27015;
// ****************************
// функции ядра можно сказать что оброботка сервера
function GetServerInfo($server,$port) {
$fp = @fsockopen("udp://".$server, $port);
if (!$fp) return false;
fwrite($fp,"\xFF\xFF\xFF\xFFTSource Engine Query\0\r");
$start=time();
socket_set_timeout($fp,1);
$st=fread($fp,4);
$r=socket_get_status($fp);
$result['status'] = $r["timed_out"];
$r=$r["unread_bytes"];
if ($r == 0) { @fclose($fp); return false;}
$st.=fread($fp,$r);
@fclose($fp);
$st=substr($st,5);
$address=SubStr($st,0,StrPos($st,chr(0)));
$address=str_replace(chr(0),"|",$address);
$st=SubStr($st,StrPos($st,chr(0))+1);
$name=SubStr($st,0,StrPos($st,chr(0)));
$st=SubStr($st,StrPos($st,chr(0))+1);
$map=SubStr($st,0,StrPos($st,chr(0)));
$st=SubStr($st,StrPos($st,chr(0))+1);
$st=SubStr($st,StrPos($st,chr(0))+1);
$st=SubStr($st,StrPos($st,chr(0))+1);
$current=ord(SubStr($st,0,1));
$max=ord(SubStr($st,1,1));
if ($map == "") return false;
$result['map'] = $map;
$result['name']= $name;
$result['current'] = $current;
$result['max'] = $max;
return $result;
}
$serv = GetServerInfo($server,$port);
if ($serv) {
echo '
<b>CS:GO Deathrun:</b> '.$server.':'.$port.'
<br>
<b>Карта:</b> '.$serv['name'].'
<br>
<b>Игроков онлайн:</b> '.$serv['current'].'
<br>
<b>Статус:</b> On-line
<br>
';
} else {
echo 'Статус: Off-line';
}
?>