<?php
$image = ImageCreateFromGIF("statusas.gif");
$color = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$color2 = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$colorShadow = imagecolorallocate($image, 0x66, 0x66, 0x66);
$ip = $_GET['ipas'];
$port = $_GET['portas'];
$a = ":";
$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://".$ip,$port))
	    {
		  $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 = "On";
			}
				  
		  else
		  {
		    $output = "Full";
		  }
		  if ($output != "Full" and $players != "0" or $maxplayers != "0")
		  {
			 $output = $output;
		  }
		  else
		  {
			 $output = "Off";
		  }
		  if ($map != "")
			{
			 $map = $map;
			}
			else
			{
			 $map = "nera";
			}
		} 
			
	 


$font = 'comic.ttf';
$fontSize = "17";
$fontSize2 = "15";
$fontRotation = "0";
$str = "Example of GD in PHP.    Date: " . date("m-j-Y  g:i:s (a)");
$infos = "$ip:$port";
$infos2 = "$players/$maxplayers";
/* Shadow */
ImageTTFText($image, $fontSize, $fontRotation, 7, 22, $colorShadow, $font, $infos);

/* Top Level */
ImageTTFText($image, $fontSize, $fontRotation, 5, 20, $color, $font, $infos);

/* Top Level */
ImageTTFText($image, $fontSize2, $fontRotation, 38, 55, $color, $font, $map);
ImageTTFText($image, $fontSize2, $fontRotation, 261, 55, $color, $font, $infos2);
ImageTTFText($image, $fontSize2, $fontRotation, 388, 55, $color2, $font, $output);

header("Content-Type: image/GIF");
ImagePng ($image);
imagedestroy($image);
?>