/** * @return array|mixed|null */ public function call() { $Query = new MinecraftQuery(); try { $Query->Connect($this->host, $this->port); $info = $Query->GetInfo(); $players = $Query->GetPlayers(); // Server info $data['server'] = array('host' => $this->host, 'port' => $this->port, 'motd' => '', 'players_max' => $info['MaxPlayers'], 'players_online' => $info['Players'], 'version' => array('name' => $info['Software'])); // Players $players_new = array(); if (is_array($players)) { foreach ($players as $player) { $players_new[] = array('name' => $player); } } $data['players'] = $players_new; // Plugins $plugins_new = array(); if (is_array($info['Plugins'])) { foreach ($info['Plugins'] as $plugin) { $plugins_new[] = array('name' => $plugin); } } $data['plugins'] = $plugins_new; return $data; } catch (MinecraftQueryException $e) { //echo $e->getMessage( ); return null; } }
} else { exit(json_encode(array('error' => 1, 'msg' => 'No log file found.'))); } // Get requested byte range $start = isset($_REQUEST['start']) ? intval($_REQUEST['start']) : 0; $end = isset($_REQUEST['end']) ? intval($_REQUEST['end']) : null; $data = @file_get_contents($file, false, null, $start, $end); $return = array('start' => $start, 'end' => $start + strlen($data), 'data' => $data); if ($data === false) { $data = file_get_contents($file, false, null, 0, 30 * 1024); $return = array('error' => 2, 'msg' => 'Failed to requested bytes from the log file. Returned first 30 KB.', 'start' => 0, 'end' => strlen($data), 'data' => $data); } echo json_encode($return); case 'players': require_once 'inc/MinecraftQuery.class.php'; $mq = new MinecraftQuery(); try { $mq->Connect(KT_LOCAL_IP, $user['port'], 2); // 2 second timeout } catch (MinecraftQueryException $ex) { echo json_encode(array('error' => 1, 'msg' => $ex->getMessage())); die; } $data = array('info' => $mq->GetInfo(), 'players' => $mq->GetPlayers()); echo json_encode($data); break; case 'set_jar': $result = user_modify($user['user'], $user['pass'], $user['role'], $user['home'], $user['ram'], $user['port'], $_POST['jar']); echo json_encode($result); break; }
define('MQ_SERVER_PORT', 25565); define('MQ_TIMEOUT', 1); $Query = new MinecraftQuery(); try { $Query->Connect(MQ_SERVER_ADDR, MQ_SERVER_PORT, MQ_TIMEOUT); } catch (MinecraftQueryException $e) { $Exception = $e; } $info = $Query->GetInfo(); ?> <div class="panel panel-info visible-lg"> <div class="panel-heading"><?php echo $info['Players']; ?> /<?php echo $info['MaxPlayers']; ?> on Al3xPro</div> <div class="panel-body"> <?php if (($Players = $Query->GetPlayers()) !== false) { foreach ($Players as $Player) { echo '<img data-toggle="tooltip" data-placement="top" title="' . $Player . '" src="https://minotar.net/avatar/' . $Player . '/25.png">'; } } else { echo 'No one online'; } ?> </div> </div><?php
<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="css/widget.css"> <script src="js/toggle.js"></script> <script> </script> </head> <?php require "util/MinecraftQuery.php"; require "config.php"; $Query = new MinecraftQuery(); $Query->Connect($ip, $port, 1); $info = $Query->GetInfo(); $players = $Query->GetPlayers(); $player_array = implode("", $players); ?> <body> <div id="widget"> <div id="top_panel_green" onclick="toggle()"> <div id="text">Server Online<br /><?php print $info["Players"]; ?> /<?php print $info["MaxPlayers"]; ?> </div> </div> <div id="body"> <table style="max-width:150px; word-wrap: break-word;">
<?php require_once "includes/settings.php"; require_once "classes/Login.php"; $login = new Login(); if ($login->isUserLoggedIn() == true) { $Query = new MinecraftQuery(); try { $Query->Connect($_SESSION['server_address'], $_SESSION['server_port']); $server_getInfo = $Query->GetInfo(); $server_getPlayers = $Query->GetPlayers(); ?> <table border="0"> <tr> <td>Server Status --</td><td></td> </tr> <tr> <td>MOTD</td><td><?php echo $server_getInfo['HostName']; ?> </td> </tr> <tr> <td>Game Type</td><td><?php echo $server_getInfo['GameType']; ?> </td> </tr> <tr> <td>Version</td><td><?php echo $server_getInfo['Version'];