Query Library GameAP: различия между версиями
Перейти к навигации
Перейти к поиску
Nikita (обсуждение | вклад) |
Nikita (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
== Расположение файла == | == Расположение файла == | ||
− | 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> | ||
+ | |||
+ | |||
== Задание данных == | == Задание данных == | ||
Строка 19: | Строка 66: | ||
Задает данные сервера. | Задает данные сервера. | ||
set_data( $server_info ) | set_data( $server_info ) | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Параметр !! Описание | ||
+ | |- | ||
+ | | id || Идентификатор сервера. | ||
+ | |- | ||
+ | | type || Query драйвер. Используется код игры либо код движка игры (goldsource, source, samp, minecraft). | ||
+ | |- | ||
+ | | host || Хост сервера | ||
+ | |- | ||
+ | | port || Порт сервера | ||
+ | |} | ||
'''Пример:''' | '''Пример:''' |
Версия 14:12, 15 мая 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/
)
*/
Задание данных
set_data
Задает данные сервера.
set_data( $server_info )
Параметр | Описание |
---|---|
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 ( )