• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Server status with SimpleXML

Nostradamus

Member
Joined
Jun 2, 2007
Messages
219
Reaction score
6
I made this long time ago, because i don't like Deathfire'D' one.
I used only SimpleXML in the whole script, so, it will works for PHP5+

PHP:
<?php
function ServerStatus($ip, $port) {

	$info = chr(6).chr(0).chr(255).chr(255).'info'; 
	$sock = fsockopen($ip, $port, $errno, $errstr, 1); 
	
	if ($sock) { 
		fwrite($sock, $info); 
		$data= ''; 
	
		while (!feof($sock)) { 
			$data .= fgets($sock, 1024); 
		} 
	
		fclose($sock); 
		
		$parser = new SimpleXMLElement($data);
		
		// Global settings
		$server = $parser['servername'];
		$distro = $parser['server'];
		$version = $parser['version'];
		$protocol = $parser['client'];
		
		// Owner settings
		$owner = $parser['owner'];
		$email = $parser['email'];
		
		// Statistic settings
		$players_on = $parser['online'];
		$players_max = $parser['max'];
		$players_peak = $parser['peak'];
		
		$monsters_total = $parser['total'];
		
		$uptime = $parser['uptime'];
		
		// Misc settings
		$real_ip = $parser['ip'];
		$real_port = $parser['port'];
	}
	else { 
		return false;
	}
	return $status;

}	
?>
 
Last edited:
Nice way :), although if field names repeated that would be a prob heh..
 
Back
Top