BlackPanda
Neues Mitglied
Hallo liebe Community,
Ich bin neu hier und habe gleich ein Anliegen. Ich habe dieses PHP Code im Internet gefunden und würde ihn gerne in eine einfache html Seite einbinden.
kann mir da vielleicht jemand weiterhelfen?
Ich würde damit halt gerne einen Gameserver Status abbilden.
Danke im Voraus
Ich bin neu hier und habe gleich ein Anliegen. Ich habe dieses PHP Code im Internet gefunden und würde ihn gerne in eine einfache html Seite einbinden.
Code:
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 getServerData($command,$serveraddress,$portnumber,$waittime)
{
$serverdata="";
$serverdatalen=0;
if ($waittime< 500)
$waittime= 500;
if ($waittime>2000)
$waittime=2000;
$waittime=doubleval($waittime/1000.0);
if (!$cssocket=fsockopen("udp://".$serveraddress,$portnumber,$errnr))
{
print("No connection");
return "";
}
@socket_set_blocking($cssocket,true);
@socket_set_timeout($cssocket,0,500000);
fwrite($cssocket,$command,strlen($command));
$starttime=microtime(true);
do
{
$serverdata.=fgetc($cssocket);
$serverdatalen++;
$socketstatus=socket_get_status($cssocket);
if (microtime(true)>($starttime+$waittime))
{
print("Connection timed out");
fclose($cssocket);
return "";
}
}
while ($socketstatus['unread_bytes']);
fclose($cssocket);
return $serverdata;
}
function getPlayersServer($ip, $port) {
$command = "\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00";
$result = getServerData($command, $ip, $port, 1000);
$info = array();
$serverdata = substr($result, 5);
$info['serveraddress'] = getnextstring($serverdata);
$info['servername'] = getnextstring($serverdata);
$info['mapname'] = getnextstring($serverdata);
$info['game'] = getnextstring($serverdata);
$info['gamename'] = getnextstring($serverdata);
$info['currentplayers'] = getnextbytevalue($serverdata);
$info['maxplayers'] = getnextbytevalue($serverdata);
$info['bots'] = getnextbytevalue($serverdata);
return array($info['currentplayers'], $info['maxplayers'], $info);
}
kann mir da vielleicht jemand weiterhelfen?
Ich würde damit halt gerne einen Gameserver Status abbilden.
Danke im Voraus