Parašė Memento Mori· 2011 Spa. 31 21:10:41
#1
Sveiki taigi reikia
php serverių listo koduko kokio gražesnio pvz.:
http://dmg.lt/news.php nesakau ,kad reikia kopijos ,bet daug kur esu matęs tokį.
Tai gal kad pasharinsit linką ar patį kodą? ;)
Kaip ir turiu tokį tik gal kas galėtų prirašyti kodo ,kad atvaizduotų dar serverio statusą ir pvz.: paveikslėlį priekyje counter-strike :)
<?php
echo '
<table border="1">
<tr>
<th>Serveris</th>
<th>IP adresas</th>
<th>Žaideju</th>
<th>Žemelapis</th>
</tr>';
?>
<?php
$packet = "\xFF\xFF\xFF\xFFTSource Engine Query\x00";
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;
}
if(!$live_server = fsockopen("udp://cs.gamebox.lt:27015"))
{
$output = "on";
}
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 = "";
}
else
{
$output = "Full";
}
if ($output != "Full" and $players != "0" or $maxplayers != "0")
{
$output = $output;
}
else
{
$output = "";
}
if ($map != "")
{
$map = $map;
}
else
{
$map = "nera";
}
}
echo'
<tr>
<td>Server 1</td>
<td>cs.gamebox.lt:27015</td>
<td>'.$players.'/'.$maxplayers.'</td>
<td>'.$map.'</td>
</tr>
';
?>
<?php
$packet = "\xFF\xFF\xFF\xFFTSource Engine Query\x00";
function getnextstring2(&$data)
{
$temp="";
$counter=0;
while (ord($data[$counter++])!=0) $temp.=$data[$counter-1];
$data=substr($data,strlen($temp)+1);
return $temp;
}
function getnextbytevalue2(&$data)
{
$temp=ord($data[0]);
$data=substr($data,1);
return $temp;
}
if(!$live_server = fsockopen("udp://cs.gamebox.lt:27016"))
{
$output = "on";
}
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 = getnextstring2($server_info);
$servername = getnextstring2($server_info);
$map = getnextstring2($server_info);
$junk = getnextstring2($server_info);
$junk = getnextstring2($server_info);
$players = getnextbytevalue2($server_info);
$maxplayers = getnextbytevalue2($server_info);
}
if ($players != "")
{
$players = $players;
}
else
{
$players = "0";
}
if ($maxplayers != "")
{
$maxplayers = $maxplayers;
}
else
{
$maxplayers = "0";
}
if ($players < $maxplayers)
{
$output = "";
}
else
{
$output = "Full";
}
if ($output != "Full" and $players != "0" or $maxplayers != "0")
{
$output = $output;
}
else
{
$output = "";
}
if ($map != "")
{
$map = $map;
}
else
{
$map = "nera";
}
}
echo'
<tr>
<td>Server 2</td>
<td>cs.gamebox.lt:27016</td>
<td>'.$players.'/'.$maxplayers.'</td>
<td>'.$map.'</td>
</tr>
';
?>
<?php echo "</table>"; ?>