Я использую VS 2008 SP1. Надеюсь, в ближайшие несколько недель я смогу открыть исходные коды.Добавлено (15.02.2011, 20:45)
---------------------------------------------
The source code finally open. You can checkout anonymous SVN repository: svn://adamix.ru/rcon/
Добавлено (16.02.2011, 17:08)
---------------------------------------------
Небольшой плагин для броадкаста(рассылки) сообщений по сети отдельному клиенту, а так же возможность отсылать сообщения с клиента на сервер.
Установка:
Скачать http://adamix.ru/RconRelease_0.4.zip
Распаковать.
Переместить все файлы и папки из Server в папку с вашим сервером.
В server.cfg добавить:
В RconServer.ini поменять порт(если нужно) и пароль. В папке QtClient в файле RconClient.ini изменить адрес, порт и пароль.
Для того чтоб послать сообщение в программу:
В исходнике в начале делаем:
Code
native Broadcast(str[]);
или же закинуть Server/pawno/include/CRcon.inc в папку с инклудами и в моде:
Там, где нужно отослать сообщение:
Code
Broadcast("my message");
Клиент поддерживает некоторые теги из html.
Например можно сделать так:
Code
Broadcast("<h1><font color=\"green\">testgreen</font></h1>");
Так же, клиент умеет посылать сообщения на сервер, для этого внизу есть editBox. Вводим туда свое сообщение и жмем на Enter.
Сообщения обрабатываются колбэками:
forward OnCRconMessageToAll(ip[], id, msg[]);
forward OnCRconMessageToPlayer(ip[], id, playerid, msg[]);
forward OnCRconCommand(ip[], id, cmd[]);
Все прочие колбэки вы можете посмотреть в файле CRcon.inc.
С версии 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. куча фиксов. 2 новых параметра в конфиге RconClient(QtClient): LogFile и SayString.