Небольшой плагин для броадкаста(рассылки) сообщений по сети отдельному клиенту, а так же возможность отсылать сообщения с клиента на сервер. Установка:
Скачать http://adamix.ru/RconRelease_0.4.zip
Распаковать.
Переместить все файлы и папки из Server_IVMP в папку с вашим сервером.
В settings.xml добавить:
Code
<module>RconPlugin.dll</module>
В RconServer.ini поменять порт(если нужно) и пароль. В папке QtClient в файле RconClient.ini изменить адрес, порт и пароль.
Для того чтоб послать сообщение в программу:
В исходнике в начале делаем:
Там, где нужно отослать сообщение:
Code
Broadcast("my message");
Клиент поддерживает некоторые теги из html.
Например можно сделать так:
Code
Broadcast("<h1><font color=\"green\">testgreen</font></h1>");
Так же, клиент умеет посылать сообщения на сервер, для этого внизу есть editBox. Вводим туда свое сообщение и жмем на Enter.
Сообщения обрабатываются колбэками:
function OnCRconMessageToAll(ip, id, msg);
function OnCRconMessageToPlayer(ip, id, playerid, msg);
function OnCRconCommand(ip, id, cmd);
Все прочие колбэки вы можете посмотреть в файле rcon.nut.
С версии 0.2 появился клиентский SDK.
Вы можете создать свой уникальный клиент используя специальный интерфейс.
Примеры использования вы можете найти в папке с SDK.
ConsoleClient - самый простой клиент, может принимать сообщения с сервера и выводить в консоль.
QtClient - исходный код графического клиента.
Описания функций:
Code
CRconClientInterface * GetRconInterface(const char * szConfig = NULL); - получает интерфейс. Параметры: szConfig - имя конфига, если NULL - RconClient.ini
Code
void CRconClientInterface::Process(); - необходимо вызывать в цикле. Получает/посылает сообщения, работает с сетью.
Code
void CRconClientInterface::SetHandler(Rcon_Handler_t pfnHandler); - устанавливает обработчик сообщений от сервера и начинает подключение к серверу по параметрам из конфига. Параметры: Rcon_Handler_t pfnHandler - функция, выглядит как void funcName(const char * szMessage);
Code
void CRconClientInterface::SendMessageToAll(int color, const char * szString); посылает сообщение серверу, на сервере выполняется колбэк OnCRconMessageToAll. Параметры: int color - цвет, const char * szString - сообщение.
Code
void CRconClientInterface::SendMessageToPlayer(int playerid, int color, const char * szString); - посылает сообщение игроку, на сервере выполняется колбэк OnCRconMessageToPlayer. Параметры: int playerid - идентификатор игрока, int color - цвет, const char * szString - сообщение.
Code
void CRconClientInterface::SendRconMessage(const char * szString); - посылает сообщение в RCON, на сервере выполняется колбэк OnCRconCommand. Параметры: const char * szString - сообщение.
Code
bool CRconClientInterface::IsConnected(); - возвращает статус подключения. true - если подключен к CRcon серверу, false - если нет.
История версий:
0.1: первый релиз.
0.2: добавлен ClientSDK. Пофикшены некоторые баги. Добавлена линуксовая версия плагина для сервера.
0.3: теперь вместо вызова функций мы вызываем колбэки. Полный список колбэков вы можете найти в файле СRcon.inc. Линуксовая версия для клиентской библиотеки. Переработка rcon.pwn. Подготовка к релизу исходников.
0.3: source code opened. link: svn://adamix.ru/rcon/
0.4: релиз плагина для IV:MP. куча фиксов. два новых параметра в конфиге QtClient: SayString и LogFile.