Query Library GameAP
Версия от 14:55, 15 мая 2014; Nikita (обсуждение | вклад)
Библиотека для опроса игровых серверов. Позволяет получить данные текущего состояния сервера, список игроков, текущую карту.
Библиотека служит мостом между GameAP и GameQ
Содержание
Расположение файла
application/libraries/Query.php
Загрузка библиотеки
$this->load->library('query');Примеры использования
Получение базовых кваров сразу для двух серверов
$this->load->library('query');
$query = array('id' => 1, 'type' => 'goldsource', 'host' => '31.31.202.96', 'port' => 27015);
$this->query->set_data($query);
$query = array('id' => 2, 'type' => 'goldsource', 'host' => '31.31.202.96', 'port' => 27017);
$this->query->set_data($query);
print_r($this->query->get_base_cvars());
/*
Array
(
[1] => Array
(
[hostname] => UMI7EPATOP CEPBEP - HLDM.ORG
[map] => crater88
[game] =>
[game_code] => valve
[players] => 5
[maxplayers] => 32
[version] => 47
[password] => 0
[joinlink] => steam://connect/31.31.202.96:27015/
)
[2] => Array
(
[hostname] => BECEJIbIU CEPBEP - HLDM.ORG
[map] => boot_camp
[game] =>
[game_code] => valve
[players] => 4
[maxplayers] => 32
[version] => 47
[password] => 0
[joinlink] => steam://connect/31.31.202.96:27017/
)
*/
Задание данных
set_data
Задает данные сервера.
set_data( array $server_info )
| Параметр | Описание |
|---|---|
| id | Идентификатор сервера. Параметр может быть опущен, в этом случае как id будет использован хост и порт, разделенные двоеточием. |
| type | Query драйвер. Используется код игры либо код движка игры (goldsource, source, samp, minecraft). |
| host | Хост сервера |
| port | Порт сервера |
Пример:
$query['id'] = 1337;
$query['type'] = 'goldsource';
$query['host'] = '31.31.202.96';
$query['port'] = 27015;
$this->query->set_data($query);
print_r($this->query->get_base_cvars());
/*
Вернет
Array
(
[1337] => Array
(
[hostname] => UMI7EPATOP CEPBEP - HLDM.ORG
[map] => so_4plex
[game] =>
[game_code] => valve
[players] => 6
[maxplayers] => 32
[version] => 47
[password] => 0
[joinlink] => steam://connect/31.31.202.96:27015/
)
)
*/set_option
Задает данные GameQ.
set_option ( $var, $value )
Получение данных
get_base_cvars
Получение базовых кваров сервера -- текущая карта, количество игроков онлайн, хостнейм и пр.
array get_base_cvars ( )
Возвращает массив с основными кварами сервера.
Пример возвращаемого массива:
Array
(
[1337] => Array
(
[hostname] => UMI7EPATOP CEPBEP - HLDM.ORG
[map] => so_4plex
[game] =>
[game_code] => valve
[players] => 6
[maxplayers] => 32
[version] => 47
[password] => 0
[joinlink] => steam://connect/31.31.202.96:27015/
)
)
| Название ключа | Описание |
|---|---|
| hostname | Название сервера |
| map | Текущая карта на сервере |
| game | Игра |
| game_code | Код игры |
| players | Текущее количество игроков на сервере |
| maxplayers | Максимальное количество игроков на сервере |
| version | Версия сервера |
| password | Установлен ли пароль на сервер (0/1) |
| joinlink | Ссылка для соединения с сервером |
get_cvars
Получение всех кваров сервера.
array get_cvars ( )
Возвращает все доступные квары сервера. Для каждой игры набор кваров может быть уникальным. Пример возвращаемого массива:
Array
(
[1337] => Array
(
[address] => 127.0.0.1:27015
[allow_spectators] => 1
[amx_client_languages] => 1
[amx_language] => en
[amx_nextmap] => frontier
...
)
)
get_players
Получение списка игроков на сервере.
array get_players ( )
Пример возвращаемого массива:
Array
(
[1337] => Array
(
[0] => Array
(
[name] => (1)Player
[score] => 0
)
[1] => Array
...
| Название ключа | Описание |
|---|---|
| name | Никнейм игрока |
| score | Счет игрока |
get_status
Получение статуса сервера.
bool get_status ( )
| Документация для разработчиков | |
|---|---|
| Помощники: | •DS Helper |
| Модели: | •Users •Servers •Games •Game Types |
| Библиотеки: | •Query •Rcon •Control •Files •Install |