Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [Antibot] BotFilter - Защити свой сервер от ботов | Update 07.06.2023 | 1.8-1.20

Как запретить команду /bf? И какие пермишены есть?
 
Как запретить команду /bf? И какие пермишены есть?
я это сделал через плагин ezprotector, для него нужнен 47 патч из ватерфола (0047-Add-ProxyDefineCommandsEvent) и тогда он будет работать. Напиши в лс, могу скинуть ботфильтр с этим патчем
 
Ребят, помогите пожалуйста! Не могу установить установить ядро bungeeCord с BotFilter, версия: 3.8.4.
Устанавливаю как обычную баджу. Обычная баджа устанавливается, ошибок нет, а с BotfFilter нет. Пишет ошибка [SEVERE] Exception in thread "main". Помогите пожалуйста! Заранее спасибо!
Лог сервера, приложил.
 

Вложения:

  • proxy.log.txt
    proxy.log.txt
    Размер файла
    2,9 КБ
    Просмотров
    6
Ребят, помогите пожалуйста! Не могу установить установить ядро bungeeCord с BotFilter, версия: 3.8.4.
Устанавливаю как обычную баджу. Обычная баджа устанавливается, ошибок нет, а с BotfFilter нет. Пишет ошибка [SEVERE] Exception in thread "main". Помогите пожалуйста! Заранее спасибо!
Лог сервера, приложил.
У вас слишком новая версия java. Тут 2 варианта, использовать Java 15 и ниже, либо добавить --illegal-access=permit в строку запуска (либо до -jar, либо после, точно не знаю)
 
У вас слишком новая версия java. Тут 2 варианта, использовать Java 15 и ниже, либо добавить --illegal-access=permit в строку запуска (либо до -jar, либо после, точно не знаю)
Спасибо большое, всё работает!
 
Продолжаю ловить странные баги асинхронности. Из того, что сходу вспомнил:

1) Возможность заходить одновременно с двух одинаковых ников на один сервер. Это однозначно баг самого BungeeCord, а не ботфильтра. У Славы была попытка это исправить, но она успехом не увенчалась

2) В синхронном шедулере у игроков при переборе ProxyServer.getPlayers() метод
ProxiedPlayer.getServer() может возвращать null для тех, кто только что вошёл или только что вышел. Почему они в коллекции онлайн-игроков - неясно. Подозреваю, что это тоже может быть багом самого BungeeCord. К фильтр-серверу это отношения не имеет, т.к. эта проблема затрагивает и игроков, перезашедших на сервер уже после после проверки на бота.

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

Собственно, вопрос, есть ли смысл писать issue в репозиторий BungeeCord или, возможно, стоит рассмотреть варианты перехода на Waterfall/Velocity? Призываю в тему тех, кто сталкивался с подобными проблемами и разбирается в вопросе альтернативных прокси-серверов
 
1) Возможность заходить одновременно с двух одинаковых ников на один сервер. Это однозначно баг самого BungeeCord, а не ботфильтра. У Славы была попытка это исправить, но она успехом не увенчалась
В issuse уже создали тему, она как раз про эту ошибку и связана с состоянием гонки в InitialHandler:
https://github.com/SpigotMC/BungeeCord/issues/2371
За все время так и не исправили, без понятия почему, но иногда это и в правда случается, особенно плохо для плагинов на авторизацию, вызывается два раза подряд ивент на логин и игрок "дважды" авторизуется, кроме этого с шансом можно таким образом на одном клиенте установить два разных "соединения" на банжу, при этом, самое смешное то что клиент спокойно принимает дважды все пакеты от сервера и спокойно работает, с багами, но работает.

2) В синхронном шедулере у игроков при переборе ProxyServer.getPlayers() метод
ProxiedPlayer.getServer() может возвращать null для тех, кто только что вошёл или только что вышел. Почему они в коллекции онлайн-игроков - неясно. Подозреваю, что это тоже может быть багом самого BungeeCord. К фильтр-серверу это отношения не имеет, т.к. эта проблема затрагивает и игроков, перезашедших на сервер уже после после проверки на бота.
Возможно потому что в момент получения коллекции они были онлайн, а в момент вызова getServer() их там уже нет. Метод так же может возвращать null если игрок соединился к банже но по каким то причинам не соединился с spigot сервером и "висит" в сети. (Не раз такое бывало)
Синхронизировать такое здесь врядли лучшая идея, лучше просто проверять дополнительно через isConnected() или просто проверять getServer() на null.
 
Возможно потому что в момент получения коллекции они были онлайн, а в момент вызова getServer() их там уже нет
При выходе да, такое возможно. Но при входе... Не знаю-не знаю...
Метод так же может возвращать null если игрок соединился к банже но по каким то причинам не соединился с spigot сервером и "висит" в сети. (Не раз такое бывало)
Ну, а если игрок подключился к банже, но просто "висит в сети" - почему он тогда уже находится в коллекции онлайн-игроков, готовых к манипуляциям? Я считаю, что так это работать не должно.

На самом деле, тут речь даже не о том, как это исправлять, а о том, что в целом ощущение, что BungeeCord временами выглядит очень сыро, хотя ему уже куча лет. Думал, может с альтернативами ситуация получше.
Но, судя по этому issue, у Waterfall похожие проблемы. Интересно будет послушать людей с Velocity. Сам бы потестировал, но напрягает отсутствие фильтра под него
 
Ну, а если игрок подключился к банже, но просто "висит в сети" - почему он тогда уже находится в коллекции онлайн-игроков, готовых к манипуляциям? Я считаю, что так это работать не должно.
Наоборот, это логично. Этот метод возвращает игроков которые онлайн в сети самого банжикорда (прошедшие все проверки и готовые установить любой обработчик пакетов), а то, находятся ли они на spigot сервере или нет это не важно, ибо плагины (или другие ситуации) могут модифицировать состояние игрока в сети. Например можно отменить ивент на подключение к spigot серверу и игрок просто останется висеть в прокси сети пока клиент не отключит соединение сам, если мы не назначим другой обработчик пакетов серверу для этого игрока. (например как это делает Славик для бот фильтра)

На самом деле, тут речь даже не о том, как это исправлять, а о том, что в целом ощущение, что BungeeCord временами выглядит очень сыро, хотя ему уже куча лет. Думал, может с альтернативами ситуация получше.
Но, судя по этому issue, у Waterfall похожие проблемы. Интересно будет послушать людей с Velocity. Сам бы потестировал, но напрягает отсутствие фильтра под него
Velocity насколько я понимаю это не BungeeCord а совсем другой прокси сервер, соответственно там проблем выше не должно быть ибо разработчик того ПО активно его обновляет. Тоже интересно узнать мнение людей которые им пользуются.

А что касается сырости то есть такое, особенно то что очень много интересных фич могло быть реализовано но md_5 в этом плане немного консервативен и поэтому (да даже патчи для защиты от DoS атак, md_5 считает что такая защита должна быть в файрволах хостеров а не в самом ПО, не смотря на то что даже с хорошей защитой можно сложить банжу обычным спамом или отсутствием некоторых элементарных проверок в пакетах) есть только незначительные обновления и поддержка новых версий. Форки вроде WaterFall как я понял, пытаются наверстать упущенное.
 
Сам бы потестировал, но напрягает отсутствие фильтра под него
Потихоньку начал делать. Пока ничего нового не буду придумывать в плане проверки, оставлю капчу и падение, но в будущем постараюсь чтото новое придумать.

https://github.com/BotFilter/Velocity-BotFilter/

Тут можно будет отслеживать прогресс.
. Форки вроде WaterFall как я понял, пытаются наверстать упущенное.
Velocity создал тот же самый разработчик, который и основал Waterfall.
 
Ребят помогите, не работают никакие сборки майнкрафта, пишет ошибка javascript либо серв стопается либо он зависает. Также в scoreboard пишется например, %javascript.prefix% Лог приложил
 

Вложения:

  • latest.txt
    latest.txt
    Размер файла
    163,8 КБ
    Просмотров
    6
Ребят помогите, не работают никакие сборки майнкрафта, пишет ошибка javascript либо серв стопается либо он зависает. Также в scoreboard пишется например, %javascript.prefix% Лог приложил
У вас слишком новая версия java. Тут 2 варианта, использовать Java 15 и ниже, либо добавить --illegal-access=permit в строку запуска (либо до -jar, либо после, точно не знаю)
 
Попробывал, не всегда работает , --illegal-access=permit, сейчас у меня java se вообще нету, у меня просто java 8 для майна. Может что-то с ПО пк?upload_2021-4-16_21-24-16.png
 
Version 3.8.6 (16.04.2021, testing)
 
Что делать, если игрок не может зайти на сервер и получает сообщение:
check failed: Too long fall check?
Игрок играет на сервере давно, проблема появилась сегодня
 
Что делать, если игрок не может зайти на сервер и получает сообщение:
check failed: Too long fall check?
Игрок играет на сервере давно, проблема появилась сегодня
слишком долго проходит проверку на бота. вероятнее сегодня у него проблемы с пингом(с интернет связью)
 

Поделиться этой страницей

Назад
Верх