AntiXray - защита сервера от читеров с X-Ray
AntiXray - лёгкий античит-плагин для Paper/Purpur 1.21.4+, который скрывает руды от X-Ray читов на уровне пакетов через ProtocolLib. Честные игроки ничего не замечают, а читеры видят фейковые блоки.
AntiXray - плагин для сервера Майнкрафт, который закрывает одну из самых больных тем любого выживания: читеров с X-Ray. Если вы хоть раз держали сервер, то знаете эту историю - игрок заходит, за полчаса находит стак алмазов, а потом удивляется, почему его банят. Ванильный Minecraft никак не защищён от прозрачных текстурпаков и чит-клиентов, поэтому без античита экономика сервера умирает за пару дней.
Этот плагин решает проблему на уровне пакетов. Он не трогает реальные данные мира - вместо этого перехватывает исходящие чанки через ProtocolLib и подменяет скрытые руды на камень или глубинный сланец прямо в сетевом трафике. Честный игрок вообще не замечает разницы: руды, которые видно из пещер, отображаются нормально и без задержек. А вот читер с X-Ray видит либо сплошной камень, либо кучу фейковых руд, которые ведут его в никуда.
Как это работает на практике
Принцип простой: если руда полностью закрыта твёрдыми блоками со всех шести сторон, игрок физически не может её увидеть легально. Значит, сервер может смело подменять её в пакетах. Как только игрок начинает копать рядом, руды в радиусе reveal (по умолчанию 2 блока) мгновенно раскрываются. Никаких лагов и визуальных артефактов - всё происходит незаметно.
Есть два режима работы движка:
- LAYER - просто заменяет скрытые руды на камень или глубинный сланец. Лёгкий и быстрый вариант.
- OBFUSCATE - кроме подмены настоящих руд, ещё и вставляет случайные фейковые руды в камень. Читер видит алмазы буквально везде и полностью теряется. По факту это самый жёсткий режим против X-Ray.
Список защищаемых блоков настраивается в конфиге. По умолчанию закрыты алмазы, изумруды, золото, железо, уголь, лазурит, редстоун, медь, древние обломки и незеровские руды. Можно добавить что угодно своё.
Команды для админа
Все команды идут через /antixray (алиас /ax), нужно право antixray.admin:
/antixray reload- перезагружает config.yml и пересобирает реестр блоков без рестарта сервера/antixray status- показывает живую статистику кэша: размер, hit/miss rate, состояние JVM и ProtocolLib/antixray debug- статус отладочных логов/antixray help- меню помощи
Отдельно есть право antixray.bypass - игроки с ним видят настоящие данные чанков без обфускации. Удобно выдать доверенным админам, чтобы они могли проверять мир в нормальном виде.
Производительность
Тут автор постарался. Обфусцированные данные чанков кэшируются глобально через потокобезопасный LRU-кэш - чанк обрабатывается один раз и раздаётся всем игрокам мгновенно. При разрушении блока на границе чанков кэш соседних чанков корректно инвалидируется. Плюс есть TTL-очистки, так что память не раздувается. На среднем сервере с парой десятков игроков нагрузку вы вообще не почувствуете.
Требования и установка
- Сервер: Paper или Purpur 1.21.4+ (нужны NMS Mojang mappings)
- Java: 21 или 25
- Зависимость: ProtocolLib 5.3.0+ (обязательно)
Установка стандартная:
- Скачайте и установите ProtocolLib.
- Закиньте
ProtocolLib.jarв папкуplugins/. - Закиньте
antixray.jarтуда же. - Перезапустите сервер - сгенерируется конфиг по умолчанию.
- Настройте
plugins/AntiXray/config.ymlпод себя и пропишите/antixray reload.
В конфиге можно включать или выключать защиту для конкретных миров через whitelist и blacklist - например, оставить античит только в обычном мире и незере, а в энде отключить.
Важный нюанс
Плагин работает только на Paper/Purpur 1.21.4 и новее - на старых версиях или Spigot/Bukkit его завести не получится из-за привязки к Mojang mappings. И не забудьте про ProtocolLib, без него плагин просто не запустится.
Если вы собираете сервер выживания или анархию - это must-have. Скачайте плагин AntiXray, поставьте режим OBFUSCATE, и читеры с X-Ray будут копать фейковые алмазы до посинения. А чтобы поиграть с друзьями без головной боли с настройкой, можно запустить сервер Майнкрафт на хостинге BungeeHost (https://bungee.host) - плагин установится туда в один клик, и арендовать сервер Майнкрафт там можно за пару минут.