-
-
Save zekesonxx/1255667 to your computer and use it in GitHub Desktop.
Edit of barneygale's PHP Minecraft Server Pinger
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$host = $_GET['ip']; | |
$port = $_GET['port']; | |
function pingserver($host, $port=25565, $timeout=30) { | |
//Set up our socket | |
$fp = fsockopen($host, $port, $errno, $errstr, $timeout); | |
if (!$fp) return false; | |
//Send 0xFE: Server list ping | |
fwrite($fp, "\xFE"); | |
//Read as much data as we can (max packet size: 241 bytes) | |
$d = fread($fp, 256); | |
//Check we've got a 0xFF Disconnect | |
if ($d[0] != "\xFF") return false; | |
//Remove the packet ident (0xFF) and the short containing the length of the string | |
$d = substr($d, 3); | |
//Decode UCS-2 string | |
$d = mb_convert_encoding($d, 'auto', 'UCS-2'); | |
//Split into array | |
$d = explode("\xA7", $d); | |
//Return an associative array of values | |
return array( | |
'motd' => $d[0], | |
'players' => intval($d[1]), | |
'max_players' => intval($d[2])); | |
} | |
$serverinfo = pingserver($_GET['ip'], $_GET['port'], $_GET['to']); | |
?> | |
<b>Message:</b><i><?php echo $serverinfo['motd']; ?></i><br /> | |
<b>Players</b><i><?php echo $serverinfo['players']; ?>/<?php echo $serverinfo['max_players']; ?></i> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment