Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 28 мар 2024, 17:16

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: [INC] GoldSRC RCON Query
СообщениеДобавлено: 28 окт 2013, 23:25 
Не в сети
Зарегистрирован:
06 авг 2010, 10:25
Последнее посещение:
20 янв 2021, 16:32
Сообщения: 695
Откуда: Uzbekistan
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 КБ]
Скачиваний: 422
Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: [INC] GoldSRC RCON Query
СообщениеДобавлено: 02 янв 2016, 06:54 
Не в сети
Зарегистрирован:
02 янв 2016, 06:46
Последнее посещение:
16 сен 2018, 01:27
Сообщения: 8
вещь конечно хорошая, но я не могу понять что именно является причиной лага использования rcon?


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: [INC] GoldSRC RCON Query
СообщениеДобавлено: 02 янв 2016, 18:18 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
Не является, а являлось бы, если бы инклюд не использовал отложенный прием ответа от сервера.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: [INC] GoldSRC RCON Query
СообщениеДобавлено: 03 янв 2016, 03:09 
Не в сети
Зарегистрирован:
02 янв 2016, 06:46
Последнее посещение:
16 сен 2018, 01:27
Сообщения: 8
понятно :)


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB