myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> RusHub, Кроссплатформенный консольный DC хаб

Теги
Setuper
сообщение 28.8.2009, 13:37
Сообщение #1


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Название: RusHub
Текущая версия: 2.3.10
Платформы: Windows (XP/Vista/7), GNU Linux, FreeBSD, Mac OS X, Solaris
Разрядность: 32, 64
Лицензия: GPL v3
Основан на: verlihub
SourceForge: RusHub Source Forge Page
GoogleCode: RusHub Google Code Page
Официальный сайт: RusHub.org

Полная поддержка и использование протокола NMDC.
Хаб поддерживает работу с ipv6.
Хаб поддерживает ADC протокол (тестирование).
Хаб постоянно совершенствуется и развивается.


Описание настроек хаба
sAddresses - адреса хаба (указываются через пробел)
bAdcOn - включить режим работы хаба по протоколу ADC
sHubName - имя хаба
sTopic - топик хаба (приписка к имени хаба)
sHubBot - ник основного бота хаба.
sLocale - языковая локаль. По умолчанию устанавливается локаль системы (для России устанавливаем Russian_Russia.1251)
bSendUserIp - отсылать ip адреса пользователей, то есть использовать ли характеристики UserIP и UserIP2 (1 - да, 0 - нет).
bDelayedMyINFO - отсылать команды $MyINFO и $Quit с задержкой. Из-за отсутствия пока задержки входа рекомендуется установить этот параметр в 0.
bCheckSRNick - проверять ник в $SR команде.
bCheckRctmNick - проверять ли ник в RCTM команде (1 - проверять, 0 - не проверять).
bCheckCTMIp - проверять ip в CTM команде
bCheckSearchIp - проверять ip при активном поиске
bDelayedLogin - записывать пользователя только после полной отсылки ему списка всех пользователей (на больших хабах список всех пользователей может не отправиться за один раз, поэтому для таких хабов рекомендуется включить эту опцию).
bNicklistOnLogin - при входе на хаб отправлять список всех пользователей во время записи пользователя, а не по команде $GetNickList.
iTimeoutAny - время на получение от пользователя какой-либо команды (таймаут соединения)
iTimeoutLogon - максимальное время входа на хаб (в сек.).
iMaxPassiveRes - количество возвращаемых хабом результатов при пассивном поиске.
iTimerConnPeriod - период таймера соединения в мсек. (системная настройка, не рекомендуется изменять).
iTimerServPeriod - период таймера сервера в мсек. (системная настройка, не рекомендуется изменять).
iStepDelay - задержка в мсек на каждом цикле (системная настройка, не рекомендуется изменять).
iStrSizeMax - максимальная длина команды, отправленной на хаб пользователем.
iStartPing - время начала пинга пользователя в сек (отсчитывается от момента входа на хаб).
iPingInterval - период, через который пингуется пользователь.
iMaxLevel - уровень логирования событий хаба (от 0 до 6). По умолчанию 0 - не логировать события.
iMaxErrLevel - уровень логирования ошибок хаба (от 0 до 2). По умолчанию 2 - логировать все ошибки.
iSysLoading - коэффициент загруженности системы (системная настройка, не рекомендуется изменять).
iMaxNickLen - максимальная длина ника (проверяется только у пользователей с профилем -1).
iMinNickLen - минимальная длина ника (проверяется только у пользователей с профилем -1).
bDisableNoDCCmd - запретить использование команд, которые не относятся к NMDC командам (не начинаются со знака $, за исключением команды пинга и команды чата).
iFloodTime... и iFloodCount... - параметры флуда (количество iFloodCount за время iFloodTime (в сек.))
bRegMainBot - регистрировать основного бота.
bMainBotKey - ключ у основного бота.
sMainBotMyINFO - MyINFO основного бота.
sMainBotIP - ip основного бота.
bWebServer - включить веб-сервер (по умолчанию отключен).
sWebAddresses - адреса веб сервера (указываются через пробел). Через ; можно указывать порт.
iWebTimeout - тайм-аут соединения с веб сервером (в сек.). Время бездействия, по истечению которого веб-сервер закрывает соединение с клиентом.
iWebStrSizeMax - максимальный размер сообщения отсылаемого клиентом.
bMAC - включить определение MAC адреса (по умолчанию отключено).
iUsersLimit - глобальное ограничение числа пользователей (по умолчанию -1 - проверка отключена)
bUDPServer - включить udp сервер (1 - включить, 0 - отключить)
sUDPAddresses - udp адреса хаба
sMainPath - основная директория хаба
sPluginPath - директория плагинов
sLogPath - директория логов
sLangPath - директория языковых настроек
sLang - текущая языковая настройка (имя файла без расширения)
iMaxSendSize - настройка, отвечающая за максимальный размер буфера отсылки (по умолчанию 2818047). При превышении этого размера пользователь отключается от хаба.

Lua plugin:
LUA API события

UID - идентификатор пользователя, который отослал команду.
UID представляет из себя указатель на реальную структуру соединения пользователя (type(UID) = "userdata"). Введён с целью оптимизации выбора пользователя без нагрузки lua стека.

OnStartup()
Описание: Функция выполняется при старте скрипта.
Возвращаемое значение: любое



OnExit()
Описание: Функция выполняется при остановке скрипта
Возвращаемое значение: любое



OnError(sErrMsg)
Описание: Функция выполняется при ошибке в скрипте
Возвращаемое значение: true или 1 - не останавливать скрипт при ошибке во время выполнения
Исключения составляют таймерные функции, которые останавливают скрипт при ошибке, дабы не загружать систему и не прийти к переполнению лога



OnScriptError(sScriptName, sErrMsg, bStoped)
Описание: Функция выполняется при возникновении ошибки в скрипте sScriptName. sErrMsg - сообщение с ошибкой. Флаг bStoped равен true если скрипт, в котором возникла ошибка, был остановлен, в противном случае флаг bStoped равен false.
Функция не вызывается для текущего скрипта. Для отслеживания ошибок в текущем скрипте нужно использовать функцию OnError(sErrMsg).
Напомню, что по умолчанию скрипт отключается при ошибке, отключение скрипта можно предотвратить возвратом true в функции OnError этого скрипта.
Возвращаемое значение: true или 1 - не вызывать это событие в ниже стоящих скриптах (т.е. прекращение действия события).



OnScriptStart(sScriptName)
Описание: Функция выполняется при старте скрипта sScriptName.
Возвращаемое значение: true или 1 - не вызывать это событие в ниже стоящих скриптах (т.е. прекращение действия события).



OnScriptStop(sScriptName)
Описание: Функция выполняется при остановке скрипта sScriptName.
Возвращаемое значение: true или 1 - не вызывать это событие в ниже стоящих скриптах (т.е. прекращение действия события).



OnUserConnected(UID)
Описание: Функция выполняется при входе пользователя.
Функция выполняется после отправки пользователю первичной команды $Lock и до любого другого действия на хабе.
На данном этапе определён только IP адрес, порт и мак пользователя.
Возвращаемое значение: true или 1 - не отправлять при входе надпись: "Этот хаб работает под управлением..."



OnUserDisconnected(UID)
Описание: Функция выполняется после закрытия соедиения с пользователем.
Функция является последней функцией перед окончательным удалением соединения.
На данном этапе определён только IP адрес, порт и мак пользователя, все остальные данные уже удалены.
Возвращаемое значение: любое



OnUserEnter(UID)
Описание: Функция выполняется при окончательном входе пользователя, после добавления пользователя в списки.
Функция является последним этапом входа на хаб.
Возвращаемое значение: любое


OnUserExit(UID)
Описание: Функция выполняется при выходе пользователя, перед удаление пользователя из списков.
Функция является первым этапом выхода.
Возвращаемое значение: любое



OnSupports(UID, sData)
Описание: Функция выполняется при обмене характеристиками между клиентом и сервером.
Функция не будет выполняться, если клиент не поддерживает никаких дополнений и характеристик.
Возвращаемое значение: true или 1 - не отправлять характеристики хаба клиенту.



OnKey(UID, sData)
Описание: Функция выполняется при получении ключа от клиента.
Возвращаемое значение: true или 1 - проверять ключ.



OnValidateNick(UID, sData)
Описание: Функция выполняется после проверки ника и до проверки необходимости пароля. Ник пользователя уже определён.
Возвращаемое значение: true или 1 - отправить запрос на получение пароля.
Позволяет проводить регистрацию по средствам скриптов.



OnMyPass(UID, sData)
Описание: Функция выполняется после поступления на хаб пароля от пользователя.
Возвращаемое значение: true или 1 - вход оператора (отправка команды $LogedIn).



OnVersion(UID, sData)
Описание: Функция выполняется после поступления на хаб версии протокола.
Возвращаемое значение: true или 1 - проверять равенство версии 1,0091.



OnGetNickList(UID, sData)
Описание: Функция выполняется до отсылки списка пользователей.
Возвращаемое значение: true или 1 - не отсылать список.



OnMyINFO(UID, sData)
Описание: Функция выполняется при отправке на хаб MyINFO строки.
Функция выполняется после всех проверок параметров и до рассылки всем пользователям.
Возвращаемое значение (игнорируется при первой отправке, а работает только при последующих):
1) return false, return nil, return 0 - безусловное выполнение события
2) return true, return 1 - блокировка события
3) return 2 - выполнеие события и блокировка после обхода всех скриптов
4) return 3 - выполнение публичного события для всех соединений, кроме соединения, породившего это событие
5) return 4 - выполнение публичного события для всех соединений, кроме соединений, имеющих такой же ip адрес, что и соединение, породившее это событие
Примечание: Возвращаемое значение игнорируется при первой отправке на хаб MyINFO строки, так как в случае блокировки события пользователь будет скрыт (возможно эту политику следует пересмотреть (опустить) в дальнейшем).


OnChat(UID, sData)
Описание: Функция выполняется при отправке в чат сообщения пользователем.
Функция выполняется после всех проверок и до отправки.
Возвращаемое значение:
1) return false, return nil, return 0 - безусловное выполнение события
2) return true, return 1 - блокировка события
3) return 2 - выполнеие события и блокировка после обхода всех скриптов
4) return 3 - выполнение публичного события для всех соединений, кроме соединения, породившего это событие
5) return 4 - выполнение публичного события для всех соединений, кроме соединений, имеющих такой же ip адрес, что и соединение, породившее это событие



OnTo(UID, sData)
Описание: Функция выполняется при отправке в сообщения приват.
Функция выполняется после всех проверок и до отправки.
Возвращаемое значение: true или 1 - не отсылать сообщение.



OnConnectToMe(UID, sData)
Описание: Функция выполняется при попытке активного соединения.
Функция выполняется после всех проверок и до отправки.
Возвращаемое значение: true или 1 - не соединять пользователей.



OnRevConnectToMe(UID, sData)
Описание: Функция выполняется при попытке пассивного соединения.
Функция выполняется после всех проверок и до отправки.
Возвращаемое значение: true или 1 - не соединять пользователей.



OnSearch(UID, sData)
Описание: Функция выполняется при поиске.
Функция выполняется после всех проверок и до отправки.
Возвращаемое значение:
1) return false, return nil, return 0 - безусловное выполнение события
2) return true, return 1 - блокировка события
3) return 2 - выполнеие события и блокировка после обхода всех скриптов
4) return 3 - выполнение публичного события для всех соединений, кроме соединения, породившего это событие
5) return 4 - выполнение публичного события для всех соединений, кроме соединений, имеющих такой же ip адрес, что и соединение, породившее это событие



OnSR(UID, sData)
Описание: Функция выполняется при поступлении на хаб результатов пассивного поиска.
Функция выполняется после всех проверок и до отправки.
Возвращаемое значение: true или 1 - блокировать результаты поиска.



OnAny(UID, sData, iType)
Описание: Функция выполняется при поступлении на хаб любой команды.
Возвращаемое значение: true или 1 - блокировать команду.



OnUnknown(UID, sData)
Описание: Функция выполняется при поступлении на хаб любой не известной команды.
Возвращаемое значение: true или 1 - не блокировать команду.



OnKick(UID, sData)
Описание: Функция выполняется при поступлении на хаб команды кика.
Возвращаемое значение: любое.



OnOpForceMove(UID, sData)
Описание: Функция выполняется при поступлении на хаб команды перенаправления.
Возвращаемое значение: любое.



OnGetINFO(UID, sData)
Описание: Функция выполняется при поступлении на хаб команды $GetINFO.
Возвращаемое значение: true или 1 - не отсылать пользователю MyINFO запрошенного пользователя.



OnFlood(UID, iType, iNum)
Описание: Функция выполняется при обнаружении флуда со стороны пользователя. Может служить для устаноки бана за флуд или для разрешения флуда ОПераторам хаба. Параметр iType указывает тип команды, которой флудили. Параметр iNum указывает номер срабатываемого флуда 1 или 2 (см. настройки флуда).
Возвращаемое значение: true или 1 - не отключать пользователя.



OnWebData(WebID, sData)
Описание: Функция выполняется при поступлении данных на веб-сервер.
Возвращаемое значение: true или 1 - не разъединять пользователя по окончанию работы данного события.



OnConfigChange(sName, sValue)
Описание: Функция выполняется при изменении настройки. Параметр sName - название измененной настройки, sValue - новое значение настройки
Возвращаемое значение: любое.
Событие срабатывает только после изменения настройки при помощи объекта Config.



OnMCTo(UID, sData)
Описание: Функция выполняется при отправке приватного сообщения в чат.
Функция выполняется после всех проверок и до отправки.
Возвращаемое значение: true или 1 - не отсылать сообщение.
LUA API функции

Core.SendToAll(sData, sNick, sFrom)
Описание: Функция отправляет данные sData всем пользователям, которые находятся на хабе.
Если указан параметр sNick, то сообщение sData отправляется в чат от ника sNick.
Если указаны параметры sNick и sFrom, то сообщение sData отправляется в приват от отправителя sFrom с ником sNick.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.SendToUser(UID/sToNick/tNicks, sData, sNick, sFrom)
Описание: Функция отправляет данные sData пользователю с идентификатором UID (User ID) или с ником sToNick или таблице ников tNicks.
Если указан параметр sNick, то сообщение sData отправляется в чат от ника sNick.
Если указаны параметры sNick и sFrom, то сообщение sData отправляется в приват от отправителя sFrom с ником sNick.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.SendToAllExceptNicks(tExcept, sData, sNick, sFrom)
Описание: Функция отправляет данные sData всем пользователям, которые находятся на хабе, кроме пользователей, ники которых указаны в таблице tExcept, если таковые находится на хабе.
Если указан параметр sNick, то сообщение sData отправляется в чат от ника sNick.
Если указаны параметры sNick и sFrom, то сообщение sData отправляется в приват от отправителя sFrom с ником sNick.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.SendToProfile(iProfile/tProfiles, sData, sNick, sFrom)
Описание: Функция отправляет данные sData профилю/профилям. Если в первом аргументе функции указано число, то данные отправляются указанному профилю, если в первом аргументе указана таблица, то данные отправляются профилям, которые указаны в этой таблице.
Если указан параметр sNick, то сообщение sData отправляется в чат от ника sNick.
Если указаны параметры sNick и sFrom, то сообщение sData отправляется в приват от отправителя sFrom с ником sNick.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.SendToNicks(tNicks, sData, sNick, sFrom)
Описание: Функция отправляет данные sData всем пользователям, ники которых указаны в таблице tNicks, если таковые находится на хабе.
Если указан параметр sNick, то сообщение sData отправляется в чат от ника sNick.
Если указаны параметры sNick и sFrom, то сообщение sData отправляется в приват от отправителя sFrom с ником sNick.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.
Функция устарела. Используйте вместо неё функцию Core.SendToUser(tNicks, sData, sNick, sFrom)


Core.GetUser(UID/sNick, iByte)
Описание: Функция возвращает UID пользователя по нику sNick.


Core.SetUser(UID/sNick, iType, Value)
Описание: Функция устанавливает значение Value для данных типа iType для пользователя с ником sNick.
Описание типов данных iType:
1 - профиль (iProfile)
2 - MyINFO строка (sMyINFO)
3 - пользовательские данные (sData)
4 - пользователь в оп-листе, то есть имеет ключик (bInOpList)
5 - пользователь скрыт в ник-листе (bHide)
6 - пользователь в ip-листе, то есть ему отсылаются ip адреса всх пользователей (bInIpList)

Функция устарела. Используйте вместо неё прямую установку параметров: UID[sName] = Value или Core.GetUser(sNick)[sName] = Value, где sName - это одна из строк: "iProfile", "sMyINFO", "sData" и тд.


Core.GetUsersCount()
Описание: Функция возвращает текущее количество онлайн пользователей.


Core.GetTotalShare()
Описание: Функция возвращает текущую суммарную шару всех пользователей хаба.


Core.Disconnect(UID/sNick)
Описание: Функция отключает пользователя по идентификатору UID, или по нику sNick.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.DisconnectIP(sIP, iProfile/tProfiles)
Описание: Функция отключает всех пользователей с указанным IP.
Если указан профиль/таблица с профилями iProfile/tProfiles, то отключаются только пользователи с указанным профилем/профилями.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.RestartScripts(iType)
Описание: Функция перезапускает все скрипты. Если параметр iType отсутствует, равен nil или равен 0, то перезагружаются все скрипты без исключения. Если параметр iType равен 1, то перезагружаются все скрипты, кроме работающих на данный момент. Если параметр iType равен 2, то перезагружаются все скрипты, кроме текущего скрипта (из которого была вызвана данная функция).
Возвращает true.


Core.RestartScript(sScriptName)
Описание: Функция перезапускает скрипт с именем sScriptName. Если параметр sScriptName отсутствует или равен nil, то функция перезапускает текущий скрипт.
Возвращает true в случае успеха, nil в случае неудачи, nil и сообщение об ошибке в случае синтаксической ошибки.


Core.StopScript(sScriptName)
Описание: Функция останавливает скрипт с именем sScriptName. Если параметр sScriptName отсутствует или равен nil, то функция останавливает текущий скрипт.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.StartScript(sScriptName)
Описание: Функция запускает скрипт с именем sScriptName.
Возвращает true в случае успеха, nil в случае неудачи, nil и сообщение об ошибке в случае синтаксической ошибки.


Core.MoveUpScript(sScriptName)
Описание: Функция поднимает скрипт с именем sScriptName в дереве выполнения.
Если параметр не указан, то поднимается текущий скрипт.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.MoveDownScript(sScriptName)
Описание: Функция опускает скрипт с именем sScriptName в дереве выполнения.
Если параметр не указан, то опускается текущий скрипт.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.GetScripts()
Описание: Функция возвращает таблицу со скриптами как таблицы с полями sName, bEnabled, iMemUsage.


Core.GetScript(sScriptName)
Описание: Функция возвращает таблицу со скриптом таблицу с полями sName, bEnabled, iMemUsage.
Если имя не указано, то возвращается таблица текущего скрипта.


Core.GetGVal(sScriptName, sParam)
Описание: Функция возвращает значение глобальной переменной с именем sParam скрипта sScriptName.
Функция работает только с переменными типов: string, number, boolean, lightuserdata и table, для остальных типов будет возвращать nil.
Возвращает значение в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.SetGVal(sScriptName, sParam, Value)
Описание: Функция устанавливает значение глобальной переменной с именем sParam скрипта sScriptName.
Функция работает только с переменными типов: string, number, boolean, lightuserdata и table.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.SetCmd(sData)
Описание: Функция устанавливает новую команду для функций последующих скриптов.
Устанавливаемая команда должна быть синтаксически правильной, то есть соответствовать по синтаксису команде текущего события (API функции события). В противном случае функция не изменит команду и вернёт nil и соответствующее сообщение.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.GetUsers(sIP, bAll)
Описание: При отсутствии аргументов функция возвращает таблицу со всеми уже полностью вошедшими на хаб пользователями (с UID-ми всех вошедших пользователей хаба).
Core.GetUsers(true) - таблица со всеми пользователями хаба, даже которые только входят и ещё не вошли.
Core.GetUsers(sIP) - таблица с UID'ми вошедших пользователей с указанным IP
Core.GetUsers(sIP, true) - таблица со всеми пользователями с указанным IP.


Core.AddTimer(iId, iInterval, sFunc)
Описание: Функция добавляет таймер с идентификатором iId и интервалом срабатывания iInterval (в мсек). Если указано имя глобальной функции sFunc, то эта функция и будет выполняться, если имя функции не указано, то скрипт ищет глобальную функцию OnTimer (в параметр функции передаётся идентификатор). Идентификатор может повторяться.
Возвращает количество зарегистрированных таймеров с таким iId в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.DelTimer(iId)
Описание: Функция удаляет таймер по идентификатору iId.
Идентификатор может повторяться, однако, удаляется таймер по идентификатору, поэтому удалятся все таймеры с указанным идентификатором. Удаляются таймеры только текущего скрипта! Таймеры с таким же идентификатором других скриптов не удаляются!
Возвращает количество удалённых таймеров в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.GetUpTime()
Описание: Функция возвращает время работы хаба (в сек.)


Core.GetConfig(sName)
Описание: Функция возвращает настройку хаба sName. Какого бы типа не была настройка, всегда возвращается строковый тип.
В случае неудачи возвращает nil и сообщение об ошибке.
Функция устарела. Используйте вместо неё объект: Config[sName]


Core.SetConfig(sName, sValue)
Описание: Функция устанавливает настройку хаба sName в значение sValue.
Однако, исключения составляют настройки sHubIP, iMainPort, sSubPorts, которые нельзя изменить.
При изменении настройки sHubName или sTopic отправляется соответствующая команда. После изменения, настройки сохраняются.
При изменении sHubBot и/или bRegMainBot - автоматически перерегистрируется бот.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.
Функция устарела. Используйте вместо неё прямую установку параметров: Config[sName] = sValue


Core.GetLang(sName)
Описание: Функция возвращает "языковую" настройку sName.
В случае неудачи возвращает nil и сообщение об ошибке.


Core.SetLang(sName, sValue)
Описание: Функция устанавливает "языковую" настройку хаба sName в значение sValue.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.Call(sScriptName, sFunc, ...)
Описание: Функция вызывает функцию sFunc другого скрипта sScriptName с параметрами, которые указываются в аргументе 3, 4 и тд.
Параметры функции и возвращаемые значения функции могут быть только следующих типов: string, number, boolean, table и userlightdata.
Функция Core.Call возвращает все те значения, которые возвращает функция sFunc скрипта sScriptName.
В случае ошибки функция возвращает nil и сообщение об ошибке.


Core.SendToAllExceptIPs(tExcept, sData, sNick, sFrom)
Описание: Функция отправляет сообщение всем пользователям, за исключением пользователей с ip адресами, которые указаны в таблице tExcept.
Если указан параметр sNick, то сообщение sData отправляется в чат от ника sNick.
Если указаны параметры sNick и sFrom, то сообщение sData отправляется в приват от отправителя sFrom с ником sNick.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.SendToIP(sIP, sData, sNick, sFrom, iProfile/tProfiles)
Описание: Функция отправляет сообщение sData всем пользователям с указанным IP адресом sIP.
Если указан параметр sNick, то сообщение sData отправляется в чат от ника sNick.
Если указаны параметры sNick и sFrom, то сообщение sData отправляется в приват от отправителя sFrom с ником sNick.
Если указан профиль/таблица с профилями iProfile/tProfiles, то сообщение отправляется только указанным профилям с данным IP адресом.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.RegBot(sNick, bKey, sMyINFO, sIP)
Описание: Функция регистрирует бота с ником sNick. Если bKey равен true, то бот регистрируется с ключиком. sMyINFO - это часть MyINFO строки (часть после ника, начиная с описания и до конца MyINFO). sIP - возможный ip адрес для бота. Обязательным параметром является только первый параметр - sNick.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.UnregBot(sNick)
Описание: Функция удаляет регистрацию бота с ником sNick из списка.
Возвращает true в случае успеха, nil и сообщение об ошибке в случае неудачи.


Core.SetHubState(iNum)
Описание: Функция устанавливает состояние хаба.
iNum = nil или iNum = 0 - остановка хаба. iNum = 1 - рестарт хаба. Остальные значения заразервированы на будущее


Core.Redirect(UID/sNick, sAddress[, sReason])
Описание: Перенаправляет пользователя на адрес sAddress с причиной sReason. Причину указывать не обязательно.
Возвращает true в случае успеха, nil и сообщение с ошибкой - в случае неудачи


Config - объект конфигурационных настроек хаба
Config.table() - таблица с названиями всех возможных настроек хаба
Core.sMainDir - основной путь, по которому располагается хаб
Core.sScriptsDir - абсолютный путь, по которому располагается директория скриптов
Core.sHubVersion - название и версия хаба
Core.sLuaPluginVersion - название и версия плагина
Core.sSystem - название и версия ОС
_TRACEBACK = debug.traceback - способ включить stack trace для скрипта
Параметры пользователя
UID.sNick - ник
UID.sIP - ip
UID.iProfile - профиль
UID.bInOpList - пользователь в оп-листе, то есть имеет ключик
UID.bInIpList - пользователь в ip-листе, то есть ему отсылаются ip адреса всех пользователей
UID.bInUserList - пользователь полностью вошёл и добавлен в список пользователей
UID.bHide - пользователь скрыт в ник-листе
UID.iPort - порт хаба
UID.iPortConn - порт соединения
UID.sMacAddress - мак адрес
UID.sVersion - версия протокола
UID.sData - вспомогательное текстовое поле для различных нужд
UID.UID - UID юзера (lightuserdate)
UID.sSupports - параметр $Suppurts команды
UID.sMyINFO - MyINFO строка
UID.sDesc - описание
UID.sTag - тэг
UID.sClientName - название клиента
UID.sClientVersion - версия клиента
UID.sMode - режим
UID.iUsHubs - обычные хабы
UID.iRegHubs - рег хабы
UID.iOpHubs - оп хабы
UID.iSlots - слоты
UID.iLimit - ограничитель скорости скачивания с пользователя (L:x)
UID.iOpen - открытые экстра слоты (O:x)
UID.iBandwidth - ограничитель скорости скачивания с пользователя (B:x)
UID.iDownload - ограничитель скорости скачивания пользователем (D:x)
UID.sFraction - ограничитель скорости скачивания пользователем/с пользователя (F:x/y)
UID.sConn - соединение
UID.iByte - магический байт
UID.sEmail - email
UID.iShare - шара в байтах
UID.iEnterTime - время входа на хаб (время отсылки на хаб команды $Key)
UID.sIPConn - ip адрес (хост) хаба, на который был принят пользователь
UID.bKick - способность ОПератора к кику
UID.bRedirect - способность ОПератора к перенаправлению




Текущая версия:
Прикрепленный файл  rushub_2.3.10_win32.rar ( 212.99 килобайт ) Кол-во скачиваний: 90
Прикрепленный файл  rushub_2.3.10_win64.rar ( 242.78 килобайт ) Кол-во скачиваний: 79


Lua плагин:
Прикрепленный файл  lua_plugin_2.9_win32.rar ( 213.29 килобайт ) Кол-во скачиваний: 43
Прикрепленный файл  lua_plugin_2.9_win64.rar ( 239.24 килобайт ) Кол-во скачиваний: 52


Pdb файлы:
Прикрепленный файл  rushub_2.3.10_pdb_win32.rar ( 793.18 килобайт ) Кол-во скачиваний: 21
Прикрепленный файл  rushub_2.3.10_pdb_win64.rar ( 808.73 килобайт ) Кол-во скачиваний: 24

Прикрепленный файл  lua_plugin_2.9_pdb_win32.rar ( 593.08 килобайт ) Кол-во скачиваний: 17
Прикрепленный файл  lua_plugin_2.9_pdb_win64.rar ( 604.17 килобайт ) Кол-во скачиваний: 21


Исходники можно скачать с: SourceForge
SVN: https://rushub.svn.sourceforge.net/svnroot/rushub/trunk/
Go to the top of the page
+Quote Post
3 страниц V   1 2 3 >  
Начать новую тему
Ответов
Setuper
сообщение 6.9.2009, 1:41
Сообщение #2


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 1.0.1

Added: Сделан поиск и некоторые проверки.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 7.9.2009, 20:57
Сообщение #3


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 1.0.2

Added: Сделаны основные настройки хаба. Они хранятся в файле.
Файлы настроек появляются после первого запуска хаба


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 11.9.2009, 15:57
Сообщение #4


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 1.0.3 [beta]

Fixed: Исправлен баг с удалением пользователя с хаба, и добавлены следующие настройки:

sUnregNickPrefix - обязательный префикс для незарегистрированных
sNickChars - символы, которые разрешается использовать в нике
bHubTopicAfterMotd - посылать хаб-топик после MOTD
bCheckSRNick - проверять ник в $SR команде
iMinLimitSlotsRatio - минимально доступное отношение лимит/слоты
iMaxHubsSlotsRatio - максимально доступное отношение хабы/слоты
iMinDLLimit - минимально доступное ограничение скорости
iMaxSlots - максимальное число слотов
iMinSlots - минимальное число слотов
iMaxHubs - максимальное число хабов
iMinNickLen - минимальная длина ника
iMaxNickLen - максимальная длина ника

Для появления новых настроек нужно удалить старые файлы hub_config и lang_config


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 16.9.2009, 20:06
Сообщение #5


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 1.0.4

Added: Включены логи действий хаба.
Added: Добавлена характеристика UserIP2.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 26.9.2009, 20:08
Сообщение #6


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 1.0.5

Fixed: Увеличено максимальное число сокетов.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 1.10.2009, 18:37
Сообщение #7


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 1.0.5c [beta]

Fixed: Исправлены падения, однако они ещё не исключены.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 28.12.2009, 22:58
Сообщение #8


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 2.0.0

Added: Реализован lua плагин (минимальный для работы lua функционал реализован). По средствам lua можно реализовать: регистрацию, баны и тд.
Для подключения lua плагина кладём файл lua.dll в папку plugins.

Lua библиотеки сторонних разработчиков (luasql и тд.) должны подключаться без каких либо перекомпиляций (ограничение только на формат COFF, то есть от птохи библиотеки не подходят, нужно качать отсюда: http://luaforge.net/projects/luasql/ ).

Работа продолжается...

Простенький скрипт приветствия: Прикрепленный файл  hello.lua ( 474 байт ) Кол-во скачиваний: 96

Простенькая регистрация: Прикрепленный файл  registration.lua ( 2.78 килобайт ) Кол-во скачиваний: 107


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 30.12.2009, 4:35
Сообщение #9


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 2.0.2

Fixed: Устранены причины падения при ошибках в скриптах и в некоторых api функция.

Параметр iMaxLevel - уровень лога событий. Для тестирования: 6 (логировать всё)


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 3.1.2010, 1:19
Сообщение #10


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 2.0.3
lua plugin v 1.2


Изменения коснулись не только плагина, но и хаба (это для того, чтобы исправить некоторые баги).

Added: вместо функций Core.SendToUID и Core.SendToNick теперь функция Core.SendToUser(UID/sToNick, sData, sNick, sFrom)
Fixed: исправлен баг вылета в функции Core.GetScript при обращении к отключенному скрипту.
Fixed: исправлен баг, который не позволял создать лог ошибок скриптов, в случае, если в названии директории присутствовала кириллица.
Fixed: исправлен баг функции Core.Disconnect для случая разъединения пользователя по нику.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 4.1.2010, 4:00
Сообщение #11


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




lua plugin v 1.3

Added: Функции Core.GetGVal и Core.SetGVal теперь позволяют оперировать с таблицами и с lightuserdata данными.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 4.1.2010, 20:23
Сообщение #12


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




lua plugin v 1.4

Fixed: Исправлена несколько некорректная работа функции Core.SetGVal с таблицами.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 6.1.2010, 2:12
Сообщение #13


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 2.0.4
lua plugin v 1.5


Обновление хаба было связано с расширением возможностей установки ключика операторов в любое время, а не только при входе на хаб.


Список изменений:

Added: Добавлена функция Core.GetUpTime()

Added: Добавлена функция Core.GetHubInfo() информация о хабе и о плагине.

Added: Добавлена новая функция Core.SendToNicks(tNicks, sData, sNick, sFrom). Функция отправляет сообщение всем никам, которые находятся в таблице tNicks.

Added: Добавлена функция Core.DisconnectIP(sIP). Разъединяет всех пользователей с указанным IP.

Fixed: Исправлена функция Core.SetUser. Теперь пользователь может быть когда угодно занесён и извлечён из списка операторов, а не только при входе на хаб. Ставим/убираем ключик одним движением руки. Код написан оптимально и исключает повторных действий при вызове.

Fixed: Исправлен баг в функции Core.GetUsers

Fixed: Модифицирована функция Core.GetUsers(sIP, iByte).
Core.GetUsers() - таблица с UID'ми всех пользователей хаба
Core.GetUsers(iByte) - таблица с таблицами пользователей, которые содержат данные битов параметра iByte
Core.GetUsers(sIP) - таблица с UID'ми пользователей с указанным IP
Core.GetUsers(sIP, iByte) - таблица с таблицами пользователей с указанным IP, которые содержат данные битов параметра iByte


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 6.1.2010, 23:45
Сообщение #14


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 2.0.5
lua plugin v 1.6

Изменения:

Fixed: Теперь в настройку sHubIP можно записывать не только ip адрес, но и хост.

Fixed: В целях оптимизации были убраны lua функции Core.GetMainDir(), Core.GetScriptsDir() и Core.GetHubInfo(). Вместо них теперь поля: Core.sMainDir, Core.sScriptsDir, Core.sHubVersion и Core.sLuaPluginVersion соответственно.
В связи с этим, некоторые скрипты откажутся работать!

Added: Добавлены lua функции: Core.GetConfig(sName), Core.SetConfig(sName, sValue), Core.GetLang(sName), Core.SetLang(sName, sValue).
Функции позволяют управлять конфигурацией и языковыми настройками хаба. Однако, для функции Core.SetConfig исключения составляют настройки: sHubIP, iMainPort, sSubPorts.
При изменении настройки sHubName или sTopic отправляется соответствующая команда. После изменения, настройки сохраняются.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 11.1.2010, 22:15
Сообщение #15


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 2.0.6
lua plugin v 1.7


Изменения:

Added: Добавлена настройка установки локали. Корректное восприятие русских букв или букв других языков (в зависимости от локали). Теперь lua функции string.lower и string.upper корректно работают с русскими буквами. Если на хабе есть пользователь Вася, то с ником ВАСЯ уже нельзя войти на хаб.

Added: Добавлена функции сокрытия ника из списка пользователей (12-ый бит функции Core.GetUser и функция Core.SetUser(UID, 5, bool)).

Added: Добавлено событие OnKick(UID, sData)

Added: Добавлено событие OnOpForceMove(UID, sData)

Added: Добавлено событие OnGetINFO(UID, sData)


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 12.1.2010, 21:22
Сообщение #16


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 2.0.7

Fixed: Пофиксил небольшой баг на хабе перехода в скрытый режим. Обнаружил при написании скрипта hideme

Выложил исходники хаба и lua плагина
Для сборки хаба используем vs2005 или vs2008. Отвечу на все интересующие вопросы по поводу сборки хаба


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 16.1.2010, 23:02
Сообщение #17


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 2.0.8
lua plugin v 1.8


Изменения:

Fixed: Исправлен баг с выскакиванием части команды при регистрации в оп листе (спасибо fixx-у за обнаружение бага)

Fixed: Исправлены мелкие баги с логированием некоторых событий как ошибок.

Fixed: Исправлены lua api функции Core.RestartScripts, Core.RestartScript, Core.StopScript, Core.StartScript. Теперь функции Core.GetScripts и Core.GetScript нормально отображают скрипты, даже если перезагружается текущий скрипт или все скрипты.

Fixed: Исправлены баги в функциях перезагрузки и остановки скриптов для случая удалённого скрипта (спасибо fixx-у за обнаружение бага).

Added: Добавлена полная поддержка характеристики UserIP2.

Added: Добавлен 13-й бит для функции Core.GetUser и 6-ой тип для функции Core.SetUser.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 20.1.2010, 0:07
Сообщение #18


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




lua plugin v 1.9

Изменения:

Added: Добавлена api функция Core.Call(sScriptName, sFunc, ...), при помощи которой можно вызывать функции других скриптов.
Параметры функции и возвращаемые значения функции могут быть только следующих типов: string, number, boolean, table и userlightdata.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 21.1.2010, 23:26
Сообщение #19


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




rushub v 2.0.9
lua plugin v 1.10


Изменения:

Added: Добавлена lua функция отправки данных профилю/профилям: Core.SendToProfile(iProfile/tProfiles, sData, sNick, sFrom). Если первый аргумент - число, то сообщение отправляется профилю, если первый аргумент таблица, то отправляется профилям, указанным в этой таблице.
Пример:
Код
Core.SendToProfile({0, 1}, "Hello", "Bot") -- отправка от бота сообщения Hello профилям 0 и 1


Fixed: Исправлены некоторые мелкие и не значительные баги, а также оптимизированы некоторые процессы.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 22.1.2010, 16:15
Сообщение #20


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




lua plugin v 1.11

Изменения:

Fixed: Исправлены баг в работе функции Core.GetGVal. (Баг появился из-за модернизации кода в плагине v 1.10)

Fixed: Исправлен баг в работе функции Core.RestartScripts. (спасибо fixx-у за очередной репорт).


Спасибо сказали:
Go to the top of the page
+Quote Post

3 страниц V   1 2 3 >
Тема закрытаНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new ВАЖНО: Topic has attachmentsМодули для скриптов RusHub
26 Setuper 43 183 21.3.2017, 17:31 Посл. сообщение: Alexey
No New Posts RusHub.org
Решаем судьбу домена
12 Nickolya 19 944 19.5.2016, 4:58 Посл. сообщение: DEN 007
No New Posts Перенос базы пользователей с RusHub на PtokaX
3 Angel_D 8 241 5.12.2015, 2:11 Посл. сообщение: Saymon21
No new ВАЖНО: Topic has attachmentsСкрипт банов для RusHub
тестим и комменьтруем
79 Wariner 99 094 28.9.2015, 13:34 Посл. сообщение: NeirRon
No new Topic has attachmentsRusHub. Пакеты для Debian/Ubuntu
47 KT315 59 163 24.5.2015, 23:14 Посл. сообщение: KT315
No New Posts ВАЖНО: Topic has attachmentsХаблист RusHub
13 ShadoWx 23 972 7.10.2014, 8:08 Посл. сообщение: mod
No new Topic has attachmentsУстановка rushub на ubuntu 12.04
для домохозяек и пенсионеров
43 hjet 45 286 2.10.2014, 12:16 Посл. сообщение: kotuk
No New Posts RusHub Сжатие
Не работает
1 ShadoWx 6 688 23.9.2014, 10:48 Посл. сообщение: PPA
No new Topic has attachmentsВопросы по RusHub
Технические вопросы
316 Jaska 251 210 19.12.2013, 13:59 Посл. сообщение: mod
No New Posts RusHub через экран, как?
Коннект на хаб во внутренней сети.
3 INTROVERT 8 034 16.6.2013, 17:17 Посл. сообщение: dj hoodo
No New Posts RusHub & Erlang
0 -Гость_ghost_*- 6 041 5.2.2013, 1:34 Посл. сообщение: -Гость_ghost_*-
No New Posts RusHub english v
3 SnowBOSS 8 186 7.1.2013, 21:17 Посл. сообщение: Артём
No New Posts Сборка Rushub 2.3.8 на FreeBSD 9.0 x64
10 LEXSOR 14 868 3.10.2012, 22:11 Посл. сообщение: Saymon21
No New Posts Topic has attachmentsWeather [ RusHub ] [ By Nickolya ]
Расширенная погода с rp5.ru
3 Saymon21 9 804 11.7.2012, 17:00 Посл. сообщение: KCAHDEP
No New Posts Topic has attachments[SH] Собираем RusHub из svn
для ленивых так сказать
11 DEN 007 18 892 24.6.2012, 18:58 Посл. сообщение: KCAHDEP

 



RSS Сейчас: 19.3.2024, 14:03