GoldSRC RCON Query Include [ SVN ]
Версия: 0.1
С помощью данного инклюда Вы сможете отправлять RCON команды серверу и получать ответ на них. Используется метод "Thread Socket" lal, который не приводит к лагу на сервере во время запроса. Есть также возможность задать таймаут запроса.
Функции: rcon_send( ip[] , port , szPass[] , szCommand[] , szForward[] , Float:timeout = 5.0 ) - отправка RCON команды на сервер.
- ip[] - IP адрес сервера, куда отсылать команду.
- port - порт сервера.
- szPass[] - RCON пароль.
- szCommand[] - RCON команда.
- szForward[] - имя форварда, на который прийдет результат выполнения команды.
- Float:timeout - максимальное время ожидания выполнения, по истечению которого закрывается соединение.
- @return - в случае успешной отправки, вернет RCON_OK, иначе код ошибки.
Форвард: public your_forward( iRconStatus , szResult[] ) - форвард принимает результат выполнения RCON команды.
- iRconStatus - статус выполнения.
- szResult[] - результат выполнения.
Коды ошибок:
- RCON_CONNECTION_FAILED - ошибка установления соединения с сервером.
- RCON_GET_CHALLENGE_FAILED - ошибка получения номера challenge (соединение установлено, но что-то пошло не так).
- RCON_CREATE_FWD_FAIL - ошибка создания форварда.
- RCON_TIMEOUT - таймаут запроса.
- RCON_OK - успешное выполнение.
Пример:
Код: #include <amxmodx> #include <rcon>
#define SRV_IP "localhost" #define SRV_PORT 27015 #define SRV_PASS "1337"
public plugin_init() { register_plugin("RCON Test","test","serfreeman1337") register_clcmd("amx_rcon_send","Try_Rcon_Send") }
public Try_Rcon_Send(){ new cmd[128] read_args(cmd,127) trim(cmd) remove_quotes(cmd) new st = rcon_send(SRV_IP,SRV_PORT,SRV_PASS,cmd,"rcon_handler") switch(st){ case RCON_CONNECTION_FAILED: server_print("[ RCON ] Connection to %s:%d failed successfully", SRV_IP,SRV_PORT) case RCON_CREATE_FWD_FAIL: server_print("[ RCON ] Forward create failed") } }
public rcon_handler(status,result[]){ switch(status){ case RCON_GET_CHALLENGE_FAILED: server_print("[ RCON ] Get RCON challenge failed",status) case RCON_TIMEOUT: server_print("[ RCON ] Query timeout on %s",result) case RCON_OK: server_print("[ RCON ] Response: ^n%s",result) } }
Вложения: |
rcon.inc [4.6 КБ]
Скачиваний: 24
|
|