Ejemplo n.º 1
0
 function QueryServer($server)
 {
     $benchmark = new Benchmark();
     $benchmark->StartTimer("lgsl");
     $result = lgsl_query_live($server->protocol, $server->address, $server->cport, $server->qport, $server->sport, "sep");
     $benchmark->EndTimer("lgsl");
     $queryinfo = $result["b"];
     $serverinfo = $result["s"];
     $servervars = $result["e"];
     $players = $result["p"];
     /*foreach($result as $k => $v)
     	 {
     		echo "<br/><br/>$k<br/>";
     		var_dump($v);
     		}*/
     //If the server is online then copy the data over.
     if ($queryinfo["status"] == 1) {
         $server->ping = $benchmark->GetBenchmarkMilliSeconds("lgsl");
         $server->hostname = $serverinfo["name"];
         $server->game = $serverinfo["game"];
         $server->map = $serverinfo["map"];
         $server->maxplayers = $serverinfo["playersmax"];
         $server->password = $serverinfo["password"];
         if (isset($servervars["dedicated"])) {
             $server->dedicated = streq($servervars["dedicated"], "d");
         } else {
             $server->dedicated = 1;
         }
         if (isset($servervars["description"])) {
             $server->gamename = $servervars["description"];
         } else {
             $server->gamename = $server->game;
         }
         $server->setServerVars($servervars);
         $playerlist = array();
         foreach ($players as $k => $v) {
             $player = new Lan_servers_player();
             $player->name = $v["name"];
             if (isset($v["score"])) {
                 $player->score = $v["score"];
             } else {
                 if (isset($v["frags"])) {
                     $player->score = $v["frags"];
                 } else {
                     if (isset($v["rank"])) {
                         $player->score = $v["rank"];
                     } else {
                         $player->Score = "0";
                     }
                 }
             }
             if (isset($v["time"])) {
                 $player->time = $v["time"];
             } else {
                 $player->time = "";
             }
             $playerlist[] = $player;
         }
         $server->setPlayers($playerlist);
         $server->playercount = count($playerlist);
     } else {
         $server->ping = "-1";
         $playerlist = array();
         $server->setPlayers($playerlist);
         $server->maxplayers = "";
         $server->playercount = "";
     }
     return $server;
 }