protected function queryServer($server, &$response)
 {
     $error_level = error_reporting(E_ALL & ~E_USER_NOTICE);
     $lib_path = gameservers_get_path_library('steam-condenser') . '/lib';
     set_include_path(get_include_path() . PATH_SEPARATOR . $lib_path);
     require_once 'steam/servers/SourceServer.php';
     try {
         $config = $server->config['query'];
         if ($config['gametype'] == 'goldsrc') {
             $server = new GoldSrcServer(new InetAddress($server->hostname), $server->port);
         } else {
             $server = new SourceServer(new InetAddress($server->hostname), $server->port);
         }
         $server->initialize();
         $response['raw'] = array('server' => $server->getServerInfo(), 'players' => $server->getPlayers(), 'rules' => $server->getRules(), 'ping' => $server->getPing());
         $response['address'] = $server->hostname;
         $response['port'] = $response['raw']['server']['serverPort'];
         $response['online'] = $response['raw']['ping'] ? TRUE : FALSE;
         $response['protocol'] = $config['gametype'];
         $response['game'] = $response['raw']['server']['gameDir'];
         $response['servername'] = $response['raw']['server']['serverName'];
         $response['mapname'] = $response['raw']['server']['mapName'];
         $response['numplayers'] = $response['raw']['server']['playerNumber'];
         $response['maxplayers'] = $response['raw']['server']['maxPlayers'];
         $response['extra'] = $server->getRules();
         foreach ($server->getPlayers() as $steam_player) {
             $player = new stdClass();
             $player->name = check_plain($steam_player->getName());
             $player->score = $steam_player->getScore();
             $player->time = $steam_player->getConnectTime();
             $response['players'][] = $player;
         }
     } catch (Exception $ex) {
         drupal_set_message($ex->__toString(), 'error');
     }
     error_reporting($error_level);
     return TRUE;
 }
Esempio n. 2
0
 public function testRandomSourceServer()
 {
     $masterServer = new MasterServer(MasterServer::SOURCE_MASTER_SERVER);
     $serverArray = $masterServer->getServers(MasterServer::REGION_ALL, "\\type\\d\\empty\\1\\full\\1\\gamedir\\tf");
     $serverAddress = $serverArray[array_rand($serverArray)];
     $server = new SourceServer(new InetAddress($serverAddress[0]), $serverAddress[1]);
     $server->initialize();
     $server->updatePlayerInfo();
     $server->updateRulesInfo();
     $this->assertNotNull($server->getPing());
     $this->assertNotNull($server->getPlayers());
     $this->assertNotNull($server->getRules());
     $this->assertNotNull($server->getServerInfo());
     echo $server;
 }
        echo $serverData['gameDesc'];
        ?>
<br/>
				<?php 
        echo $serverData['mapName'];
        ?>
				<?php 
        echo $serverData['playerNumber'];
        ?>
/<?php 
        echo $serverData['maxPlayers'];
        ?>

				<?php 
        // $server->getRcon()  To new Steam_Comunity version when they fix rcon conecction
        $SteamPlayers = $serverSC->getPlayers();
        if (count($SteamPlayers) > 0) {
            $usersOnlineTable = "<div class='tborder'>";
            $usersOnlineTable .= "<div id='tableHead'>";
            $usersOnlineTable .= $LAN_SERVERLIST_004;
            $usersOnlineTable .= "</div>";
            $usersOnlineTable .= "<table class='bordercolor' width='100%'' cellspacing='1' cellpadding='5' border='0' style='margin-top: 1px;'>";
            $usersOnlineTable .= $LAN_SERVERLIST_005;
            foreach ($SteamPlayers as $SteamPlayer) {
                if ($i % 2 == 0) {
                    $usersOnlineTable .= "<tr class='rowColor1'>";
                } else {
                    $usersOnlineTable .= "<tr class='rowColor2'>";
                }
                $usersOnlineTable .= "<td>";
                $usersOnlineTable .= $SteamPlayer->getId();
Esempio n. 4
0
<style type="text/css">
tr.d0 td {
	background-color: #D3D3D3; color: black;
}
tr.d1 td {
	background-color: #C0C0C0; color: black;
}
</style>
<?


$ipAddress = $ip;
$server = new SourceServer($ipAddress, $portNumber);
echo '<link rel="stylesheet" href="css/main.css">';
try {
    $players = $server->getPlayers($rconpass);
} catch (Exception $e) {
    echo 'Server unreachable.'; exit;
}
if (empty($players)) { echo 'No active players found on server'; exit;} 

        if ($settings['usestats']['config'] == 'yes') {
                $statsinfo[0] = $settings['statsprogram']['config'];
                $statsinfo[1] = $settings['statsurl']['config'];
        }

echo "<table>";
echo "<tr bgcolor=FF8C00><th width=14%>Name</th><th width=25%>Score</th><th width=14%>Ping</th><th width=14%>steamid</th><th width=14%>connect time</th><th width=14%>state</th><th width=14%>ip</th><th width=14% nowrap=nowrap>Quick Info</th></tr>";
$i=0;
foreach($players as $player) {
        $steamid = $player->getsteamid();