public function getServerInfo() { if (!Request::ajax()) { die; } $this->setServers(); $cp = new TMFColorParser(); $output = array(); foreach ($this->config['servers'] as $server) { $client = new MadRemote(); if ($client->connect($server['ip'], $server['port'])) { $client->Authenticate($server['user'], $server['pass']); $version = $client->GetVersion(); $srvdata = $client->GetServerOptions(); $players = $client->GetPlayerList(300, 0); $cmap = $client->GetCurrentMapInfo(); $nmap = $client->GetNextMapInfo(); if (!empty($version) && !empty($srvdata)) { $out = array(); $env = $version['TitleId']; $link = 'maniaplanet://#join=' . $server['login'] . '@' . $env; $name = $srvdata['Name']; $playermax = $srvdata['CurrentMaxPlayers']; $spectatormax = $srvdata['CurrentMaxSpectators']; if (!empty($players)) { $pc = 0; $sc = 0; foreach ($players as $player) { if ($player['IsSpectator'] == 1) { $sc++; } else { $pc++; } } $pm = $pc . ' / ' . $playermax; $sm = $sc . ' / ' . $spectatormax; } else { $pm = '0 / ' . $playermax; $sm = '0 / ' . $spectatormax; } $out['name'] = $cp->toHTML($name); $out['players'] = $pm; $out['spectators'] = $sm; $out['login'] = $server['login']; $out['env'] = $env; $out['cmap'] = $cp->toHTML($cmap['Name']); $out['nmap'] = $cp->toHTML($nmap['Name']); array_push($output, $out); } } $client->close(); } return Response::json($output); }
public function getPlayerNum() { if (Request::ajax()) { $this->servers(); $player_count = 0; foreach ($this->config['servers'] as $server) { $client = new MadRemote(); if ($client->connect($server['ip'], $server['port'])) { $client->Authenticate($server['user'], $server['pass']); $version = $client->GetVersion(); if (!empty($version)) { $players = $client->GetPlayerList(100, 0); $num = count($players); $player_count += $num; } } $client->close(); } $total = $this->playerTotal(); $online = $player_count; $output = array($total, $online); return Response::json($output); } }