Что-то я тут пораскинул. В целом же все правильно.
LiteBans, привязанный к MySQL делает только синхронизацию записей между серверами, где стоит LiteBans а не выполнение команд. Следовательно если ты на одном сервере, а игрок на другом, то все логично. А когда игрок прыгает на другой сервер, то происходит запрос к MySQL и LiteBans видит запись о бане и не пускает игрока.
Есть 3 варианта развития событий:
1) Забить болт и оставить как есть
2) Банить игрока непосредственно на том сервере, где играет нарушитель
3) Написать скрипт костыль, который будет отлавливать сообщение о бане в чате, и если он его видит, банить игрока.
Но это нужно отлавливать все сообщения, потом, если нашли сообщение его нужно парсить на слова, чтобы отловить ник игрока. Этот ник помещать в переменную и выполнять команду изгнания с сервера с подставкой переменной...
Тут я вижу проблему:
- Т.к. сообщение прилетает на все сервера, то будет несколько запросов к БД, и, возможно будет несколько одинаковых записей в бане(не уверен, нужно тестить)