Что защищает Anti-Xray
Anti-Xray уменьшает полезность данных о скрытых блоках, отправляемых клиенту. Серверная защита меняет представление части мира для игрока, не превращая настоящую карту в набор случайных руд. Обычное разрушение и получение ресурсов должны продолжать работать по правилам сервера.
Эта статья относится к встроенной защите Paper. В другом ядре настройки и способы работы могут отличаться. Не устанавливайте сразу несколько решений с пересекающимися задачами, пока не проверили их совместимость. Дополнительный плагин не обязательно улучшит результат уже настроенного механизма.
Anti-Xray не является полным античитом. Он не решает автоматически проблемы движения, автоматизации, злоупотребления командами или всех способов получения информации о мире. Поэтому настройка должна входить в общую защиту сервера вместе с правами, наблюдением и понятными правилами.
Где искать настройки Paper
Откройте руководство Paper Anti-Xray и структуру мировых конфигов. Выполните stop в консоли. Скопируйте config/paper-world-defaults.yml в config/paper-world-defaults.yml.before-xray; затем редактируйте существующий блок anticheat.anti-xray. Не добавляйте второй одноимённый YAML-ключ в конец файла.
Для первого теста выберите engine-mode 1 и включите защиту. Приведённый фрагмент относится к обычному миру и скрывает две алмазные руды до высоты 64. Это минимальный учебный пример, не полный список руд: для рабочего Survival перенесите список hidden-blocks из руководства Paper и подберите max-block-height под нужные материалы.
anticheat:
anti-xray:
enabled: true
engine-mode: 1
hidden-blocks:
- diamond_ore
- deepslate_diamond_ore
replacement-blocks: []
max-block-height: 64
update-radius: 2
use-permission: falseНе допустить ошибок конфигурации поможет руководство проверка YAML.
Чем различаются режимы
Встроенная защита Paper имеет три режима. Первый заменяет подходящие скрытые блоки обычным представлением породы. Второй использует ложные варианты для большей части защищаемой области. Третий использует похожий подход с распределением по слоям чанка. Полные правила и списки параметров смотрите в документации выбранного выпуска.
Выбор режима влияет на стоимость подготовки и передачи данных, а также на клиентское отображение. Более сложное скрытие не является бесплатным. Начните с документированного варианта, подходящего вашему миру, затем измеряйте подключение, движение и обычную добычу. Для слабых клиентов особенно важна реальная проверка прогрузки.
Списки hidden-blocks и replacement-blocks служат разным задачам и используются по-разному между режимами. Не добавляйте туда всё существующее содержимое игры. Сначала поймите, какие ресурсы защищаете, где они встречаются и что увидит обычный игрок в ожидаемой ситуации.
Что проверить в каждом мире
Проверьте локальный paper-world.yml: он может переопределять настройки по умолчанию. В Paper 26.1+ измерения используют структуру world/dimensions/minecraft/the_nether/paper-world.yml; в прежней Bukkit-структуре Незер обычно находится в world_nether/paper-world.yml. Используйте созданные вашим сервером файлы, а не создавайте второй мир по чужому пути. В Незере нужен отдельный список ancient_debris/nether_gold_ore/nether_quartz_ore.
- После штатного старта проверьте
logs/latest.log: ошибка YAML с номером строки означает, что конфигурация не применена. Исправьте отступы пробелами и повторите старт. - В тестовой копии мира поставьте обычный алмазный блок руды внутри толстой каменной оболочки и рядом один открытый блок руды. В режиме1 открытая руда не скрывается — это ожидаемое правило.
- Зайдите обычным аккаунтом без OP и копайте к закрытой руде. Убедитесь, что при открытии грани она обновляется и добывается нормальным инструментом.
- Повторите вход и движение по новым чанкам, снимите
/spark profiler start --timeout 60и сравните с копией без защиты. - Для проверки именно подменяемых сетевых данных используйте только контролируемый тестовый клиент на своей копии сервера. Обычный визуальный тест подтверждает отсутствие артефактов, но сам по себе не доказывает, что клиент получил подменённую руду.
Клиентские ошибки и жалобы игроков
Если игрок видит ложную руду после раскрытия стены, попросите место, время и снимок до/после взаимодействия. На тестовой копии верните engine-mode: 1, update-radius: 2 и проверьте проблему с обычным клиентом без ресурспака. В режиме2 добавление air усиливает маскировку открытых мест, но может ухудшить FPS; не включайте его одновременно с десятком других изменений.
Полные примеры режимов Paper дают разные настройки обычного мира и Незера. Режим3 распределяет ложные материалы по слоям, режим1 меняет только полностью закрытые цели. Отдельно проверяйте жалобы слабых клиентов и нагрузку отправки чанков.
Для Bedrock-подключений к Java-серверу пригодится материал тестирование кроссплея.
Проверка результата без автоматических обвинений
Большая добыча одного игрока не доказывает нарушение сама по себе. Оценка должна учитывать время, маршрут, доступные инструменты, правила и дополнительные данные. Автоматическая выдача наказания по единственному счётчику может затронуть обычного участника и не объяснит, работает ли Anti-Xray корректно.
Для технической проверки используйте разрешённую тестовую среду и документацию проекта. Сравните серверную нагрузку до и после на одинаковом сценарии. Защита полезна, когда скрытие работает в нужной области и не делает обычную добычу неудобной для большинства участников.
Обновления и сопровождение
После обновления Paper, генерации или списка защищаемых материалов повторите короткие проверки. Сохраните номер сборки и конфигурацию, чтобы можно было сравнить результат. Не переносите неизвестные старые настройки в новый файл только ради сохранения знакомых названий.
Документируйте причину каждого исключения и способ контроля. Тогда другой администратор сможет выбрать нужный файл, понять назначение настройки и воспроизвести тест. Anti-Xray лучше сопровождать как часть серверной конфигурации, чем один раз включить и считать вопрос защиты закрытым навсегда.



