Query Library GameAP: различия между версиями

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
(get_cvars)
($this->query->get_status();)
 
(не показано 7 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
[[Категория:АдминПанель]]
 
[[Категория:АдминПанель]]
[[Категория:Документация_GameAP]]
 
 
[[Категория:Документация для разработчиков]]
 
[[Категория:Документация для разработчиков]]
  
Строка 7: Строка 6:
  
 
== Расположение файла ==
 
== Расположение файла ==
  application/helpers/ds_helper.php
+
  application/libraries/Query.php
  
 
== Загрузка библиотеки ==
 
== Загрузка библиотеки ==
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
$this->load->helper('ds');
+
$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 ( )