Welcome, guest! Login / Register - Why register?
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

Your Name: Code Language: