public function __construct(Server $server, $timeout = 5)
{
$this->timeout = $timeout;
$this->serverName = $server->getMotd();
$this->listPlugins = $server->getProperty("settings.query-plugins", true);
$this->plugins = $server->getPluginManager()->getPlugins();
$this->players = [];
foreach ($server->getOnlinePlayers() as $player) {
if ($player->isOnline()) {
$this->players[] = $player;
}
}
if ($server->isDServerEnabled() and $server->dserverConfig["queryMaxPlayers"]) {
$pc = $server->dserverConfig["queryMaxPlayers"];
} elseif ($server->isDServerEnabled() and $server->dserverConfig["queryAllPlayers"]) {
$pc = $server->getDServerMaxPlayers();
} else {
$pc = $server->getMaxPlayers();
}
if ($server->isDServerEnabled() and $server->dserverConfig["queryPlayers"]) {
$poc = $server->getDServerOnlinePlayers();
} else {
$poc = count($this->players);
}
$this->gametype = ($server->getGamemode() & 0x1) === 0 ? "SMP" : "CMP";
$this->version = $server->getVersion();
$this->server_engine = $server->getName() . " " . $server->getPocketMineVersion();
$this->map = $server->getDefaultLevel() === null ? "unknown" : $server->getDefaultLevel()->getName();
$this->numPlayers = $poc;
$this->maxPlayers = $pc;
$this->whitelist = $server->hasWhitelist() ? "on" : "off";
$this->port = $server->getPort();
$this->ip = $server->getIp();
}