function getnextstring(&$data)
{
$temp="";
$counter=0;
while (ord($data[$counter++])!=0) $temp.=$data[$counter-1];
$data=substr($data,strlen($temp)+1);
return $temp;
}
function getnextbytevalue(&$data)
{
$temp=ord($data[0]);
$data=substr($data,1);
return $temp;
}
function serveris($ip,$port) {
$ip = $ip;
$port = $port;
$packet = "\xFF\xFF\xFF\xFFTSource Engine Query\x00";
$live_server = fsockopen("udp://".$ip.":".$port."");
if(!$live_server)
{
$output = "Off";
}
else
{
fwrite($live_server, $packet);
socket_set_timeout($live_server,1,0);
$junk = fread($live_server,5);
$status = socket_get_status($live_server);
$do = 1;
$server_info= "";
while($do)
{
$str_1 = fread($live_server,1);
$server_info .= $str_1;
$status = socket_get_status($live_server);
if($status["unread_bytes"] == 0) {$do = 0;}
}
fclose($live_server);
if (strlen($server_info) > 0)
{
$success = 1;
$junk = getnextstring($server_info);
$servername = getnextstring($server_info);
$map = getnextstring($server_info);
$junk = getnextstring($server_info);
$junk = getnextstring($server_info);
$players = getnextbytevalue($server_info);
$maxplayers = getnextbytevalue($server_info);
}
if ($players != '') {
$players = $players;
} else {
$players = "0";
}
if ($maxplayers != '')
{
$maxplayers = $maxplayers;
}
else
{
$maxplayers = "0";
}
if ($players < $maxplayers)
{
$output = "<font color='#ff0000'>On</font>";
}
else
{
$output = "<font color='#54ff00'>Full</font>";
}
if ($output != "Full" and $players != "0" or $maxplayers != "0")
{
$output = $output;
}
else
{
$output = "<font color='#ff3600'>Off</font>";
}
if ($map != '')
{
$map = $map;
}
else
{
$map = "-----";
}
if ($servername != '') {
$servername = $servername;
} else {
$servername = "<font color='#ff3600'>Serveris neveikia</font>";
}
echo "<table cellpadding='0' cellspacing='1' width='100%' height='25'><tr>";
echo"<td class='gtinasr56' align='center'>".$output."</td>
<td class='vovercikas' align='center'>".$ip.":".$port."</td>
<td class='vovercikas' align='center'>".$servername."</td>
<td class='vovercikas' align='center'>".$map."</td>
<td class='vovercikas' align='center'>".$players."/".$maxplayers."</td>";
echo "</tr></table>";
}
}
serveris('77.241.194.220','27015');
serveris('77.241.194.220','27017');
serveris('73.241.154.224','27016');
serveris('77.241.154.227','27015');
serveris('71.241.194.228','27015');