loadServer(); } function getName() { return $this->_data->get('sv_hostname'); } function getFullAddress() { return $this->_server->getAddress(); } function getData() { return $this->_data->getRawData(); } function getOnlinePlayers() { return count($this->_data->getPlayers()); } function getMaxPlayers() { return $this->_data->get('sv_maxclients'); } function getMod() { return $this->_data->get('gamename'); } function getMap() { return $this->_data->get('mapname'); } function getStatus() { return (int)$this->_server->_status; } function getPlayers() { return $this->_data->getPlayers(); } function &getSettings() { $settings = $this->_data->getSettings(); $buffer = array(); foreach($settings as $name => $value) { $buffer[] = array('name' => $name, 'value' => $value); } return new FAArrayIterator($buffer); } function getNumSettings() { return count($this->_data->getSettings()); } function loadServer() { $api = &new GameServerExtension; $this->_server = &$api->load('q3'); $this->_server->setAddress($this->get('address')); $this->_server->connect(); if($this->_server->getStatus()) $this->_data = $this->_server->getData(); } } ?>