Example #1
0
 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);
 }
Example #2
0
 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);
     }
 }