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

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
(set_data)
Строка 65: Строка 65:
 
=== set_data ===
 
=== set_data ===
 
Задает данные сервера.
 
Задает данные сервера.
  set_data( $server_info )
+
  set_data( array $server_info )
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 71: Строка 71:
 
! Параметр !! Описание
 
! Параметр !! Описание
 
|-
 
|-
| id || Идентификатор сервера.
+
| id || Идентификатор сервера. Параметр может быть опущен, в этом случае как id будет использован хост и порт, разделенные двоеточием.
 
|-
 
|-
 
| type || Query драйвер. Используется код игры либо код движка игры (goldsource, source, samp, minecraft).
 
| type || Query драйвер. Используется код игры либо код движка игры (goldsource, source, samp, minecraft).

Версия 14:13, 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( 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 ( )