Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as PHP by Alexjj ( 15 years ago )
<?php
Header("Content-Type: image/png");
$accountNumber = 52894;
$xmlurl = "http://clanforge.multiplay.co.uk/public/servers.pl?event=Online;opt=ServersXmlList;accountserviceid=${accountNumber};fake=servers.xml";
$port = "27465";
$img = imagecreatefrompng("http://mc.alexjj.com/image.png"); // Put your image url here, the text will be shown on it, ideal size is 250x60px
$gameServers = array();
$currentServer = null;
$red = ImageColorAllocate($img, 192, 0, 0);
$green = ImageColorAllocate($img, 0, 192, 0);
$white = ImageColorAllocate($img, 255, 255, 255);
$black= ImageColorAllocate($img, 0, 0, 0);
$font_height = ImageFontHeight(3);
$font_width = ImageFontWidth(3);
$image_height = ImageSY($img);
$image_width = ImageSX($img);
$Length = $font_width*strlen($text);
$image_center_x = ($image_width/2)-($length/2);
$image_center_y = ($image_height/2)-($font_height/2);
$XMLReader = new XMLReader();
$XMLReader->open($xmlurl);
while ($XMLReader->read())
{
$name = $XMLReader->name;
$value = $XMLReader->readString();
switch ($name)
{
case "#text":
case "qstat":
break;
case "server":
if ($currentServer != $XMLReader->getAttribute('address'))
$currentServer = $XMLReader->getAttribute('address');
if (!array_key_exists($currentServer, $gameServers))
{
$gameServers [$currentServer]= array(
'name' => '',
'address' => $XMLReader->getAttribute('address'),
'gametype' => '',
'status' => $XMLReader->getAttribute('status'),
'ping' => 0,
'retries' => 0,
'map' => '_none',
'numplayers' => 0,
'maxplayers' => 0,
'numspectators' => 0,
'maxspectators' => 0,
);
}
break;
default:
if (empty($value))
break;
$gameServers[$currentServer][$name] = $value;
break;
}
}
$XMLReader->close();
if (count($gameServers) > 0)
{
foreach ($gameServers as &$server)
{
// Determine status
if ($server['status'] == "DOWN" || $server['status'] == "TIMEOUT")
{
$server['name'] = "Server is down";
$server['map'] = "N/A";
}
$sname = $server['name'];
ImageString($img, 2, 60, 3, $sname, $white);
$saddress = $server['address'];
$saddarray = explode(':', $saddress);
$saddress = $saddarray[0];
$saddress .= ":";
$saddress .= $port;
ImageString($img, 2, 60, 16, $saddress, $white);
$sstatus = $server['status'];
if ($sstatus == "UP")
{
$sstatus = "ONLINE";
ImageString($img, 2, 60, 29, $sstatus, $green);
}
elseif ($sstatus == "DOWN")
{
$sstatus = "OFFLINE";
ImageString($img, 2, 60, 29, $sstatus, $red);
}
else
{
ImageString($img, 2, 60, 29, $sstatus, $red);
}
$splayers = $server['numplayers'];
$smaxplayers = $server['maxplayers'];
$spsentence = "Users online: ".$splayers."/".$smaxplayers;
ImageString($img, 2, 60, 42, $spsentence, $white);
}
}
else
ImageString($img, 2, 60, 3, "No Server found.", $red);
ImagePNG($img);
ImageDestroy($img);
?>
Revise this Paste