Описание настроек RusHub

Материал из MyDC's Wiki

Перейти к: навигация, поиск

Настройки хаба хранятся в файле RusHub.xml, который находится в папке с исполняемым файлом хаба. Если файла настроек нет, то он будет автоматически создан после первого запуска программы. Языковые настройки располагаются в xml-файлах в каталоге lang, нахождение которого задаётся в основном конфигурационном файле.

Содержание

Lua API для настроек

Любую настройку можно получить в Lua-скриптах через объект конфигурационных настроек хаба Config:

Config.sLocale

Установить любую настройку (кроме sAddresses и bAdcOn) можно простым присвоением значения:

Config.sLocale = "Russian_Russia.1251"

При изменении настроек sHubName или sTopic всем пользователям будет отправлена соответствующая команда. Изменение любой настройки вызывает событие OnConfigChange. После каждого изменения настройки сохраняются.

Получить список всех настроек в Lua можно с помощью функции Config.table(), которая вернёт таблицу с названиями доступных настроек:

tConfigList = Config.table()
for _, v in ipairs(tConfigList) do
	print(v, Config[v])
end


Настройки хаба

Далее описаны все настройки хаба.
Настройки с приставкой (префиксом) b (типа bool) устанавливаются числовыми, строковыми или булевыми значениями 1 — да (true), 0 — нет (false). Какого бы типа ни была настройка, всегда возвращается строковый тип.
Устаревшие настройки вынесены в конец списка и больше не используются.

Служебные

sAddresses — адреса хаба (указываются через пробел). К примеру:
dc.hub.ru:413 127.0.0.1 192.168.0.1:4111 [::]:411 [fe80::219:7dff:fe86:e017]:413
Адреса указываются через пробел. Порт указывается через двоеточие (если порт отсутствует, то берётся порт по умолчанию 411), при этом адрес IPv6 необходимо заключать в квадратные скобки (IPv4 также может быть заключён в квадратные скобки, однако для IPv4 это необязательное требование). Также, вместо IP-адреса может быть указано имя хоста, а вместо числового значения порта может быть указан его буквенный аналог (например: 80 <=> http, 443 <=> https, 512 <=> exec и т.д.).
bAdcOn — включить тестовый режим работы хаба по протоколу ADC (пока без поддержки Lua-плагина).
sHubName — название хаба.
sTopic — топик хаба (приписка к имени хаба).
sLocale — языковая локаль. По умолчанию устанавливается локаль из ОС (в Windows для России — Russian_Russia.1251).
iPingInterval — период, через который пингуется пользователь.
iStartPing — время начала пинга пользователя в секундах (отсчитывается от момента входа на хаб).
bMAC — включить определение MAC-адреса (отключено по умолчанию).
bSendUserIp — отсылать IP-адреса пользователей, то есть использовать ли характеристики UserIP и UserIP2.
sMainPath — основная директория хаба.
sPluginPath — директория подгрузки плагинов.
sLogPath — директория логов.
sLangPath — директория языковых настроек.
sLang — текущая языковая настройка (имя файла без расширения).
bUDPServer — включить активный поиск со стороны хаба (UDP-поиск).
sUDPAddresses — адреса UDP-сервера (указываются через пробел). Порт по умолчанию 1209.

Основной бот

sHubBot — ник основного бота хаба.
sMainBotMyINFO — MyINFO основного бота, начиная с описания.
sMainBotIP — IP основного бота.
bRegMainBot — регистрировать основного бота.
bMainBotKey — ключ у основного бота.

Логирование

iMaxLevel — уровень логирования событий хаба (см. Система логирования RusHub)

Оптимизация

bDelayedMyINFO — отсылать команды $MyINFO и $Quit с задержкой. Из-за отсутствия пока задержки входа рекомендуется установить этот параметр в 0.
bDelayedLogin — записывать пользователя только после полной отсылки ему списка всех пользователей (на больших хабах список всех пользователей может не отправиться за один раз, поэтому для таких хабов рекомендуется включить эту опцию).
bNicklistOnLogin — при входе на хаб отправлять список всех пользователей во время записи пользователя, а не по команде $GetNickList.

Защита и ограничения

iUsersLimit — глобальное ограничение числа пользователей (по умолчанию -1 — проверка отключена).
iFloodTime... и iFloodCount.. — ряд параметров защиты от флуда (количество iFloodCount за время iFloodTime (в секундах)). При обнаружении флуда вызывается событие OnFlood и, по умолчанию, отключение пользователя от хаба. Учёт событий ведётся индивидуально.
iLenCmd... — ряд параметров, регулирующих максимальную длину соответствующей команды. При превышении — разъединение.
iTimeoutAny — время на получение от пользователя какой-либо команды (таймаут соединения).
iTimeoutLogon — максимальное время входа на хаб (в секундах).
iMaxPassiveRes — количество возвращаемых хабом результатов при пассивном поиске.
iStrSizeMax — максимальная длина команды, отправленной на хаб пользователем.
iMaxNickLen — максимальная длина ника (проверяется только у пользователей с профилем -1).
iMinNickLen — минимальная длина ника (проверяется только у пользователей с профилем -1).
bCheckSRNick — проверять ник в команде $SR.
bCheckRctmNick — проверять ник в команде RCTM.
bCheckCTMIp — проверять IP в команде CTM.
bCheckSearchIp — проверять IP в команде $Search.
bDisableNoDCCmd — запретить использование команд, которые не относятся к NMDC-командам (не начинаются со знака $, за исключением команды пинга и команды чата).

Веб-сервер

sWebAddresses — адреса веб-сервера (указываются через пробел). Через : можно указывать порт.
iWebTimeout — таймаут соединения с веб-сервером (в сек.). Время бездействия, по истечении которого веб-сервер закрывает соединение с клиентом.
iWebStrSizeMax — максимальный размер сообщения, отсылаемого клиентом.
bWebServer — включить веб-сервер (по-умолчанию отключен).

Системные

Эти настройки не рекомендуется изменять.

iTimerConnPeriod — период таймера соединения (в мсек.).
iTimerServPeriod — период таймера сервера (в мсек.).
iStepDelay — задержка на каждом цикле (в мсек.).
iSysLoading — коэффициент загруженности системы.

Устаревшие

sHubIP — прослушиваемый IP-адрес (0.0.0.0 — любой доступный на машине IP).
Заменено на: sAddresses.
iMainPort — основной прослушиваемый порт.
Заменено на: sAddresses.
sSubPorts — дополнительные порты хаба (нужно указывать через пробел).
Заменено на: sAddresses.
sWebServerIP — адрес веб-сервера.
Заменено на: sWebAddresses.
iWebServerPort — порт веб-сервера (по-умолчанию 81).
Заменено на: sWebAddresses.
iMaxErrLevel — уровень логирования ошибок хаба (от 0 до 2). По-умолчанию 2 — логировать все ошибки.
Заменено на: iMaxLevel.
iTimeoutGetpass — время на ввод пользователем пароля (в сек.).
Удалено
iTimeoutMyinfo — время на получение хабом команды $MyINFO (в сек.).
Удалено
iTimeoutLogin — максимальное время входа на хаб (в сек.).
Заменено на: iTimeoutLogon.
iTimeoutNick — время на получение хабом ника (в сек.).
Удалено
iTimeoutKey — время на получение хабом ключа (в сек.).
Удалено


Текущее содержимое файла RusHub.xml

Настройки по умолчанию. Для случая самостоятельного конфигурирования хаба перед запуском.

См. также

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
RusHub
Инструменты
Портал