Source query не работает на конкретном хостинге

Делаю мониторинг сервера Garry`s mod на сайт. Нашел этот код:

<?php 
$ip = '185.137.235.101'; 
$port = '27315';
$queryport   = '27315'; 

$socket = @fsockopen("udp://".$ip, $queryport , $errno, $errstr, 1);

stream_set_timeout($socket, 1);
stream_set_blocking($socket, TRUE);
fwrite($socket, "\xFF\xFF\xFF\xFF\x54Source Engine Query\x00");
$response = fread($socket, 4096);
@fclose($socket);

$packet = explode("\x00", substr($response, 6), 5);
$server = array();

$server['name'] = $packet[0];
$server['map'] = $packet[1];
$server['game'] = $packet[2];
$server['description'] = $packet[3];
$inner = $packet[4];
$server['players'] = ord(substr($inner, 2, 1));
$server['playersmax'] = ord(substr($inner, 3, 1));
$server['password'] = ord(substr($inner, 7, 1));
$server['vac'] = ord(substr($inner, 8, 1));

$server['version'] = substr($inner, 9, 11);
//var_dump( $server );
if ($server) { 
echo '<br>
<b>Название:</b> '.$server['name'].'
<br>
<b>IP:</b><a href=steam://connect/'.$ip.':'.$queryport.'>'.$ip.':'.$port.'</a>
<br>
<b>Карта:</b> '.$server['map'].' 
<br> 
<b>Игроков онлайн:</b> '.$server['players'].' / '.$server['playersmax'].'
<br> 
<b>Статус:</b> On-line
<br>
<b>Версия:</b> '.$server['version'].'
'; 
} else { 
echo 'Статус: Off-line'; 
}
?>

Этот и подобные ему варианты возвращают бред вместо названия сервера (��$ и подобное, почти каждый раз разное) и неправильную информацию по количеству игроков. Не работает только с серверами на Overhosting. Сапорт говорит, проблема с моим кодом. Пример из xPaw работает.


Ответы (0 шт):