Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Скрипты для RusHub'а _ Скрипт банов для RusHub

Автор: Wariner 3.1.2010, 13:49

В общем не успел я доделать всё что хотел, время кончилось. поэтому вот тут выкладываю модуль и скрипт для банов. протестировано на версии 2,0,3
Пока нет разделения на профили...

Сам модуль Ban.lua кладём в папку libs
Скрипт BanManager.lua с папкой BanManager в папку scripts

PS: Илюх жду твоих коментов))
PPS: От остальных жду доработок)))))

Автор: STRELOK 3.1.2010, 14:16

Спасибо. Но есть 1 недочёт, который я пока что заметил))) Забанить какого-либо пользователя может любой, кто присутствует на хабе =)))

Автор: Хабыч 3.1.2010, 14:19

Цитата
Забанить какого-либо пользователя может любой, кто присутствует на хабе =)))

Цитата
Пока нет разделения на профили...

Автор: Setuper 3.1.2010, 14:45

По логике всё верно, но есть пару моментов.
1) Не думаю, что стоит смешивать модули и плагины в одну кучу. Для модулей есть папка libs. Плагины - это динамические библиотеки, которые подключает хаб.
2) Обычно работа с модулями несколько иная и предполагает некий защитный механизм кода (lua функция module), то есть существование модуля, как таблицы в глобальном окружении.

А так в принципе все хорошо на мой взгляд написано. Спасибо.

Автор: Wariner 3.1.2010, 15:07

Цитата(Setuper @ 3.1.2010, 14:45) *
1) Не думаю, что стоит смешивать модули и плагины в одну кучу. Для модулей есть папка libs. Плагины - это динамические библиотеки, которые подключает хаб.

значит надо просто перенести в папку libs?
Цитата(Setuper @ 3.1.2010, 14:45) *
2) Обычно работа с модулями несколько иная и предполагает некий защитный механизм кода (lua функция module), то есть существование модуля, как таблицы в глобальном окружении.

можно тут поподробнее и с примером?)))

Автор: Setuper 3.1.2010, 15:29

ban.lua:

Код
local base = _G -- ссылка на глобальное окружение
module"Ban" -- объявление модуля

function CheckBanUser(tTable, sNick, sIP)
  for i,v in base.pairs(tTable) do
    if v.Nick == sNick or v.IP == sIP then
      return true, "Вы забанены!"
    end
  end
end


BanManager.lua:
Код
require"ban" -- загрузка модуля

if Ban.CheckBanUser(tTable, sNick, sIP) then -- использование функции модуля
  ...
end

Автор: Wariner 4.1.2010, 0:00

поправил с виденьем Илюхи (надеюсь правильно) + произошли некие изменения:

в модуле остались только 2 функции бан и анбан (обе ещё будут дорабатываться!)
проверку на забаненость и очистка банов по времени перенесены в сам скрипт!

PS: профилей опять же пока нет!

UPD: добавил в скрипт функцию просмотра забаненых!!!

Автор: ExC0tiC 4.1.2010, 10:15

Не работает. Прикрепил скрин. Время выставлял 1m. RusHub 2.0.3 LUA 1.3

 

Автор: Wariner 4.1.2010, 11:12

поправил. скрипт перезалил!

Автор: Setuper 4.1.2010, 16:43

С введением переноса таблиц между скриптами, хотелось бы убрать все нагромождения и запихнуть всё в модуль, кроме таблицы банов, которая будет вызываться модулем. То есть, сделать так как и было задумано с самого начала. Есть модуль, и мы, подключая его к любому скрипту, получаем в этом скрипте доступ к функциям бана и только, а таблица банов нас не волнует.

Автор: Wariner 4.1.2010, 18:37

Не совсем понял данный коммент....

Сейчас как раз все функции бана (бан и анбан) находятся в модуле, а всё остальное убрано в скрипт который этим управляет. или я опять что то не вкуриЛ?

Автор: Setuper 4.1.2010, 18:40

Сейчас я доработаю и выложу.
По ходу доработки устранил пару багов и немного оптимизировал.

Автор: Wariner 4.1.2010, 19:04

ок жду))))

Автор: Setuper 4.1.2010, 20:31

Название скрипта: модуль банов + менеджер банов
Скрипт для: RusHub
Автор: Wariner (немного доработал: Setuper)
Описание: Модуль банов позволяет использовать функции бана в скриптах. Менеджер банов позволяет забанить, используя команды.
Модуль банов не может работать отдельно от менеджера банов, так как менеждер банов содержит основную таблицу с банами.

Внимание. Этот скрипт будет работает только с lua плагином, который равен или выше, чем версия v1.4, так как в плагине был устранён баг в функции Core.SetGVal.

Теперь расскажу чего я добился. Теперь, подключая модуль Ban в любом скрипте можно будет забанить того или иного пользователя и при этом не нужно будет читать из файла базу забаненных или использовать таблицу с забаненными, - всё это скрыто в модуле Ban. Очень удобно банить с помощью модуля.


 Ban.lua ( 2.63 килобайт ) : 389
 BanManager.rar ( 2.07 килобайт ) : 298

Автор: Wariner 4.1.2010, 21:18

а какая принципиальная разница между работой моей версии и твоей?(на пальцах)

и почему в темпбане показывает кто забанил а в перманенте нет?

Автор: Setuper 4.1.2010, 21:36

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

В постоянном бане я забыл указать. Перезалил.


Код
local sPermBanMsg = [[Вы навсегда забанены на этом хабе.
    Причина: %[REASON]
    Кто забанил: %[BY]
]]

...
if v.Time == "full" then
  Core.SendToUser(UID, sPermBanMsg:gsub("%%%[REASON%]", v.Reason):gsub("%%%[BY%]", v.By), sBot)
  Core.Disconnect(UID)
else
...


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

Автор: Wariner 4.1.2010, 21:54

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

Автор: Setuper 4.1.2010, 22:07

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

  1. Мой вариант мне кажется менее геморойный (зачем заботиться о передаче таблицы, если можно этого не делать). А то что модуль привязан к скрипту менеджера банов, то не вижу в этом ничего плохого. Модуль пишется для работы со скриптами, а не отдельно.
  2. Если таблица банов достаточно большая, и она используется в нескольких скриптах, то в твоём случае расход памяти повышается.
  3. В твоём случае таблицы банов в различных скриптах могут различаться. Либо их в каждом скрипте нужно будет перезагружать из файла при каждой смене таблицы другим скриптом, ну или использовать ещё какие-нибудь уловки. А различные таблицы в различных скриптах - это различная инфа о банах. Один скрипт у тебя показывает баны по команде, другой скрипт, допустим, выводит инфу о банах на сайт, третий скрипт ещё куда-нибудь выводит, и везде разная инфа будет, что очень некорректно)))

Автор: Wariner 4.1.2010, 22:42

понятно)))))

ждём функцию дисконекта по ип наверно))))

Автор: ANDRBEST 5.1.2010, 20:14

при запуске скрипта "BanManager.lua " произошла ошибка: bad argument #1 to 'StartScript' (script was started already or script was contained mistakes)

Автор: Wariner 5.1.2010, 22:54

хм странно у меня всё работает! думаю стоит указать версию хаба плагина и какой именно банманеджер ты качал!

Автор: Setuper 7.1.2010, 18:02

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

Потом, во-первых, в твоём модуле texts нет объявления модуля, то есть фактически это не модуль, а обычный файл.
Во-вторых, в твоей версии скрипта предполагается только бан по нику, и используется только функция разъединения пользователя по нику, что не правильно, так как модуль банов также предполагает бан по ip.
В-третьих, дисконнект и сообщение всем о бане лучше убрать в модуль, для того, чтобы можно было использовать модуль банов в других скриптах и не заботиться о дисконнекте и сообщении.
В-червёртых, я думаю нужно привязывать возможности к профилям, а не к наличию ключика.

В общем сейчас я этим займусь, и сделаю как надо))

Автор: STRELOK 7.1.2010, 18:05

Цитата(Setuper @ 7.1.2010, 20:02) *
Потом, во-первых, в твоём модуле texts нет объявления модуля, то есть фактически это не модуль, а обычный файл.
Во-вторых, в твоей версии скрипта предполагается только бан по нику, и используется только функция разъединения пользователя по нику, что не правильно, так как модуль банов также предполагает бан по ip.
В-третьих, дисконнект и сообщение всем о бане лучше убрать в модуль, для того, чтобы можно было использовать модуль банов в других скриптах и не заботиться о дисконнекте и сообщении.

Это уже делал наспех. Точнее дисконнект и вывод сообщения о бане. Хотя я просто хотел сделать только разбиение на профили)))
Цитата(Setuper @ 7.1.2010, 20:02) *
В общем сейчас я этим займусь, и сделаю как надо))

Заранее спасибо)

Автор: Setuper 7.1.2010, 18:29

хехе ты читаешь всю базу зарегистрированных пользователей, для того чтобы сделать доступ только определённым.
А нужно чтобы скрипты работали отдельно, то есть не привязывать скрипт банов к скрипту регистрации.
Скрипт регистрации устанавливает пользователям профиль, и этот профиль можно использовать в любом скрипте. Это делается с помощью занесения в таблицу пользователя поля профиля:

Код
local tUser = Core.GetUser(UID, 8)
if tUser.iProfile == 0 or tUser.iProfile == 1 then -- если админ или оператор
  ...
end

Это так сказать пояснения...))))

Автор: lewonchik 7.1.2010, 23:33

у меня такая ошибка - в чате при перезапуске пишет:

произошла ошибка: bad argument #1 to 'StartScript' (script was started already or script was contained mistakes)

а в luaerr:

rushub_v_2.0.5/scripts/BanManager.lua:3: attempt to call field 'GetScriptsDir' (a nil value)

что нужно исправить?

Автор: Setuper 7.1.2010, 23:52

Заменить Core.GetScriptsDir() на Core.sScriptsDir
Это оптимизация последней версии плагина

Автор: lewonchik 8.1.2010, 16:09

Setuper спасибо за помощь, отличная разработка, ждем новостей и обновлений, удачи!!!

Автор: KamoK 22.1.2010, 13:54

при бане вылетает рус хаб.

Автор: fixx 22.1.2010, 14:45

сидел-сидел, искал-искал, но так и не нашел, где доступ к банам изменить. Хочу чтоб только Profile 0 имел доступ.
А то вообще все имеют доступ ;)

добавил позже:
Ну не нашел, так сам сделал, но только отправку менюшки, команды доступны по-прежнему всем профилям =(

Автор: Setuper 22.1.2010, 16:17

KamoK, да действительно баг. Сейчас буду исправлять.

Баг появился в функции Core.GetGVal из-за модернизации кода, и был исправлен в плагине v 1.11 big_smile.gif

Автор: Otshelnik-Fm 25.1.2010, 20:44

Этот модуль банов может запретить вход по ип прописанным в базе?

Автор: Saymon 19.2.2010, 20:56

Парни доделайте пожалуйста скрипт, больно много спаму появилось на хабе ((((

Автор: STRELOK_IS74 19.2.2010, 21:10

Собственно мой скрипт. big_smile.gif Сделал только одно - использование модуля доступно только админам и ОПам))

Автор: Setuper 19.2.2010, 22:42

Код
local tUser = Core.GetUser(UID, 1)
local sUser = Core.GetUser(UID, 8)

это можно объединить в одну таблицу
Код
local tUser = Core.GetUser(UID, 9)

Автор: STRELOK_IS74 20.2.2010, 6:08

Цитата(Setuper @ 20.2.2010, 0:42) *
Код
local tUser = Core.GetUser(UID, 1)
local sUser = Core.GetUser(UID, 8)

это можно объединить в одну таблицу
Код
local tUser = Core.GetUser(UID, 9)

Да, Но скрипт этот подправлял уже давненько, поэтому код не смотрел))

Автор: Saymon 22.2.2010, 2:13

STRELOK_IS74, в версии 2.1.2
"[02:09:29] <Bot> Вы удачно забанили юзера." и юзер дальше остаётся на хабе и пишет в чат спокойно.

Автор: STRELOK_IS74 22.2.2010, 4:52

Цитата(Saymon @ 22.2.2010, 4:13) *
STRELOK_IS74, в версии 2.1.2
"[02:09:29] <Bot> Вы удачно забанили юзера." и юзер дальше остаётся на хабе и пишет в чат спокойно.

В скрипте нет функции отключения юзера от хаба. Данная функция есть в скрипте FirstRusHubBot

Автор: ALEX_SE 4.4.2010, 22:18

Ему это почему-то не мешает входить обратно. Юзер честно забанен, в списке есть, профиль пользователь, а в программке RusRC прекрасно подключается. Так и должно быть?

Автор: Phazeus 21.6.2010, 3:19

В скрипте BanManager.lua третью строку надо исправить так:

Код
local sBanFile = Core.sScriptsDir.."BanManager/BanUser.tbl"

Автор: Setuper 4.10.2010, 15:51

В BanManager в команду !ban добавил дисконнект с сообщение о бане

Автор: Saymon 18.10.2010, 15:27

[12:26:52] <Ban> ...Connect/test rushub/scripts/BanManager.lua:90: attempt to index global 'v' (a nil value)

при том, что левый юзер: [12:26:52] <RusHubBot> gro (46.33.224.219) отправил в главный чат неизвестную команду: ban

Автор: Setuper 19.10.2010, 9:24

действительно бредятина какая-то была написана

подправил

Автор: Saymon 24.10.2010, 17:51

[18:50:03] <Ban> ...Connect/test rushub/scripts/BanManager.lua:95: bad argument #2 to 'SendToUser' (string expected, got nil)

Автор: Setuper 24.10.2010, 19:33

В функцию UnbanUser в файле Ban.lua добавил строчку:

Код
return nil, "Юзер не был забанен."

Это должно исправить ошибку.
Честно говоря мне и самому не очень нравится данный модуль банов big_smile.gif

Автор: Saymon 25.10.2010, 0:32

надо думать о новом big_smile.gif

Автор: Saymon 7.11.2010, 2:50

добавил таблицу профилей. Вроде работает.

Автор: Setuper 11.12.2010, 15:03

Бета версии с исправлениями:

Автор: X-Sky 11.12.2010, 15:19

Протестили, всё работает корректно.

Автор: Setuper 26.12.2010, 12:48

Привёл к человеческому виду скрипт.
Все остальные скрипты в теме удалил.

Автор: Herurg 26.12.2010, 16:59

Цитата(Setuper @ 26.12.2010, 12:48) *
Привёл к человеческому виду скрипт.
Все остальные скрипты в теме удалил.

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

Автор: Setuper 26.12.2010, 21:58

Как это не вылетает?
У меня все вылетают. Даже по несколько человек (если бан по ip).

Автор: Herurg 27.12.2010, 16:07

Цитата(Setuper @ 26.12.2010, 21:58) *
Как это не вылетает?
У меня все вылетают. Даже по несколько человек (если бан по ip).

Обновился и все проблемы исчезли.....спасибо....

Автор: Otshelnik-Fm 6.1.2011, 18:16

Все хорошо работает. из 2 поста перенесите в 1й вот это:

Цитата
Сам модуль Ban.lua кладём в папку libs
Скрипт BanManager.lua с папкой BanManager в папку scripts
- не все читают первые страницы.

Хочется еще в настройках увидеть "Амнистию" - чтоб список постоянных банов чистить автоматом скажем раз в полгода.

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

Хотя и так замечательный скрипт

Автор: Sekretchik 27.1.2011, 3:45

Отличный скрипт. Часть функций вынес в модули: files и utils. Кое что подправил под себя. Спасибо вам Setuper, Wariner и всем остальным кто трудился над устранением ошибок.

Автор: mod 16.3.2011, 13:56

А где взять луа 1.4?

Автор: Saymon 16.3.2011, 14:13

mod, Луа плагин поставь последний. bad_smile.gif

Автор: mod 16.3.2011, 16:20

Я и спрашиваю, где его взять, чтобы поставить? На форуме не нашел.

Автор: Saymon 16.3.2011, 16:30

http://mydc.ru/topic2378.html

Автор: mod 16.3.2011, 17:09

Выше версии 1.33 не вижу

Автор: Saymon 16.3.2011, 17:40

Блин, ну так ставь его!

Автор: Setuper 16.3.2011, 18:09

Точку в версиях нельзя воспринимать как разделитель дробной и целой частей числа.
Для сравнения версий нужно сравнивать первые числа, если они равны, то сравнивать числа после точки. Точка может быть не одна, тогда последующее сравнение продолжится по тому же принципу.
Пример: версия 1.10 больше версии 1.9

Автор: mod 16.3.2011, 19:23

Saymon, дак оно и стоит. В первом сообщении говорится что нужно 1,4.
Setuper, 1,4 выше 1,33 - верно?

Автор: Alexey 16.3.2011, 20:00

Цитата(mod @ 16.3.2011, 19:23) *
Saymon, дак оно и стоит. В первом сообщении говорится что нужно 1,4.
Setuper, 1,4 выше 1,33 - верно?

У тебя получается 4 > 33.

Автор: mod 16.3.2011, 20:30

Теперь понял. Думал 1,4 = 1,40 big_smile1.gif

Автор: CrazyKiller 22.5.2011, 14:44

Помогите пожалуйста !

как сделать в скрипте Бан По Ip и по нику, а не по отдельности ?

Автор: Артём 22.5.2011, 17:13

CrazyKiller, руками, там где по нику %[nick] , а где по IP'y %[ip]

Автор: CrazyKiller 22.5.2011, 20:15

Цитата(Артём @ 22.5.2011, 18:13) *
CrazyKiller, руками, там где по нику %[nick] , а где по IP'y %[ip]


Нет, Артём не так !

Хочется при нажатие в списке по нику и при выборе бана, Была менюшка Типа Забанить Юзера Ip+Nik и не вводить отдельно айпи и ник его ! big_smile.gif

Автор: kma21 13.9.2011, 20:05

Что-то банхаммер пускает забаненых. Т.е. в меню есть пункты, при бане по IP выкидывает с хаба. В списке забаненых есть юзер. Но после переподключения он нормально может функционировать. Хотя его IP значится в списке забаненых. В чЁм может быть причина?

Автор: CrazyKiller 13.9.2011, 20:10

Цитата(kma21 @ 13.9.2011, 21:05) *
Что-то банхаммер пускает забаненых. Т.е. в меню есть пункты, при бане по IP выкидывает с хаба. В списке забаненых есть юзер. Но после переподключения он нормально может функционировать. Хотя его IP значится в списке забаненых. В чЁм может быть причина?


Подними скрипт, скрипт должен быть первым, потом фирст и так далее !

Автор: kma21 13.9.2011, 20:11

Оказывается, что VIP банить нельзя, а остальные банятся. Спасибо за помощь. =)

Автор: Тимофей 29.12.2011, 14:41

Периодически вылетает скрипт:

Код
./scripts/BanManager.lua:150: attempt to index local 'hFile' (a nil value)

Запускаться отказывается:
Код
при запуске скрипта "BanManager.lua " произошла ошибка: cannot open ./scripts/BanManager.lua: Too many open files

Автор: mariner 29.12.2011, 14:44

лимиты подними на открытые файлы

Автор: ShadoWx 1.3.2012, 17:06

Столкнулся со следующей проблемой: Баны не удаляются из таблицы забаненных...

P.S. я что то не нашел функцию для сохранения в скрипте ...

Ребят, помогите beat_plaster.gif

Автор: ShadoWx 15.3.2012, 7:42

Так и еще интересный факт:
Смотрю список забаненных:

Код
[08:35:43] <Network> В данный момент на хабе нет забаненых юзеров.


Но на самом деле в таблице бана 4 записи...ок ... ради теста добавляю один бан..
Код
[08:38:57] <Network> Вы удачно забанили юзера.
[08:39:02] <Network> Список забаненых:

    ====================================================================================================
       Ник(IP)          Время              Кем забанен          Причина
    ====================================================================================================
     Test(-)        1 мин. 55 сек.        [A]ShadoWx        тест
     - (94.34.54.215)        2 д. 6 ч. 21 мин. 23 сек.        Network        Private Spam
     doubleworld0(-)        2 д. 6 ч. 21 мин. 23 сек.        Network        Private Spam
     lfhgahgaci(-)        12 ч. 1 мин. 57 сек.        Network        Private Spam
     - (24.45.166.196)        12 ч. 1 мин. 57 сек.        Network        Private Spam
    ====================================================================================================

и снова смотрим список забаненных ..чудеса..они появились...


и разбаниваем наш тест ...
Код
[08:39:30] <Network> Вы успешно разбанили юзера.
[08:39:35] <Network> В данный момент на хабе нет забаненых юзеров.


и скрипт вновь ничего не выводит ...
P.S.
1. скрипт работает и банит тех кто в таблице, но ничего не выводит super_man.gif
2. если в причине бана указать длинную причину на русском , например предложение короткое скрипт не сработает, возможно не равнодушен к пробелам )) ..он может вывести об успехе, но не забанит ..
если честно с модулем банов как-то не очень дела обстоят .. когда то давно же поднимали вопрос о встроенном плагине ...

Автор: Setuper 15.3.2012, 21:11

Нужно править модуль банов.

Автор: ShadoWx 15.3.2012, 21:19

нужно делать плагин банов))) surrender.gif

Автор: ShadoWx 17.11.2012, 22:19

так вот захотелось мне чтобы в сообщении во время бана показывалась причина и ник кого забанили...+ установить дефолтные значения причины и времени чтобы не писать всякие 1h стандартная_причина ))

в скрипте сделала так:

Код
            if sCmd == "ban" then

                local sUserValue = sArg:match"^(%S+)"
                local sTime = sArg:match"^%S+%s+(%S+)"
                local sReason = sArg:match"^%S+%s+%S+%s+(.*)"
                if sTime == nil then sTime = "1h" end
                if sReason == nil then sReason = "Нарушение правил хаба" end
                local bRes, sMsg = Ban.BanUser(sUserValue, sTime, tUser.sNick, sReason)                
                Core.SendToProfile({0,1}, "Выполнено: "..sUserValue.." был заблокирован по причине: "..sReason.."!" , sBot)


p.s. может кому пригодится... спасибо alex82 за регулярку

Автор: Otshelnik-Fm 25.11.2012, 14:37

Столкнулся с проблемой - теряет список забаненых. Почему происходит непонятно. Только было 20 забаненых (свежих), через 2 часа в списке остались 5 (почему-то старые баны остались).

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

Автор: Артём 24.11.2013, 15:32

Ban.lua:20: attempt to call field 'GetGVal' (a nil value)
RusHub 2.4.0[beta] (я думаю что модуль луа тоже обновлённый стоит, надеюсь mariner при обновление и его обновлял)
Добавлял в скрипт бан Ban.BanUser(user.sNick,tCfg.ban_time.."m", bot, sReason) и при попытке скрипта забанить пользователя вылезла ошибка выше. Проблема в скрипте Ban.lua или я что-то не так добавил в скрипт который должен банить?

Код
        Ban.BanUser(user.sNick,tCfg.ban_time.."m", bot, sReason)
        Core.Disconnect(user)

Автор: NeirRon 28.9.2015, 13:34

Скрипт работает почти хорошо, и в таблицу баны пишет и кикает. Вот только без проблем пускает забаненого пользователя, бан и по нику и по IP.
Версии rushub 2.3.10 win64, lua plugin 2.9 win64, и скрипт банов скачал 27.09.2015

Цитата(NeirRon @ 28.9.2015, 16:39) *
Скрипт работает почти хорошо, и в таблицу баны пишет и кикает. Вот только без проблем пускает забаненого пользователя, бан и по нику и по IP.
Версии rushub 2.3.10 win64, lua plugin 2.9 win64, и скрипт банов скачал 27.09.2015


Вопрос снимаю. Проблема была в BanManager.lua строка 59

Это:

Код
function OnValidateNick(tUser)


Заменить на это:

Код
function OnValidateNick(tUser, sData)