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

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
 
(не показано 7 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
[[Категория:АдминПанель]]
 
[[Категория:АдминПанель]]
[[Категория:Документация_GameAP]]
 
 
[[Категория:Документация для разработчиков]]
 
[[Категория:Документация для разработчиков]]
  
Строка 12: Строка 11:
 
$this->load->driver('rcon');
 
$this->load->driver('rcon');
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
== Примеры использования ==
 +
 +
<syntaxhighlight lang="php">
 +
$this->load->driver('rcon');
 +
$this->rcon->set_variables('127.0.0.1', 27015, 'pass123456', 'goldsource');
 +
 +
if($this->rcon->connect()) {
 +
    echo $this->rcon->command('status');
 +
} else {
 +
    echo 'Connection failed';
 +
}
 +
</syntaxhighlight>
 +
 +
== Задание данных ==
 +
 +
=== $this->rcon->set_variables(); ===
 +
set_variables ( string $host, int $port, string $password, string $engine [, int $engine_version = 1] )
 +
:'''host'''
 +
::Хост сервера
 +
:'''port'''
 +
::Порт сервера
 +
:'''password'''
 +
:: Rcon пароль
 +
:'''engine'''
 +
:: Движок. Код используемого драйвера.
 +
:'''engine_version'''
 +
::Версия движка
 +
 +
== Основные функции ==
 +
 +
=== $this->rcon->connect(); ===
 +
Производит соединение с сервером.
 +
bool connect ( )
 +
 +
=== $this->rcon->command(); ===
 +
Отправляет rcon команду на сервер и возвращает полученный ответ.
 +
string command ( $command )
 +
 +
=== $this->rcon->change_rcon(); ===
 +
Изменяет ркон пароль для сервера.
 +
bool change_rcon ( $new_password )
 +
 +
'''Пример:'''
 +
<syntaxhighlight lang="php">
 +
$this->load->model('servers');
 +
$this->load->driver('rcon');
 +
 +
$server_id = 2;
 +
$this->servers->get_server_data($server_id);
 +
 +
$this->rcon->set_variables(
 +
    $this->servers->server_data['server_ip'],
 +
    $this->servers->server_data['rcon_port'],
 +
    $this->servers->server_data['rcon'],
 +
    $this->servers->servers->server_data['engine'],
 +
    $this->servers->servers->server_data['engine_version']
 +
);
 +
 +
try {
 +
    $this->rcon->change_rcon('new_password');
 +
} catch (Exception $e) {
 +
    echo 'Ошибка ' . $e->getMessage();
 +
}
 +
 +
</syntaxhighlight>
 +
 +
=== $this->rcon->get_maps(); ===
 +
Получение списка карт на сервере.
 +
array get_maps ( )
 +
 +
=== $this->rcon->get_players(); ===
 +
Получение списка игроков на сервере.
 +
array get_players ( )
 +
 +
Получает массив со списком игроков.
 +
{| class="wikitable"
 +
|-
 +
! Ключ !! Описание
 +
|-
 +
| user_name || Никнейм игрока
 +
|-
 +
| user_id || Идентификатор игрока на сервере
 +
|-
 +
| steam_id || [[SteamID]]
 +
|-
 +
| user_ip || IP пользователя
 +
|-
 +
| user_time || Время, в течение которого игрок онлайн
 +
|-
 +
|}
  
 
{{Категория:Документация_для_разработчиков}}
 
{{Категория:Документация_для_разработчиков}}

Текущая версия на 11:13, 19 июня 2014


Библиотека для отправки RCON команд на игровой сервер.

Расположение

application/libraries/Rcon/

Загрузка библиотеки

$this->load->driver('rcon');

Примеры использования

$this->load->driver('rcon');
$this->rcon->set_variables('127.0.0.1', 27015, 'pass123456', 'goldsource');

if($this->rcon->connect()) {
    echo $this->rcon->command('status');
} else {
    echo 'Connection failed';
}

Задание данных

$this->rcon->set_variables();

set_variables ( string $host, int $port, string $password, string $engine [, int $engine_version = 1] )
host
Хост сервера
port
Порт сервера
password
Rcon пароль
engine
Движок. Код используемого драйвера.
engine_version
Версия движка

Основные функции

$this->rcon->connect();

Производит соединение с сервером.

bool connect ( )

$this->rcon->command();

Отправляет rcon команду на сервер и возвращает полученный ответ.

string command ( $command )

$this->rcon->change_rcon();

Изменяет ркон пароль для сервера.

bool change_rcon ( $new_password )

Пример:

$this->load->model('servers');
$this->load->driver('rcon');

$server_id = 2;
$this->servers->get_server_data($server_id);

$this->rcon->set_variables(
    $this->servers->server_data['server_ip'],
    $this->servers->server_data['rcon_port'],
    $this->servers->server_data['rcon'], 
    $this->servers->servers->server_data['engine'],
    $this->servers->servers->server_data['engine_version']
);

try {
    $this->rcon->change_rcon('new_password');
} catch (Exception $e) {
    echo 'Ошибка ' . $e->getMessage();
}

$this->rcon->get_maps();

Получение списка карт на сервере.

array get_maps ( )

$this->rcon->get_players();

Получение списка игроков на сервере.

array get_players ( )

Получает массив со списком игроков.

Ключ Описание
user_name Никнейм игрока
user_id Идентификатор игрока на сервере
steam_id SteamID
user_ip IP пользователя
user_time Время, в течение которого игрок онлайн