_data; $server = &$this->_server; $this->set('name', $data->get('sv_hostname')); $this->set('full_address', $server->getAddress()); $this->set('data', $data->getRawData()); $this->set('online_players', count($data->getPlayers())); $this->set('max_players', $data->get('sv_maxclients')); $this->set('mod', $data->get('gamename')); $this->set('map', $data->get('mapname')); $this->set('status', $server->_status); $this->set('num_settings', count($data->getSettings())); $this->loadServer(); } function getPlayers() { return $this->_data->getPlayers(); } function &getSettings() { if($this->_settings === NULL) { $settings = $this->_data->getSettings(); $buffer = array(); foreach($settings as $name => $value) { $buffer[] = array('name' => $name, 'value' => $value); } $this->_settings = &new FAArrayIterator($buffer); } return $this->_settings; } 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(); } } ?>