<?php if(!defined("MCR")){ exit("Hacking Attempt!"); } class XPawPing{ // Set default values public $ip = '127.0.0.1'; public $port = 25565; public $status = 0; // server status public $version = ''; public $online = 0; public $slots = 0; public $players = ''; public $motd = ''; public $plugins = ''; public $map = ''; public $error = ''; public function __construct(){ require_once(MCR_MON_PATH.'xpaw/MinecraftPing.php'); require_once(MCR_MON_PATH.'xpaw/MinecraftPingException.php'); } public function connect($ip='127.0.0.1', $port=25565){ $this->status = $this->online = $this->slots = 0; $this->version = $this->players = $this->motd = $this->plugins = $this->map = $this->error = ''; $this->ip = $ip; $this->port = $port; $array = false; $Query = null; try{ $Query = new MinecraftPing($ip, $port, 3); $array = $Query->Query(); if($array === false){ $Query->Close(); $Query->Connect(); $array = $Query->QueryOldPre17(); } }catch(MinecraftPingException $e){ $Exception = $e; } if($Query !== null){ $Query->Close(); } if(isset($Exception)){ return false; } if($array == false){ return false; } $this->status = 1; $this->version = @$array['version']['name']; $this->motd = @$array['description']; $this->online = intval(@$array['players']['online']); $this->slots = intval(@$array['players']['max']); return true; } } ?>