Query Library GameAP
Версия от 11:09, 19 июня 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/
)
*/
Задание данных
$this->query->set_data();
Задает данные сервера.
set_data( array $server_info )
Параметр | Описание |
---|---|
id | Идентификатор сервера. Параметр может быть опущен, в этом случае как id будет использован хост и порт, разделенные двоеточием. |
type | Query драйвер. Используется код игры либо код движка игры (goldsource, source, samp, minecraft). |
host | Хост сервера |
port | Порт сервера |
Пример:
$this->load->library('query');
$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/
)
)
*/
$this->query->set_option();
Задает данные GameQ.
set_option ( $var, $value )
Получение данных
$this->query->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 | Ссылка для соединения с сервером |
$this->query->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 ... ) )
$this->query->get_players();
Получение списка игроков на сервере.
array get_players ( )
Пример возвращаемого массива:
Array ( [1337] => Array ( [0] => Array ( [name] => (1)Player [score] => 0 ) [1] => Array ...
Название ключа | Описание |
---|---|
name | Никнейм игрока |
score | Счет игрока |
$this->query->get_status();
Получение статуса сервера.
bool get_status ( )
Документация для разработчиков | |
---|---|
Помощники: | •DS Helper |
Модели: | •Users •Servers •Games •Game Types |
Библиотеки: | •Query •Rcon •Control •Files •Install |