예제 #1
0
function ServerPulse()
{
    $server = new Server();
    //Get server address
    $server->setAddress($_SERVER['REMOTE_ADDR']);
    //Grab input
    $server->setPort($_REQUEST["port"]);
    $server->setName($_REQUEST["name"]);
    $server->setVersion($_REQUEST["version"]);
    $server->setPrivateKey($_REQUEST["fingerprint"]);
    $server->setMaxClients($_REQUEST["max"]);
    $server->setPublic($_REQUEST["public"]);
    $server->setPasswordProtected($_REQUEST["passwordProtected"]);
    $server->setAllowGuests($_REQUEST["allowGuests"]);
    $server->setUserCount($_REQUEST["users"]);
    $server->setUserList($_REQUEST["players"]);
    $server->setMotd($_REQUEST["motd"]);
    $server->setGameMode($_REQUEST["gamemode"]);
    //Update (or create) server record
    return Server::updateServer($server);
}
 function getServerGroups()
 {
     $sql = "SELECT server_group_id, group_name, description FROM gban_server_group ORDER BY group_name ASC";
     $this->db->sql_query($sql);
     $groups = $this->db->get_array();
     $serverGroups = array();
     for ($i = 0; $i < count($groups); $i++) {
         $serverGroup = new ServerGroup();
         $serverGroup->setId($groups[$i]['server_group_id']);
         $serverGroup->setName(stripslashes($groups[$i]['group_name']));
         $serverGroup->setDescription(stripslashes($groups[$i]['description']));
         // Determine the servers associated with this server group
         if ($serverGroup->getId() != null) {
             $serversQuery = "SELECT server_id, name, ip, port, type, plugin\r\n                         FROM gban_servers\r\n                         WHERE server_group_id = '" . $serverGroup->getId() . "'\r\n                         ORDER BY server_id";
             $this->db->sql_query($serversQuery);
             $servers = $this->db->get_array();
             $serverList = array();
             for ($j = 0; $j < count($servers); $j++) {
                 $server = new Server();
                 $server->setId($servers[$j]['server_id']);
                 $server->setName(stripslashes($servers[$j]['name']));
                 $server->setIp($servers[$j]['ip']);
                 $server->setPort($servers[$j]['port']);
                 $server->setType($servers[$j]['type']);
                 $server->setPlugin($servers[$j]['plugin']);
                 array_push($serverList, $server);
                 // Add the server object to the array
             }
             $serverGroup->setServers($serverList);
         }
         // Done getting servers associated with this server group
         array_push($serverGroups, $serverGroup);
         // Add the server object to the array
     }
     return $serverGroups;
 }
예제 #3
0
 public static function getServerList()
 {
     //Grab connection object
     $mysqli = Utility::getSQLConnection();
     $sql = "SELECT server_id, address, port, version, name, private_key, key_hash, ";
     $sql .= "max_clients, public, password_protected, allow_guests, user_count, ";
     $sql .= "user_list, motd, game_mode, last_heartbeat_date, created_date ";
     $sql .= "FROM servers ";
     $sql .= "WHERE last_heartbeat_date > (NOW() - INTERVAL 8 HOUR) ";
     $sql .= "ORDER BY last_heartbeat_date DESC";
     //Prepare query to find server
     $stmt = $mysqli->prepare($sql);
     if ($mysqli->errno) {
         trigger_error($mysqli->error, E_USER_ERROR);
     }
     //Run query
     $stmt->execute();
     if ($mysqli->errno) {
         $stmt->close();
         unset($stmt);
         trigger_error($mysqli->error, E_USER_ERROR);
     }
     $stmt->bind_result($serverId, $address, $port, $version, $name, $privateKey, $keyHash, $maxClients, $public, $passwordProtected, $allowGuests, $userCount, $userList, $motd, $gameMode, $lastHeartbeatDate, $createdDate);
     $serverList = array();
     while ($stmt->fetch()) {
         $server = new Server();
         //Fill server object
         $server->setServerId($serverId);
         $server->setAddress($address);
         $server->setPort($port);
         $server->setVersion($version);
         $server->setName($name);
         $server->setPrivateKey($privateKey);
         $server->setPublicKey($keyHash);
         $server->setMaxClients($maxClients);
         $server->setPublic($public);
         $server->setPasswordProtected($passwordProtected);
         $server->setAllowGuests($allowGuests);
         $server->setUserCount($userCount);
         $server->setUserList($userList);
         $server->setMotd($motd);
         $server->setGameMode($gameMode);
         $server->setLastHeartbeatDate($lastHeartbeatDate);
         $server->setCreatedDate($createdDate);
         $serverList[] = $server;
     }
     $stmt->close();
     unset($stmt);
     return $serverList;
 }