"FOSS-предиктивный античит для Minecraft: Bedrock Edition"
opencollab-incubator/Boar · github.com
Запустите сервер Minecraft с Geyser, и игроки Bedrock смогут заходить в ваш мир на Java. А вместе с ними и читеры Bedrock, которые ломают механику движения, причём большинство Java-античитов их почти не замечает. Boar - бесплатный античит, который подключается к Geyser и отменяет читы на полёт, скорость, дальность удара и таймер на этих подключениях Bedrock, пока они не испортили игру всем остальным.
Что делает Boar
Boar работает как расширение GeyserMC. Если у вас нет Geyser, дальше можно не читать: эта штука следит только за игроками Bedrock, которые попадают на ваш Java-сервер через Geyser. Игроков Java она не трогает вообще.
В основе лежит то, что Mojang называет server-authoritative movement with rewind (авторитетное движение на стороне сервера с перемоткой). Вместо того чтобы верить клиенту, который говорит «я стою вот здесь», сервер сам просчитывает, где игрок должен находиться, по ванильной физике, сравнивает это с тем, что заявляет клиент, и перематывает состояние мира, чтобы проверки попаданий оценивались честно с учётом лагов. Bedrock Dedicated Server уже поддерживает этот режим. Boar приносит его в Geyser и, судя по README проекта, добавляет проверки, которых нет в BDS.
Это проект на Java, у него 101 звезда на GitHub и лицензия MIT. Бесплатный, и каждую строчку логики детекта можно прочитать, если есть желание.
Зачем его ставить
У серверов с кросс-плеем есть слепая зона. У вас может отлично работать надёжный Java-античит, а сторона Bedrock при этом остаётся нараспашку, потому что преобразованное движение из Geyser часто проскакивает мимо Java-античитов или, наоборот, заставляет их ошибочно банить честных игроков с телефонов.
Конкретные примеры: выживальный SMP, который рекламирует кросс-плей и постоянно притягивает мобильных читеров с полётом. PvP-сервер, где игроки Bedrock попадают по врагам с расстояния, явно превышающего ближний бой. Загруженный публичный сервер (у некоторых серверов из нашего списка онлайн исчисляется пятизначными числами), где даже крохотная доля читеров выливается в кучу испорченных игровых сессий.
(Небольшое отступление: недооценённый плюс кросс-плея в том, что игроки Bedrock автоматически переносят свои скины через Geyser. Если вы формируете айдентику сервера и хотите единый вид для персонала или строителей, в нашей галерее скинов больше 230 000 бесплатных вариантов и 3D-просмотрщик. Ладно, вернёмся к ловле читеров.)
А если ваша настоящая цель - вообще не пускать посторонних, античит тут не первый инструмент. Закрытый список участников даёт больше. Наш конструктор вайтлиста собирает готовый whitelist.json за пару кликов, и это намертво отсекает случайных гриферов, потому что они просто не подключаются. Boar - для читеров, которых на сервер уже пустили.
Установка Boar на сервер с Geyser
Boar выходит на Modrinth как расширение Geyser, а Geyser загружает расширения из папки extensions рядом со своим конфигом. В репозитории нет подробного руководства, поэтому вот стандартный порядок установки расширения Geyser:
- Скачайте свежий jar-файл Boar со страницы проекта на Modrinth.
- Положите jar в каталог
extensionsвашего Geyser. - Перезапустите сервер. Простой перезагрузки плагинов недостаточно, чтобы подхватить новое расширение.
- Дождитесь в консоли строки о запуске Boar, затем откройте созданный им конфиг, чтобы задать дальность удара и другие пороги.
# Примерные пути, зависят от того, как вы запускаете Geyser
# Автономный Geyser:
Geyser/extensions/boar.jar
# Geyser как плагин Spigot/Paper:
plugins/Geyser-Spigot/extensions/boar.jarВсё работает только на стороне сервера. Игрокам ничего не нужно ставить или обновлять, и они не узнают о нём, если не читерят.
Проверки и насколько им можно доверять
Сердце системы - предсказание движения. Boar тик за тиком моделирует ванильное движение Bedrock и отмечает отклонения от него. Судя по README, это покрывает почти все читы на движение, кроме тех, что связаны с транспортом: полёт во всех вариациях, скорость, шаг (step), быстрое карабканье, высокий прыжок, jesus (ходьба по воде) и no slow. No fall ловится через проверку полёта, а не отдельным модулем, и, как утверждает README, это усложняет обход.
Дальше - reach. Boar отменяет удары, нанесённые с расстояния примерно больше 3 блоков, точное значение задаётся в конфиге. Идея в том, чтобы отсекать удар читера и не съедать удар честного игрока на границе нормальной дистанции.
Детект хитбокса покрывает расширение хитбокса, включая killaura в стиле «touch», когда атакующий цепляется за цель, которая формально находится вплотную.
Затем идёт проверка таймера. Если честно, Boar отмечает клиенты, которые гоняют игру быстрее обычных 20 тиков в секунду, и README заявляет, что ловит ускорение вплоть до 1,001x, при этом не трогая игроков, которые просто лагают.
В README сказано, что подход к движению «математически невозможно обойти», потому что он построен на ванильном коде движения. Я бы относился к такой категоричности с осторожностью (каждый разработчик античитов говорил что-то подобное), но метод рабочий, а честность насчёт недостающих функций в других разделах README заставляет больше доверять остальному. Собственно, именно это и цепляет: проект открыто перечисляет свои пробелы, а не делает вид, что их нет.
Подводные камни, удаление и мелкий шрифт
- Только Bedrock. Boar вообще не проверяет игроков Java. Рядом всё равно нужен отдельный Java-античит.
- Нет проверок транспорта. Читы на движение в лодках и на лошадях сейчас вне зоны покрытия, судя по README.
- Проект молодой. README прямо говорит, что многие нюансы движения и функции ещё не реализованы. Протестируйте на тестовом сервере, прежде чем ставить на боевой.
- Чувствительность работает в обе стороны. Проект называет себя крайне чувствительным. Начните с более мягких порогов, какое-то время последите за логами, а затем постепенно ужесточайте, чтобы не наказывать игроков с плохим соединением.
Удаляется безболезненно. Удалите jar из папки extensions и перезапустите. Boar не меняет файлы мира и данные игроков, так что откатывать нечего и восстанавливать ванильное состояние не нужно.
Насчёт загрузок: берите jar только с официальной страницы на Modrinth и больше нигде. Открытый код означает, что его можно проверить, и это реальный плюс, но сам по себе он не делает любую скачку безопасной. Ваш сервер - вам и решать, насколько быть осторожным.
Альтернативы и моё мнение
Если у вас настоящий Bedrock Dedicated Server, а не Geyser, в BDS уже встроен собственный античит с авторитетным сервером и перемоткой, по образцу которого и сделан Boar. У Geyser также есть страница совместимости с античитами, которую стоит прочитать, прежде чем на что-то решаться. Для Java-половины кросс-плей сервера отдельный Java-античит понадобится в любом случае, что бы вы ни выбрали для Bedrock.
Моё мнение: если у вас Geyser и есть проблема с читерством на Bedrock, Boar - едва ли не единственный бесплатный, открытый и активно развивающийся вариант, нацеленный именно на этот конкретный пробел. Уже поэтому его стоит опробовать на тестовом сервере. Только помните, что он на раннем этапе, у него своё видение по части чувствительности, и это лишь половина связки античитов для кросс-плея, а не всё решение.
Кодовую базу на Java можно быстро просмотреть, ссылки на Discord и Modrinth есть в репозитории, если застрянете, а откат стоит одного удалённого файла. Попробовать почти ничем не рискованно.



