Paxton
Banned User
Alrgith, so I made simple script which checks status of server and gets info from it.
PHP:
<?
if(isset($_POST['submit'])){
if(empty($_POST['address']))
echo "Address field is empty.";
else {
$address = htmlentities(strtolower($_POST['address']));
$port = (int)$_POST['port'];
if(empty($_POST['port']))$port = 7171;
@$sock = fsockopen ($address, $port, $errno, $errstr, 1);
if(!$sock) echo "Server did not respond."; else {
$info = chr(6).chr(0).chr(255).chr(255).'info';
fwrite($sock, $info);
$data='';
while (!feof($sock))$data .= fgets($sock, 1024);
fclose($sock);
preg_match('/players online="(\d+)" max="(\d+)"/', $data, $matches);
$players = ''.$matches[1].' / '.$matches[2];
preg_match('/uptime="(\d+)"/', $data, $matches);
$h = floor($matches[1] / 3600);
$m = floor(($matches[1] - $h*3600) / 60);
$uptime = ''.$h.'h '.$m.'m';
preg_match('/monsters total="(\d+)"/', $data, $matches);
$monsters = ''.$matches[1];
preg_match('#<motd>(.*?)</motd>#s', $data, $matches);
$motd = ''.$matches[1];
if(empty($players) or $players == " / ") $players = "??? / ???";if(empty($uptime)) $uptime = "???";if(empty($monsters)) $monsters = "???";if(empty($motd)) $motd = "???";
echo "<fieldset style='border: 1px groove black;'><legend>Response</legend>Response for $address on port $port<br>Players: $players <br> Uptime: $uptime<br> Monsters: $monsters<br> MOTD: <i>$motd</i></fieldset>";
}
}
} else $port = 7171;
?>
<form action='<?=$SERVER['PHP_SELF'];?>' method='post'>
Server address:<br><input type='text' name='address' value='<?=$address;?>' style='border: 1px groove black;'>:<input style='border: 1px groove black;' type='text' value='<?=$port;?>' name='port' size='4'><br><input type='submit' name='submit' value='Check'>
</form>