Query Library GameAP: различия между версиями
Nikita (обсуждение | вклад) (→get_cvars) |
Nikita (обсуждение | вклад) (→$this->query->get_status();) |
||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
[[Категория:АдминПанель]] | [[Категория:АдминПанель]] | ||
− | |||
[[Категория:Документация для разработчиков]] | [[Категория:Документация для разработчиков]] | ||
Строка 7: | Строка 6: | ||
== Расположение файла == | == Расположение файла == | ||
− | application/ | + | application/libraries/Query.php |
== Загрузка библиотеки == | == Загрузка библиотеки == | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
− | $this->load-> | + | $this->load->library('query'); |
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | == Примеры использования == | ||
+ | |||
+ | === Получение базовых кваров сразу для двух серверов === | ||
+ | <syntaxhighlight lang="php"> | ||
+ | $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/ | ||
+ | ) | ||
+ | |||
+ | */ | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
== Задание данных == | == Задание данных == | ||
− | === set_data === | + | === $this->query->set_data(); === |
Задает данные сервера. | Задает данные сервера. | ||
− | set_data( $server_info ) | + | set_data( array $server_info ) |
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Параметр !! Описание | ||
+ | |- | ||
+ | | id || Идентификатор сервера. Параметр может быть опущен, в этом случае как id будет использован хост и порт, разделенные двоеточием. | ||
+ | |- | ||
+ | | type || Query драйвер. Используется код игры либо код движка игры (goldsource, source, samp, minecraft). | ||
+ | |- | ||
+ | | host || Хост сервера | ||
+ | |- | ||
+ | | port || Порт сервера | ||
+ | |} | ||
'''Пример:''' | '''Пример:''' | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
+ | $this->load->library('query'); | ||
+ | |||
$query['id'] = 1337; | $query['id'] = 1337; | ||
$query['type'] = 'goldsource'; | $query['type'] = 'goldsource'; | ||
Строка 50: | Строка 111: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | === set_option === | + | === $this->query->set_option(); === |
Задает данные GameQ. | Задает данные GameQ. | ||
set_option ( $var, $value ) | set_option ( $var, $value ) | ||
Строка 56: | Строка 117: | ||
== Получение данных == | == Получение данных == | ||
− | === get_base_cvars === | + | === $this->query->get_base_cvars(); === |
Получение базовых кваров сервера -- текущая карта, количество игроков онлайн, хостнейм и пр. | Получение базовых кваров сервера -- текущая карта, количество игроков онлайн, хостнейм и пр. | ||
array get_base_cvars ( ) | array get_base_cvars ( ) | ||
Строка 104: | Строка 165: | ||
|} | |} | ||
− | === get_cvars === | + | === $this->query->get_cvars(); === |
Получение всех кваров сервера. | Получение всех кваров сервера. | ||
array get_cvars ( ) | array get_cvars ( ) | ||
Строка 125: | Строка 186: | ||
</pre> | </pre> | ||
− | === get_players === | + | === $this->query->get_players(); === |
Получение списка игроков на сервере. | Получение списка игроков на сервере. | ||
array get_players ( ) | array get_players ( ) | ||
− | == get_status == | + | Пример возвращаемого массива: |
− | Получение статуса сервера. | + | <pre> |
+ | Array | ||
+ | ( | ||
+ | [1337] => Array | ||
+ | ( | ||
+ | [0] => Array | ||
+ | ( | ||
+ | [name] => (1)Player | ||
+ | [score] => 0 | ||
+ | ) | ||
+ | [1] => Array | ||
+ | ... | ||
+ | </pre> | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Название ключа !! Описание | ||
+ | |- | ||
+ | | name || Никнейм игрока | ||
+ | |- | ||
+ | | score || Счет игрока | ||
+ | |} | ||
+ | |||
+ | === $this->query->get_status(); === | ||
+ | Получение статуса сервера. Вернет '''true''', если сервер включен и ответил на query-запрос, и '''false''', в случае если сервер выключен или не ответил на query-запрос. | ||
bool get_status ( ) | bool get_status ( ) | ||
+ | |||
+ | {{Категория:Документация_для_разработчиков}} |
Текущая версия на 11:10, 19 июня 2014
Библиотека для опроса игровых серверов. Позволяет получить данные текущего состояния сервера, список игроков, текущую карту.
Библиотека служит мостом между 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();
Получение статуса сервера. Вернет true, если сервер включен и ответил на query-запрос, и false, в случае если сервер выключен или не ответил на query-запрос.
bool get_status ( )
Документация для разработчиков | |
---|---|
Помощники: | •DS Helper |
Модели: | •Users •Servers •Games •Game Types |
Библиотеки: | •Query •Rcon •Control •Files •Install |