Verlihub - детальное руководство по настройке переменных на русском языке.

Все настройки хаба хранятся в базе данных. Всё администрирование осуществляется на хабе его хозяином. Чтобы получить текущие настройки, введите:

!getconfig

Для изменения значения переменной, используйте команду !set:

!set <переменная> <значение>

После изменений, необходимо перезагрузить значения переменных (однако, некоторые изменения требуют перезагрузки хаба). Для этого используйте:

!reload

Если Ваши изменения не вступят в силу, перезапустите хаб.

5.1 Базовая конфигурация

Существует несколько компонентов базовой конфигурации хаба. Есть некоторые параметры, которые нужно менять в базе данных, а также есть некоторые файлы, которые необходимо добавить (такие как MOTD(Сообщение Дня), FAQ, и др.) в конфигурационную директорию.

5.1.1 Переменные хаба

В следующей таблице представлен список «базовых» опций хаба, которые нужно сконфигурировать.

Конфигурируются установочным скриптом
Переменная Описание
listen_port Порт, который слушает хаб. Другие хабы используют 411-й порт, но, чтобы сделать так, Вам надо запускать verlihub от рута. По умолчанию: 4111.
hub_host Хост, который люди будут использовать чтобы попасть на хаб (например: myhub.no-ip.com).
hub_name Имя хаба.
Не конфигурируются установочным скриптом, возможно, Вам понадобиться изменить данные настройки
Переменная Описание
listen_ip Если Вы имеете несколько сетевых интерфейсов, введите IP адрес, который хаб должен слушать. Если у Вас один сетевой интерфейс, то изменять данную опцию е требуется. По умолчанию: нет значения(пусто).
hub_desc Описание Вашего хаба.
hub_category Данная переменная – вводящееся расширение протокола хаблистов, позволяющее указать специфику хаба, например movies (фильмы).
hub_owner Хозяин хаба.
min_nick Минимальная длина ника. По умолчанию: 3.
max_nick Максимальная длина ника. По умолчанию: 32.
max_users Максимальное число пользователей на хабе. По умолчанию: 6000.
min_share Минимальная величина шары у юзеров в мегабайтах. Пользователи с меньше шарой не смогут войти на хаб. По умолчанию: 2 GB (2048).
tban_kick Время в секундах, в течение которого юзер не сможет зайти на хаб после кика. По умолчанию: 300 секунд (5 минут).
send_user_info Когда приходит юзер, он получит некоторую информацию о себе от хаба. 0 – выключить, 1 – включить. По умолчанию: 1.
send_user_ip Когда приходит юзер, хаб отправит ему, сообщаемый им (юзером) IP адрес. 0 – выключить, 1 – включить. По умолчанию: 0.
hub_security Имя основного бота (Security) на хабе.
hub_security_desc Описание основного бота (Security) на хабе.
opchat_name Имя ОпЧата (чата для операторов).
opchat_desc Описание ОпЧата.

Например, для того чтобы установить имя хаба в ‘My Hub’, используйте следующую команду:

!set hub_name My Hub

5.1.2 Топик хаба

Чтобы установить топик хаба, используйте команду:

!topic This is a useless topic

Эта команда изменить топик на “This is a useless topic”. По умолчанию, только администраторы могут устанавливать топик хаба. Возможность изменять топик классам ниже админа (уровень 5), можно дать в настройках хаба.

5.1.3 Сообщение дня (MOTD)

Сообщение дня показывается каждому подключившемуся к хабу юзеру. Всё что нужно, это сохранить содержимое сообщения в текстовый файл ‘motd’ в кофигурационной директории (в этом мануале /etc/verlihub/motd) и verlihub автоматически будет его использовать. Verlihub позволяет показывать своё сообщения дня каждого класса пользователей. Список используемых файлов:

Файл Описание
motd Все пользователи полчат это сообщение
motd_reg Зарегистрированные пользователи получат это сообщение в добавок к motd.
motd_vip ВИП пользователи получат это сообщение вдобавок к motd_reg и motd.
motd_op Операторы полчат данное сообщение вдобавок к motd_vip, motd_reg и motd.
motd_cheef Шефы получат это сообщение вдобавок к motd_op, motd_vip, motd_reg и motd.
motd_admin Админы получат это сообщение вдобавок к motd_cheef, motd_op, motd_vip, motd_reg и motd.
motd_master Хозяины хаба видят все сообщения motd.

5.1.4 FAQ (часто задавемые вопросы)

FAQ доступен пользователям по команде +faq в чате хаба. Снова, всё что нужно сделать, это сохранить содержимое FAQ в текстовый файл ‘faq’ в кофигурационной директории (в этом мануале /etc/verlihub/faq) и verlihub автоматически будет его использовать.

5.1.5 Правила хаба

Когда пользователи набирают +rules в чате хаба, они получат содержимое файла ‘rules’, находящегося в конфигурационно директории (в этом мануале /etc/verlihub/rules).

5.1.6 Помощь по хабу

Чтобы сделать юзерам достуаной помощь по хабу, Вам необходимо создать 7 различных хелп-файлов (если они ещё не созданы). Каждый класс пользователей имеет свой собственный хелп-файл. Например, обычный пользователь увидет справку для класса 0, после ввода команды +help, оператор увидет хелп для классов 3, 2, 1 и 0. Далее идёт таблица с перечнем файлов для работы системы помощи.

Класс Значение Хелп-файл
0 Обычные пользователи /etc/verlihub/help_usr
1 Зарегистрированные пользователи /etc/verlihub/help_reg
2 ВИП пользователи /etc/verlihub/help_vip
3 Операторы /etc/verlihub/help_op
4 Шефы /etc/verlihub/help_cheef
5 Админы /etc/verlihub/help_admin
10 Хозяин хаба /etc/verlihub/help_master

5.1.7 Кодировка FAQ/Rules/Help/MOTD/и других командных файлов

Все ткстовые файлы, используемы verlihub’ом, должны быть в DOS-кодировке. Если Вы используете кодировку UNIX, все windows-клиенты будут интерпретировать текстовые файлы неправильно, и отображать их содержимое в одной строке. Существуют инструменты конвертирования в обе стороны: unix2dos и dos2unix, однако, они могут быть не включены в Ваш дистрибутив. Пользователи Gentoo могут использовать команду для установки обоих программ:

emerge dos2unix unix2dos

Эти инструменты также доступны во многих дистрибутивах. Если Вы используете редактор vim, то он может сохранять и изменять файлы в DOS-кодировке напрямую. Для этого запустите vim, и введите следующую команду перед сохрнением файлов:

>set fileencoding=dos

5.2 Продвинутая конфигурация

Описаные здесь настройки не являются необходимыми для функционирования хаба, однако, будет неплохо узнать о некоторых из них. Все описанные здесь настройки изменяются на хабе его хозяином.

5.2.1 Слушать больше одного порта

Если нужно, можно настроить Verlihub на прослушивание больше одного порта для входящих соединений. Например, для прослушивания 1411 порта и некоторых других, используйте следующую команду:

!set extra_listen_ports 1411 8888 666

5.2.2 Файловые триггеры (командные файлы)

Вы можете добавить различные типы триггеров, например, если префикс команды будет ‘!’, то только операторы могут использоавть триггер. Если префиксом будет ‘+’, использовать его смогут обычные пользователи. Доступные команды для работы с триггерами:

Команда Описание
!lsttrigger Список достуаных триггеров.
!addtrigger <триггер> [ -d <определение> ] [ -h <справка> ] [ -f <флаги (см. ниже> ] [ -n <отправить от ника> ] [ -c <минимальный_класс> ] [ -C <максимальный_класс> ] Добавить триггер. См. ниже для получения дополнительной информации о параметрах.
!modtrigger <триггер> [ -d <определение> ] [ -h <справка> ] [ -f <флаги (см.ниже> ] [ -n <отправить от ника> ] [ -c <минимальный_класс> ] [ -C <максимальный_класс> ] Изменить триггер. См. ниже для получения дополнительной информации о параметрах.
!deltrigger <триггер> Удалить триггер.
!htrigger Показать справку по флагам триггеров.

Объяснение параметров:

Параметр Описание
<триггер> Имя тирггера.
-d <определение> Определение триггера, может указывать на файл или, если правильно указаны флаги, содержать сам контент. В последнем случае, необходимо будет выдлеить содержимое в кавычки.

Пример: -d “Это содержимое триггера.”

Замечания.

Когда Вы используете определение триггера, нельзя использовать кавычки в файле! Для этого Вам нужно будет редактировать базу даннх в ручную.

Можно использовать %[CFG] для указания текущей директории верлихаба.

Эти переменные требуют установленного флага «32 бита»:

Переменная Описание
%[NICK] Имя юзера
%[SHARE] Размер шары юзера
%[CC] Код страны юзера
%[IP] IP адрес пользователя
%[HOST] Хост пользователя (dns_lookup должна быть установлена в 1)
%[HUBNAME] Имя хаба
%[HUBTOPIC] Топик хаба
%[USERS] Количество пользователей в юзер-листе
%[USERSPEAK] Рекорд хаба (по количеству юзеров)
%[TOTAL_SHARE] Суммарная шара на хабе
%[UPTIME] Аптайм (время непрерывной работы) хаба
%[VERSION] Версия хаба
%[VERSION_DATE] Дата релиза хаба
%[PARALL] Все параметры пишутся после команды
%[PAR1] Только первый параметр пишется после команды
%[END1] Сама команда и все параметры пишутся после её ввода
%[ss] Текущая дата: секунды
%[mm] Текущая дата: минуты
%[HH] Текущая дата: часы
%[DD] Текущая дата: день
%[MM] Текущая дата: месяц
%[YY] Текущая дата: год
Параметр Описание
-h <справка> Не используется verlihub’ом, присутствует для того, чтобы не забыть что это за триггер и для чего нужен.
-f <флаги> Устанавливает бит-флаг. Флаги определяют как хаб будет использовать триггеры и/или как они будут показаны пользователю.

Таблица с возможными значениями флагов:

Бит Описание
0 Отправить в главный чат (видно только пользователю)
1 Выполнить команду
2 Отправить сообщение в личку
4 Автоматически срабатывает когда пользователь заходит на хаб
8 Срабатывает при использовании команды +help/!help
16 Определение триггера – текст
32 Позволить менять местами переменные
64 Отправить сообщение в главный чат для всех

Некоторые примеры использования:

Verlihub сделает следующее Флаги
Отправит юзеру сообщение в главный чат -f 0
Отправит сообщение юзеру после логина в личку -f 6
Отправит сообщение в личку юзеру, после ввода им команды +help -f 10
Отправит сообщение в личку юзеру после логина и использования +help/!help -f 14
Использовать определение как контент триггера и отправить личку с переменными -f 50
Отправить сообщение всем юзерам в главный чат -f 64
Переменная Описание
-n <отправить от ника> Когда отправляется сообщение в главный чат хаба, оно будет отправлено от лица данного ника.
-c <минимальный класс> Минимальный класс, которому разрешено использовать триггер.
-C <максимальный класс> Максимальный класс, которому разрешено использовать триггер.

Например, чтобы добавить триггер вызываемый как «+hublisting» из файла и отправить его в личку, нужно использовать следующую команду:

For example, to add a trigger called ‘+hublisting’ from a file and have it go to a PM window when invoked:

!addtrigger +hublisting -d "/path/to/file" -f 2

Замечание. Знаете ли Вы, что поведение команд +motd/+help/+faq/+rules может быть изменено с помощью флагов? Например, если Вы хотите отправлять FAQ в личку, используйте следующую команду:

!modtrigger +faq -f 2

Обратите внимание, что команда !ftedit больше не поддерживается.

5.2.3 Защита от флуда

Verlihub имеет различные параметры для защиты хаба и главного чата от флуда. Здесь должен быть компромис между ограничениями и возможностью разговаривать. В последней версии хаба, по умолчанию была включена защита от отправления дважды любой raw-команды (низкоуровневой), будь то сообщение в чат, в личку, строка поиска, TTH-поиск и т.д., для всех не зарегистрированных пользователей, и она не может быть отключена. Существует несколько переменных, которые помогут Вам защититься от флуда и не правильного использования чата. max_chat_msg определяет максимально возможную длину сообщения, отправляемого в главный чат (по умолчанию, 256 символов). max_chat_lines определяет максимальное число строк, которое может быть отправлено в главный чат (по умолчанию 5). mainchat_class указывает минимальный класс пользователей для доступа к главному чату. Например, чтобы установить максимальную длину сообщения 512 символов и 10 строк, и разрешить чат только зарегистрированным пользователям, используем соедующие команды:

!set max_chat_msg 512
!set max_chat_lines 10
!set mainchat_class 1

Если Вы используете ботов, которые часто кикают непослушных пользователей, вероятно, Вы захотите избавиться от постоянно идущих в чат сообщений о киках. Для этого можно использовать переменную hide_all_kicks: 1 – скрывает все сообщения о киках, 0 – показывает их. Используйте следующую команду, для того чтобы спрятать сообщения о киках:

!set hide_all_kicks 1

Другая возможность заглушить кик-сообщения, это использование команд !hidekick и !unhidekick, с помощью которых можно кикнуть пользователя без кик-сообщения в чате. В Verlihub нет встроенного антимата, однако, есть соответствующий плагин, с помощью которого можно предотвращать попадание «запрещённых» слов в чат. Также можно использовать плагин по замене на лету определённых слов на другие.

5.2.4 Перенаправления (редиректы) хаба

5.2.4.1 Настройка редиректов

Verlihub, начиная с версии 0.9.8e позволяет самостоятельно создавать создавать перенаправления. Вы можете добавить различные типы редиректов пользователей в звисимости от их причины, например от кика, бана, неверного пароля и т.д. Далее представлены доступные команды для управления редиректами:

Команда Описание
!lstredirect Список редиректов.
!addredirect <хост:порт> [ -f <флаги (см. ниже> ] [ -e <включить/отключить> ] Добавить редирект. Справку по праметрам см. ниже.
!modredirect <хост:порт> [ -f <флаги (см. ниже> ] [ -e <включить/отключить> ] Изменить редирект. Справку по праметрам см. ниже.
!delredirect <хост:порт> Удалить редирект.
!hredirect Показать справку и доступные флаги редиректов.

Объяснение параметров команд:

Параметр Объяснение
<хост:порт> Адрес хаба и порт (например, myhub.no-ip.org:4511).
-e <включить/отключить> 1 – включает редирект, 0 – выключает его. Если значение не задано, то по умолчанию принимается за единицу (1).
-f <флаги> Устанавливает бит-флаг, определяющий причину переадресования.

Таблица возможных значений:

Бит Описание
0 По любой другой причине
1 Бан и кик
2 Хаб полон
4 Пользователь не удовлетворяет правилам расшаривания
8 Неправильный или неизвестный тэг
16 Неверный пароль

Замечания.

Если нет соответствия переадресации, хаб выбирает редирект с флагом 0. Например, предположим, что есть только два редиректа: myhub.no-ip.org:4511 с флагом 2 и redirect.no-ip.org с флагом 0. Если Вы кикнете пользователя, а редиректа с флагом 1 (бан и кик) нет, то Verlihub перенаправит пользователя на redirect.no-ip.org.

Если существует более одного редиректа с одинаковым флагом, то Verlihub выберет любой случайным образом.

5.2.4.2 Перенаправления по старому стилю (VerliHub <= 0.9.8d RC2)

Вы можете установить 10 хабов, на которые verlihub будет пытаться перенаправить каждого дисконнектнутого юзера. Выбор производится случайным образом из всех десяти хабов, хотя первый из них, вероятно, будет выбран чаще чем другие.

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

!set redir_host_max -1

Как было отмечено выше, существует 10 слотов, в которое можно прописать адреса для редиректов. Для того чтобы задействовать экстра-слоты для редиректов, необходимо соответственно установить переменную redir_host_max. Пример: если заполнить слоты от 0 до 3, то нужно установить переменную redir_host_max в 3, а не в 4! Т.к. иначе выделится пустой слот и появится возможность мёртвых соединений, что Вам не очень нужно.

!set redir_host0 somehub.org
!set redir_host1 someotherhub.org
!set redir_host2 yetanotherhub.org
!set redir_host3 yetanotherhub1.org
!set redir_host4 yetanotherhub2.org
!set redir_host5 yetanotherhub3.org
!set redir_host6 yetanotherhub4.org
!set redir_host7 yetanotherhub5.org
!set redir_host8 yetanotherhub6.org
!set redir_host9 yetanotherhub7.org

5.2.5 Настройка сообщений об ошибках

Verlihub позволяет настраивать следующие сообщения об ошибках:

Примеры установки данных сообщений:

!set msg_banned Вы заБАНены на этом хабе.
!set msg_hub_full Хаб полон, попробуйте подключиться позже.
!set msg_nick_prefix У Вас нет необходимого префикса у ника для подключения к этому хабу.
!set msg_downgrade Вы используете слишком новый клиент. Этот хаб не поддерживает не тестированные клиенты.
!set msg_upgrade Вы используете слишком старый клиент. Обновите его и подключайтесь.

5.2.6 Настройка кик/бан сообщений

Переменная msg_replace_ban может быть установлена для замены ‘_ban_*’ в сообщении кика, и оно не будет отображаться на хабе. По умолчанию, эта переменная равна нулевой строке (), поэтому данная часть в сообщении кик/бана изначально отсутствует. Например, если Вы забаните кото-нибудь, а переменная msg_replace_ban будет установлена в ‘Replace’:

!kick <nick> You have been a bad user. _ban_2d

Пользователи на хабе увидят следующее сообщение кика:

[[<time>]] <OPUser> is kicking user <nick> because: You have been a bad user. Replace

Чтобы изменить msg_replace_ban используйте команду:

!set msg_replace_ban <text>

5.2.7 Настройка приветственных (welcome) сообщений

Verlihub позволяет приветствовать пользователей при входе. Новые зарегистрированные пользователи будут приветствоваться сообщением о смене пароля, и если главный чат отключен на хабе, то они увидят команду как включить/отключить чат. Для изменения изначальных значений этих двух сообщений используйте:

!set msg_chat_onoff "Используйте !chaton чтобы видеть сообщения в окне чата."
!set msg_change_pwd "У Вас 5 минут, чтобы изменить пароль."

Можно приветствовать пользователей по классам:

!set msg_welcome_guest Добро пожаловать, %[[nick]] только что присоединился!
!set msg_welcome_reg Зарегистрированный пользователь %[[nick]] только что присоединился!
!set msg_welcome_vip ВИП-пользователь %[[nick]] только что присоединился!
!set msg_welcome_op Оператор %[[nick]] только что присоединился!
!set msg_welcome_cheef Шэф %[[nick]] шэф только что присоединился!
!set msg_welcome_admin Админ %[[nick]] только что присоединился!
!set msg_welcome_master Хозяин хаба %[[nick]] только что присоединился! Прячьтесь все!

Замечания.

msg_welcome_guest – для всех, кто подключается к хабу с классом меньше 1.

Если Вы хотите использовать никнейм пользователя в сообщении, используйте %nick как показано выше; а %CC – для кода страны пользователя. Также существует возможность отдельных приветственных сообщений для зарегистрированных пользователей, показываемых только конкретному пользователю, а не всему хабу. Приведённый ниже пример иллюстрирует данную возможность:

!regset <username> msg_welcome <your custom message>

5.2.8 Продвинутый контроль ограничений по шаре

Verlihub позволяет Вам устанавливать различные уровни шары для зарегистрированных пользователей и операторов. Вы также можете определить максимальный и минимальный размеры шары (в мегабайтах) для зарегистрированных и обычных пользователей. Например, чтобы установить минимальный размер шары для зарегистрированных пользователей в 2 гигабайта, 1 гигабайт для ВИПов, и 0 для опреаторов, используйте следующие команды:

!set min_share_reg 2048
!set min_share_vip 1024
!set min_share_ops 0

Чтобы установить максимальный размер шары в 1000 гигабайт для всех, 500 гигабайт для зарегистрированных, 1000 гигабайт для ВИПов и 0 для опреаторов (заставить их убрать шару), используйте:

!set max_share 1024000
!set max_share_reg 5176000
!set max_share_vip 1024000
!set max_share_op 0

Дополнительная информация. Есть также возможность скрывать размер шары зарегистрированных пользователей в никлисте. Пример ниже иллюстрирует эту возможность (1 = скрыть шару пользователей рпи следующем входе; 0 = показать шару при следующем входе):

!regset <username> hide_share 1

5.2.9 Ограничения на клиенты

Verlihub также распознаёт теги DC. Используюя эти теги, Вы можете ограничивать доступ юзеров к хабу.

Замечание. Для пользователей Verlihub старше чем 0.9.8, изменился метод ограничения клиентов. Теперь verlihub поддерживает динамический путь ограничения клиентов, основанный на типе их соединения. Есть четыре команды, управляющие тегами и ограничениями, которые налагает каждый тег.

Команда Описание
!lstconntype Показывает текущие типы соединений и их ограничения.
!addconntype <тип_соединения> (-S <tag_max_slots>) (-s <tag_min_slots>) (-l <tag_min_limit>) (-ls <tag_min_ls_ratio>) Добавляет <тип_соединения> с его ограничениями. Объяснение параметров см. ниже.
!modconntype <тип_соединения> (-S <tag_max_slots>) (-s <tag_min_slots>) (-l <tag_min_limit>) (-ls <tag_min_ls_ratio>) Изменяет <тип_соединения> с его ограничениями. Объяснение параметров см. ниже.
!delconntype <тип_соединения> Удаляет указанный <тип_соединения>.

Следующая таблица обяъсняет параметры, изменяющие ограничения для каждого типа соединения.

Команда Объяснение
-S <tag_max_slots> Максимальное число слотов, котрое юзер может определить для данного типа соединения.
-s <tag_min_slots> Минимальное число слотов, котрое юзер может определить для данного типа соединения.
-l <tag_min_limit> Минимальный лимит скорости на отдачу для данного типа соединения, иначе пользователь не сможет находиться на хабе.
-ls <tag_min_ls_ratio> Минимальное значение отношения лиита скорости на отдачу к количеству слотов, иначе пользователь не сможет находиться на хабе.

Замечание. Ряд этих тегов предустановлен по умолчанию. Используйте !lstconntype, чтобы просмотреть их. Помните: теги по умолчанию используются, если в списке не найдены соответствующие типы подключения.

5.2.9.1 Рейтинг хабы/слоты и максимальное разрешённое количесвто хабов

Verlihub, как и большинство хабов, позволяет ограничивать число хабов, к кторым подключён пользователь, а также ретинг хабы/слоты. Например, если Вы хотите, чтобы Ваши юзеры были максимум на 4 хабах, и имели 1 слот на хаб, используйте следующие команды:

!set tag_max_hs_ratio 1
!set tag_max_hubs 4

5.2.9.2 Минимальное/максимальное число слотов

Хаб позволяет ограничить число используемых юзерами слотов. Вы можете указать как общие минимальные/максимальные значения, так значения для определённых типов соединения. Пример ниже показывает как установить минимальное число слотов в 1, а максимальное в 50:

!modconntype default -s 1 -S 50
!modconntype 28Kbps -s 1 -S 50
!modconntype 33Kbps -s 1 -S 50
!modconntype 56Kbps -s 1 -S 50
!modconntype Modem -s 1 -S 50
!modconntype ISDN -s 1 -S 50
!modconntype Cable -s 1 -S 50
!modconntype DSL -s 1 -S 50
!modconntype Satellite -s 1 -S 50
!modconntype Microwave -s 1 -S 50
!modconntype Wireless -s 1 -S 50
!modconntype LAN(T1) -s 1 -S 50
!modconntype LAN(T3) -s 1 -S 50

5.2.9.3 Скорость на слот

Verlihub позволяет также устанавливать для клиентов минимальную скорость на слот. Пользователи с меньшим значением скорости, не смогут находиться на хабе. Можно устанавливать как общее ограничение, так и для каждого типа соединения отдельно. Пример ниже иллюстрирует как отключить данные ограничения. Если вы хотите их включить, используйте значения больше чем 0.

!modconntype default -ls -1
!modconntype 28Kbps -ls -1
!modconntype 33Kbps -ls -1
!modconntype 56Kbps -ls -1
!modconntype Modem -ls -1
!modconntype ISDN -ls -1
!modconntype Cable -ls -1
!modconntype DSL -ls -1
!modconntype Satellite -ls -1
!modconntype Microwave -ls -1
!modconntype Wireless -ls -1
!modconntype LAN(T1) -ls -1
!modconntype LAN(T3) -ls -1

Замечание. Если Вы не хотите исользовать лимиты, устанавливайте значения в -1.

5.2.9.4 Лимит аплоада

Если клиент подключившийся к хабу ограничивает скорость аплоада, Вы можете указать минимальную скорость, при которой пользователь сможет находиться на хабе. Всё что нужно, это установить общий лимит скорости. Вы также можете установить лимит в зависимости от типа соединения, сообщённого пользователем. Значения указываются в Кб/сек. В примере ниже, устанавливается общий лимит в 25 Кб/сек, а также различные его значения, привязанные к типам соединения.

!modconntype default -l 25
!modconntype 28Kbps -l 2
!modconntype 33Kbps -l 3
!modconntype 56Kbps -l 5
!modconntype Modem -l 5
!modconntype ISDN -l 13
!modconntype Cable -l 13
!modconntype DSL -l 13
!modconntype Satellite -l 20
!modconntype Microwave -l 20
!modconntype Wireless -l 20
!modconntype LAN(T1) -l 50
!modconntype LAN(T3) -l 100

Замечание. Если Вы не хотите исользовать лимиты, устанавливайте значения в -1.

5.2.10 Регистрация в хаблисте

Verlihub имеет также очень простую и немного не законеченную поддержку регистрации в хаблиисте. Есть несколько переменных и одна команда, заставляющая их работать:

Команда для отправки регистрационных данных:

!hublist

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

5.2.11 Доступ на хаб только зарегистрированным пользователям

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

!set max_users 0
!set max_extra_regs 1000

5.2.12 Установка национальной принадлежности хаба

Verlihub может также ограничивать пользователей в пределах определённых зон (стран). Чтобы ограничить присутствующих пользователей США и Канадой, используйте:

!set cc_zone1 :CA:US:
!set max_users 7000
!set max_users0 100
!set max_users1 6900

5.2.13 Мультиязыковая поддержка

Некоторый текст, который Verlihub отправляет пользоватеклям, может быть переведён. По умолчанию, в базе данных нет этих специальных полей. Чтобы включить их, используйте:

!set save_lang 1

Перезапустите хаб, затем:

!set save_lang 0

Вам нужно сбросить переменную save_lang в 0, она была необходима только один раз, чтобы создать специальные настройки в базе данных. Теперь в базе данных (таблица SetupList) имеются некоторые переменные с их английскими значениями (в таблицеони имеют формат lang_en). Любые изменения данных переменных вступят в силу только при следующем запуске. Если Вы хотите сохранить англоязычные переменные (lang_en), то сделайте их копии, например lang_whatever. Если Вы сделаете так, то необходимо после этого сообщить хабу о загрузке нужных переменных при запуске. Делается это добавлением строки в файл dbconfig в конфигурационной директории хаба (в этом мануале: /etc/verlihub/dbconfig):

lang_name = lang_whatever

Verlihub начнёт использовать указанный язык после перезапуска.

5.2.14 Переопределение лимита по числу юзеров

Verlihub позволяет переопределять правила для определённых людей подключающихся к хабу. Когда число юзеров достигает лимита max_users, и любой зарегистрированный пользователь, оператор или админ пытаются подключиться, хаб проверяет следующие значения переменных:

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

!set max_extra_regs 0
!set max_extra_vips 5
!set max_extra_ops 5
!set max_extra_admins 5

5.2.15 Увеличение лимита файловых дескрипторов для соединений >= 10 МБит

Если, например, Вы имеете канал в 10 МБит, Вам необходимо увеличить дефолтное значение лимита файловых дескрипторов к 4096. Однако, если у Вас канал в 100 МБит, необходимо увеличить лимит файловых дескрипторов большим значением, иначе Вы будете ограничены в допустимом числе юзеров на хабе (например, увеличить к 10240). Для этого необходимо изменить следующие файлы:

В файле /etc/security/limits.conf добавьте следующие строки:

soft nofile 4096
hard nofile 4096

В /etc/pam.d/login, добавьте:

session required /lib/security/pam_limits.so

Затем увеличьте лимит файловых дескрипторов всей системы добавлением следующих строк в скрипт запуска /etc/rc.d/rc.local:

echo  16256 > /proc/sys/fs/file-max
echo  24576 > /proc/sys/fs/inode-max

Вы также можете запускать эти команды в командной строке и/или добавить их в свой .bash_profile, чтобы не вводить их больше. Затем Вам нужно сказать системе использовать новые лимиты (bash):

ulimit -n unlimited

Для csh/tcsh:

unlimit descriptors

Удостовертесь, что лимит увеличен выводом `ulimit -a` (в bash) или `limit` (в csh, tcsh). После чего запускайте хаб.

5.3 Настраиваемые переменные

Таблица ниже приводит все настраиваемые переменные verlihub’а (список, вероятно, не полный). Для изменения этих переменных используйте команду !set, войдя на хаб как хозяин.

Основыне настройки хаба
Переменная Описание
hub_name Имя хаба.
hub_desc Описание хаба.
hub_host Хост хаба (адрес по которому пользователи будут заходить на Ваш хаб, например: myhub.no-ip.com).
hub_owner Хозяин хаба.
hub_security Имя бота хаба (Секьюрити).
hub_security_desc Описание хаб-бота.
opchat_name Имя ОпЧат-бота (чат для операторов).
opchat_desc Описание ОпЧат бота.
show_tags Показывать теги пользователей? 0=спрятать от всех, 1=показывать только для операторов, 2=показывать для всех. По умолчанию 2.
Настройки подключения хаба
Переменная Описание
listen_port Порт хаба. Стандартом является 411 порт, но для этого надо запускать verlihub от рута. По умолчанию 4111.
extra_listen_ports Дополнительные порты для прослушивания хабом.
listen_ip Если у Вас больше одной сетевой карты (интерфейса), введите IP адрес, который нужно слушать хабу. Если сетевой интерфейс один – то указывать адрес не обязательно.
dns_lookup Обратный DNS поиск при входе юзера. Нужен для определения хоста пользователя. Если у Вас медленный DNS сервер, то это может замедлить работу хаба.
max_users Лимит по числу пользователей на хабе.
max_upload_kbps Масимальная исходящая скорость хаба. Это очень полезная опция, для предотвращения задержек на больших хабах. Установка правильного лимита предотвратит приём хабом соединений больше чем он сможет вытянуть в любой момент времени.
min_frequency Автоматическая анти-лаговая система. Более высокие значения снизят лаги, 0 = отключить систему. Максимальное значение: 3. Нормальное значение должно быть в интервале 0.1…1.5. Если Вы хотите установить рекорды, ставьте 0 (хотя это и не рекомендуется). Помните, что более низкие значения этого параметра соответствуют меньшей дополнительной помощи ресурсами хаба в выполнении задела действий. Рекомендуется оставить это значение по умолчанию.
min_class_use_hub Данная переменная задаёт минимальный класс, который может пользоваться хабом (загружать файлы). Перекрывает следующую переменную, если установлена не в 0.
min_class_use_hub_passive То же самое что и переменная выше, но относится только к пассивным юзеров.
Правила, касающиеся ников
Переменная Описание
min_nick Минимальная длина ника. По умолчанию 3.
max_nick Максимальная длина ника.
nick_chars Разрешённые символы в нике.
nick_prefix Заставить пользователей иметь префикс перед ником. Например: [GOD], сообщит всем пользователям о том, чтобы они сделали свои ники в виде [GOD]nickname.
nick_prefix_cc Тоже самое что и переменная выше, но относится только к юзерам с указанной «cc» зоной (страной).
Правила шары
Переменная Описание
min_share Минимальное количество шары у юзера в мегабайтах. Нарушители не смогут зайти.
min_share_reg Используйте данную переменную, если Вы хотите, чтобы зарегистрированные пользвоатели имели свой минимальный порог шары.
min_share_vip Используйте данную переменную, если Вы хотите, чтобы ВИП пользвоатели имели свой минимальный порог шары.
min_share_ops Используйте данную переменную, если Вы хотите, чтобы операторы имели свой минимальный порог шары.
min_share_factor_passive Множитель минимальной шары для пассивных юзеров (значение 2.0 означает, что пассивный юзер должен расшарить в два раза больше чем значение в переменной min_share).
min_share_use_hub Если значение данной переменно больше чем min_share, то пользователи с шарой меньше указанной в данной переменной, смогут зайти на хаб но не смогут искать/скачивать файлы.
max_share Если Вы хотите предотвратить расшаривание слишком больших объёмов, укажите здесь максимальное значение шары в MB.
max_share_reg То же самое что и предыдущая переменная, но касается только для зарегистрированых пользователей.
Настройки бана
Переменная Описание
tban_kick Величина временного БАНа после кика в секундах. По умолчанию 300 секунд.
tban_max Максимальная веоичина БАНа, которую может назначить оператор, в секундах.
hide_all_kicks Прятать все сообщения киков от пользователей.
Настройки входа (логина)
Переменная Описание
int_login Количество секунд после дисконнекта юзера и возможностью его переконнекта.
send_user_info Когда юзер входит, хаб отправляет этому юзеру информацию о нём. 0 – выключить; 1 – включить. По умолчанию включено.
send_user_ip Когда юзер входит, хаб отправляет этому юзеру его IP адрес. 0 – выключить; 1 – включить. По умолчанию включено. По умолчанию 1.
nicklist_on_login Показывать никлист юзерам при входе.
allways_ask_password Всегда спрашивать пароль у юзеров, будь он зарегистрирован или нет.
chat_default_on Включать чат пользователям по умолчанию. 1 – да; 0 – нет. Если – нет, пользователям нужно будет использвоать команду !chaton для включения чата.
Настройка сообщений хаба
Переменная Описание
msg_chat_onoff
msg_change_pwd Вы можете указать своё сообщение о смене пароля юзеру в этой переменной.
Настройка сообщений об ошибках
Переменная Описание
msg_banned Вы можете указать своё сообщение о БАНе юзера в этой переменной.
msg_hub_full Вы можете указать своё сообщение о том, что хаб полон, в этой переменной.
msg_nick_prefix Вы можете указать своё сообщение о необходимости префикса у ника пользователя в этой переменной.
msg_downgrade Вы можете указать своё сообщение о том, что клиент пользователя слишком нов, в этой переменной.
msg_upgrade Вы можете указать своё сообщение о том, что клиент пользователя слишком старый, в этой переменной.
msg_replace_ban
Настройка приветственных сообщений
Переменная Описание
msg_welcome_guest Приветственное сообщение для гостей (класс 0). Используйте %[nick], чтобы вставить ник пользователя в сообщение.
msg_welcome_reg Приветственное сообщение для зарегистрированных пользователей. Используйте %[nick], чтобы вставить ник пользователя в сообщение.
msg_welcome_vip Приветственное сообщение для ВИП пользователей. Используйте %[nick], чтобы вставить ник пользователя в сообщение.
msg_welcome_op Приветственное сообщение для операторов. Используйте %[nick], чтобы вставить ник пользователя в сообщение.
msg_welcome_cheef Приветственное сообщение для шефов. Используйте %[nick], чтобы вставить ник пользователя в сообщение.
msg_welcome_admin Приветственное сообщение для админов. Используйте %[nick], чтобы вставить ник пользователя в сообщение.
msg_welcome_master Приветственное сообщение для хозяина хаба. Используйте %[nick], чтобы вставить ник пользователя в сообщение.
Переопределение лимита по числу юзеров
Переменная Описание
max_extra_regs Максимальное число зарегистрированных пользователей (класс 1), которые смогут войти, после того как хаб будет полон.
max_extra_vips Максимальное число VIP пользователей (класс 2), которые смогут войти, после того как хаб будет полон.
max_extra_ops Максимальное число операторов (класс 3), которые смогут войти, после того как хаб будет полон.
max_extra_admins Максимальное число админов (класс 5), которые смогут войти, после того как хаб будет полон.
Настройки для хаблиста
Переменная Описание
hublist_host IP адрес хоста регистратора в хаблисте
hublist_port Обычно 2501 порт (по умолчанию).
hublist_send_minshare Когда установлено в 1, поле «минимальная шара» добавится автоматически в описание хаба для хаблиста.
timer_hublist_period Интервал в секундах между двумя регистрациями в хаблисте.
Редиректы хаба
Переменная Описание
redir_host_max Установите данную переменную в 0 и переменной redir_host0 присвойте ДНС адрес вашего хаба, чтобы отключить редиректы.
redir_host0 Введите хост для редиректа отклонённых пользователей, или оставьте переменную пустой. Не забудте изменить соответствующим образом переменную redir_host_max, если решите сделать переменную пустой. Не используется с версии VerliHub 0.9.8e.
redir_host1 Не используется с версии VerliHub 0.9.8e.
redir_host2 Не используется с версии VerliHub 0.9.8e.
redir_host3 Не используется с версии VerliHub 0.9.8e.
redir_host4 Не используется с версии VerliHub 0.9.8e.
redir_host5 Не используется с версии VerliHub 0.9.8e.
redir_host6 Не используется с версии VerliHub 0.9.8e.
redir_host7 Не используется с версии VerliHub 0.9.8e.
redir_host8 Не используется с версии VerliHub 0.9.8e.
redir_host9 Не используется с версии VerliHub 0.9.8e.
Настройки поиска
Переменная Описание
int_search Минимальный разрешённый интервал поиска в секундах.
int_search_reg Минимальный разрешённый интервал поиска для зарегистрированных пользователей в секундах.
min_search_chars Минимум символов в поисковом запросе (это может быть поелзно для защиты от запросов типа «mp3″, что для пассивных пользователей может вернуть тысячи результатов через хаб).
max_passive_sr Максимально разрешённое число поисковых запросов пассивым пользователем. Это полезно для снижения расхода трафика и задержек хаба, т.к. результаты поиска пассивным юзерам возвращаются через хаб.
Тэги DC++
Переменная Описание
tag_allow_none Позволить клиентам не сообщать тэг? 1=да, 0=нет. По умолчанию 1.
tag_sum_hubs Суммировать хабы из части тэга: H:X/Y/Z.
tag_min_class_ignore Класс пользователей, начиная с которого, тэги юзеров не будут проверяться.
tag_max_hs_ratio Минимальный ретинг хаб/слот. Пользователи, с рейтингом выше заданного, будут отклоняться. Например, 1 означает, что юзеру нужно открыть один слот на каждый хаб.
tag_max_hubs Максимальное число хабов у юзера.
tag_min_version_plusplus Используйте _min_version_ для того, чтобы указать минимально разрешённую версию клиента на хабе.
tag_min_version_dcgui
tag_min_version_odc
tag_min_version_dc
tag_min_version_dcpro
tag_min_version_strongdc
tag_min_version_idc
tag_min_version_zdc
tag_max_version_plusplus Используйте _max_version_ для того, чтобы указать максимально разрешённую версию клиента на хабе.
tag_max_version_dcgui
tag_max_version_odc
tag_max_version_dc
tag_max_version_dcpro
tag_max_version_strongdc
tag_max_version_idc
tag_max_version_zdc
tag_allow_sock5 Если установлен 0, то пользователи, использующие соксы, не смогут зайти на хаб.
Определение кодов стран (Country Code)
Переменная Описание
cc_zone1 Список стран для первой зоны. Формат: «:XX:YY:ZZ:». Список должен начаться и закончиться двоеточием, страны также нужно отделять двоеточием. Число кодов не ограничено. Примеры кодов: CZ; UK; US; SE (коды должны быть указаны заглавными буквами).
cc_zone2 Список стран для второй зоны. См. переменную cc_zone1.
cc_zone3 Список стран для второй зоны. См. переменную cc_zone1.
max_users0 Лимит на число пользователей, не указывающих код страны.
max_users1 Лимит на число пользователей для cc_zone1.
max_users2 Лимит на число пользователей для cc_zone2.
max_users3 Лимит на число пользователей для cc_zone3.
Определение IP адресов пользователей
Переменная Описание
ip_zone4_min Если Вы хотите ограничить пользователей по IP адресу, введите здесь начальный IP адрес для первой IP-зоны (Verlihub позволяет определить три IP-зоны).
ip_zone4_max Если Вы хотите ограничить пользователей по IP адресу, введите здесь конечный IP адрес для первой IP-зоны (Verlihub позволяет определить три IP-зоны).
ip_zone5_min Если Вы хотите ограничить пользователей по IP адресу, введите здесь начальный IP адрес для второй IP-зоны (Verlihub позволяет определить три IP-зоны).
ip_zone5_max Если Вы хотите ограничить пользователей по IP адресу, введите здесь конечный IP адрес для второй IP-зоны (Verlihub позволяет определить три IP-зоны).
ip_zone6_min Если Вы хотите ограничить пользователей по IP адресу, введите здесь начальный IP адрес для третьей IP-зоны (Verlihub позволяет определить три IP-зоны).
ip_zone6_max Если Вы хотите ограничить пользователей по IP адресу, введите здесь конечный IP адрес для третьей IP-зоны (Verlihub позволяет определить три IP-зоны).
max_users0 Лимит на число пользователей, не попадающих ни в одну указанную IP-зону.
max_users4 Лимит на число пользователей для ip_zone4_*.
max_users5 Лимит на число пользователей для ip_zone5_*.
max_users6 Лимит на число пользователей для ip_zone6_*.
Другие настройки
Переменная Описание
cmd_start_user Префикс команд для пользователей. По умолчанию «+».
cmd_start_op Префикс команд для опреаторов. По умолчанию «!».
report_dns_lookup Сообщать о результатах обратного ДНС поиска в опчат.
max_message_size Переменная переопределяет ранее упомянутые настройки анитфлуда, если установлена правильно. Указывается в байтах. По умолчанию 10240, что позволяет отправлять огромные сообщения. Переменная касается всех классов, включая хозяина хаба (класс 10).
int_chat_ms Минимально разрешённый интервал между отправкой юзером сообщений в главный чат. Значение 1000 заставит пользователя ждать 1 секунду до отправки нового сообщения. Может быть использована для ограничения флуда.
show_email Установите значение этой переменной в 0, если хотите оптимизировать никлист, исключением всех полей «email». -1 = показывать все email адреса, указанные в клиентах пользователями.
show_speed Показывать информацию в поле «скорость». См. show_email.
show_share Показывать информацию в поле «шара». См. show_email.
show_desc_len Показывать информацию в поле «описание». Определяется также как и переменная show_email, за исключением того, что можно установить ограничение на число символов. Например, значение 10 ограничит данное поле десятью символами. -1 отключит все ограничения.
int_nicklist Значение по умолчанию 30 означает, что пользователь сможет запрашивать обновление никлиста один раз в 30 секунд, полезно для контроля задержек и трафика.
desc_insert_mode Вставить ‘A’, ‘P’, или ’5′ в описание юзера? (1 = да/0 = нет) ‘A’ означает активный режим, ‘P’ – пассивный, а ’5′ – подключение через сокс.
use_reglist_cache Установка режима кэширования реглиста. Если кэш включен, и внешняя программа добавляет юзера напрямую в базу данных, то этот юзер не будет известен в кэше реглиста, пока не будет использована команда !reload, или пока хаб не перезагрузит свои переменные самостоятельно через некоторый интервал времени, который можт быть изменён настройками.
use_penlist_cache То же самое что и предыдущая переменная, только относится к бан- и киклистам.
save_lang Установите 1 для создания в базе мульти-языковых переменных. Подробности см. выше в данном мане.
timer_conn_period Вероятно, лучше не стоит троглать эту переменную, т.к. она не даёт реального эффекта в производительности.
timer_serv_period См. предыдущую переменную.
timer_reloadcfg_period Период времени, через который хаб перезагружает в память переменные, а также загружает в ккэш рег- и бан-листы. по умолчанию 300 секунд (5 минут). Это означает что хаб будет перезагружать базу данных каждые 5 минут.
delayed_search Значение 1 (по умолчанию) налагает задержку перед поиском, указанную в int_search перед возможностью поиска только что подключившемся пользователем. Полезно против спам ботов, которые ищут хабы для спама.
delayed_myinfo Подобна предыдущей переменной, только касается myinfo.
step_delay Меняйте значение данной переменной, только если Вы точно знаете что делаете.
bc_reply Когда отключено (disable), то !bc команды не отправляют away-реплики от всех к Вам в личку.
log_level Всего 5 уровней логгирования. 0 – отключает лог. Значения с 1 до 5 увеличивают количество событий для лога. На пятом уровне в лог попадает всё, что только может туда попасть. Используйте этот уровнеь только для отладки, поскольку это может значительно увеличить потребляемые хабом ресурсы.
optimize_userlist Установите 1, если Вы желаете отправлять юзерлист медленнее только что подключившимся пользователям. На сколько медленнее, указывается в следующей переменной.
ul_portion См. предыдущую переменную.
int_flood_pm_period Переменная для ограничения флуда в личку. Задаёт интервал времени (в секундах). Измеряется сколько сообщений в личку Вы пытаетесь отправить за указанный здесь промежуток времени.
int_flood_pm_limit Антифлуд в личку, задаётся числовым значением. Пример: при значении 2 будет происходить дисконнект юзера при попытке спамить кому-либо в личку более двух раз за короткое время.
timeout_myinfo Обычно не надо трогать эту переменную, оставив ей значение по умолчанию.
hub_version Версия хаба, задаётся в исходных кодах. Если Вы измените значение этой переменной, то после рестарта хаб вернёт ей прежнее значение.
hub_version_special Вы можете присвоить этой переменной текст, который будет добавляться к версии хаба, указанной в исходных кодах при компилировании хаба.
classdif_reg Максимальная разница в классах при регистрировании юзера. Пример: если установлено значение 2, то юзер может зарегистрировать другого юзера, только если последний ниже первого максимум на два класса.
classdif_kick См. выше, только касается киков.
classdif_download См. выше, только касается скачивания.
classdif_pm См. выше, только касается отправки лички.
min_class_register Минимальный класс, способный регистрировать юзеров. Данная переменная переопределяет все остальные настройки, т.е. если Вы установаите значение данной переменной в 3, то только операторы или выше смогут регистрировать новых пользователей.
min_class_bc Минимальный класс, способный делать массовые рассылки. Например, значение 5 означает, что только админ или выше могут отправлять массовые сообщения.
min_class_bc_regs То же что и выше, но касается зарегистрированных пользователей. Переопределяет предыдущую переменную.
min_class_redir Минимальный класс, способный в ручную редиректить юзеров.
dest_report_chat Куда отправлять вывод команды +report. По умолчанию – в опчат (OpChat).
dest_regme_chat См. выше. Касается команды +regme.
dest_drop_chat См. выше. Касается юзеров выкинутых с хаба командой !drop.
default_password_encryption Метод шифрования (если доступен) паролей. Начинает действовать сразу же после изменения. 1 – зашифровывать (по умолчанию); 0 – не зашифровывать (простой текст); 2 – MD5. Если указанный метод не доступен, то используется другой метод, вполть до отключения шифрования и использования обычного текста.
timeout_key Таймаут (в секундах) между подключением и первым ответом.
timeout_nick Таймаут (в секундах) между отправкой ключа (key) и приёма ника.
timeout_myinfo Таймаут (в секундах) между приёмом ника и приёмом myinfo (описание, шара, тег и т.д.).
timeout_flush Зарезервировано, не используется.
timeout_login Таймаут (в секундах) между подключением и появлением в никлисте.
timeout_setpass Таймаут (в секундах) между логином и отправкой пароля юзером.
max_class_int_login Максимальный класс, получающий временный бан на int_login секунд во время каждого логина (главным образом нужно для отладки).
mainchat_class Минимальный класс, которому позволено использовать главный чат.
topic_mod_class Минимальный класс, которому позволено изменять топик хаба.
plugin_mod_class Минимальный класс, которому позволено использовать команды плагинов.
trigger_mod_class Минимальный класс, которому позволено использовать команды модерирования триггеров.
disable_regme_cmd Отключить саморегистрацию. Установите 1, чтобы пользователи не могли использовать команду +regme.
disable_me_cmd См. выше. Касается команды +me.
disable_usr_cmds Отключить команды. Установите 1, чтобы временно отключить все «+» команды пользователям, классом ниже 1.

источник: записки администратора ©2o14

0000192