Чтобы закрыть X-Ray, включите встроенный anti-xray Paper: в config/paper-world-defaults.yml в секции anticheat.anti-xray поставьте enabled: true, выберите engine-mode, проверьте списки блоков и перезапустите сервер. Сервер начнёт прятать руды за фальшивыми блоками, и X-Ray покажет игроку камень или мусор вместо алмазов. Тех, кто успел накопать до включения, ищите по статистике добычи.
Почему античит не видит X-Ray
X-Ray — мод или ресурспак, который делает камень прозрачным и подсвечивает руды. Сервер при этом не получает ни одного необычного пакета: игрок ходит, копает и смотрит так же, как честный. Античит-плагин видит только то, что приходит от клиента, поэтому X-Ray для него невидим.
Это касается всех античитов, не только DGuard. В нашем сравнении X-Ray нет, как нет ESP, Freecam и FullBright: эти читы меняют только картинку. Работает другой подход — если клиент не знает, где руда, ему нечего подсветить.
Anti-xray в Paper
В Paper встроен anti-xray на основе обфускации: перед отправкой чанка сервер подменяет выбранные блоки, а настоящие присылает, когда игрок взаимодействует с блоками рядом. По умолчанию система выключена (enabled: false). Настройки лежат в двух местах:
config/paper-world-defaults.yml, секцияanticheat.anti-xray— значения для всех миров;paper-world.ymlв папке конкретного мира — переопределение для него. Путь зависит от версии: на 1.21.x у каждого измерения своя папка в корне сервера (world_nether/paper-world.yml,world_the_end/paper-world.yml), а с 26.1 Paper перенёс эти файлы в папки измерений (world/dimensions/minecraft/the_nether/paper-world.yml,world/dimensions/minecraft/the_end/paper-world.yml).
Три режима
| Режим | Что делает | Когда выбирать |
|---|---|---|
engine-mode: 1 | Заменяет блоки из hidden-blocks на камень (ниже y = 0 — глубинный сланец), незерак или эндерняк — по измерению. | Самый лёгкий для клиента. Прячет только руды, со всех сторон закрытые твёрдыми блоками. |
engine-mode: 2 | Заменяет и hidden-blocks, и replacement-blocks случайными блоками из hidden-blocks — в камне появляются фальшивые руды. | Сильнее против X-Ray: фальшивки закрывают обзор настоящих руд. С air в списке прячет и руды у пещер, но может ронять FPS у игроков. |
engine-mode: 3 | Как режим 2, но случайный блок выбирается на слой чанка, а не на каждый блок. | По документации Paper снижает сетевую нагрузку при входе примерно вдвое и помогает сжатию пакетов чанков. |
Ключи настройки
enabled— включает anti-xray.engine-mode— режим 1, 2 или 3.hidden-blocks— в режиме 1 то, что нужно спрятать: руды, их глубинносланцевые варианты, сундуки. В режимах 2 и 3 эти блоки ещё и случайно расставляются вместоhidden-blocksиreplacement-blocks, поэтому блоки-сущности вроде сундука сюда добавлять нельзя.replacement-blocks— в режимах 2 и 3 обычные блоки, которые тоже подменяются фальшивками; в режиме 1 список не используется.max-block-height— до какой высоты работает anti-xray; принимаются числа, кратные 16. Руды выше не прячутся.update-radius— радиус, в котором сервер присылает настоящие блоки, когда игрок взаимодействует с блоком; допустимы 0, 1 и 2, а 0 — только для тестов.lava-obscures— прятать ли блоки, которые касаются лавы; рекомендованоfalse.use-permission— пропускать ли игроков с правомpaper.antixray.bypassи операторов; рекомендованоfalse.
Рекомендованный конфиг из документации Paper
Документация Paper даёт готовые конфиги для всех трёх режимов. Ниже — режим 2 для верхнего мира, незера и края. Для режима 3 списки те же, меняется только строка engine-mode: 3. YAML чувствителен к отступам: не вставляйте табы и сделайте копию файла перед правкой.
anticheat:
anti-xray:
enabled: true
engine-mode: 2
hidden-blocks:
# You can add air here such that many holes are generated.
# This works well against cave finders but may cause client FPS drops for all players.
- air
- copper_ore
- deepslate_copper_ore
- raw_copper_block
- diamond_ore
- deepslate_diamond_ore
- gold_ore
- deepslate_gold_ore
- iron_ore
- deepslate_iron_ore
- raw_iron_block
- lapis_ore
- deepslate_lapis_ore
- redstone_ore
- deepslate_redstone_ore
lava-obscures: false
# As of 1.18 some ores are generated much higher.
# Please adjust the max-block-height setting at your own discretion.
# https://minecraft.wiki/w/Ore might be helpful.
max-block-height: 64
replacement-blocks:
# Chest is a tile entity and can't be added to hidden-blocks in engine-mode: 2.
# But adding chest here will hide buried treasures, if max-block-height is increased.
- chest
- amethyst_block
- andesite
- budding_amethyst
- calcite
- coal_ore
- deepslate_coal_ore
- deepslate
- diorite
- dirt
- emerald_ore
- deepslate_emerald_ore
- granite
- gravel
- oak_planks
- smooth_basalt
- stone
- tuff
update-radius: 2
use-permission: falseanticheat:
anti-xray:
enabled: true
engine-mode: 2
hidden-blocks:
# See note about air and possible client performance issues above.
- air
- ancient_debris
- bone_block
- glowstone
- magma_block
- nether_bricks
- nether_gold_ore
- nether_quartz_ore
- polished_blackstone_bricks
lava-obscures: false
max-block-height: 128
replacement-blocks:
- basalt
- blackstone
- gravel
- netherrack
- soul_sand
- soul_soil
update-radius: 2
use-permission: falseanticheat:
anti-xray:
enabled: falseКомментарии в конфиге — из документации. air в hidden-blocks создаёт много пустот и хорошо работает против поиска пещер, но может ронять FPS у всех игроков. max-block-height: 64 подберите сами: с версии 1.18 часть руд генерируется гораздо выше.
Чего anti-xray не закрывает
- Руды у воздуха. Руды, открытые в пещерах или у воды, видны во всех режимах. В режимах 2 и 3 помогает
airвhidden-blocks— ценой FPS. - Расширение обзора. Из-за устройства anti-xray настоящие руды можно увидеть на заметно большем расстоянии, чем задумано. Документация Paper предупреждает, что из коробки защиты от этого нет.
- Сид мира. Зная сид, клиент вычислит, где сгенерированы руды. Частично помогает
feature-seedsв конфиге мира Paper вместе с настройками seed структур вspigot.yml, но полного решения нет; полезен и разный сид для каждого мира. - Устаревший конфиг. Если ниже y = 0 ничего не прячется, в
replacement-blocksскорее всего нетdeepslateили биомных блоков вродеbasalt.
Orebfuscator — альтернатива
Orebfuscator — отдельный плагин против X-Ray-клиентов и X-Ray-ресурспаков. Он меняет сетевые пакеты, не трогая сам мир, умеет прятать блоки-сущности вроде сундуков и печей и кэширует уже обработанные чанки. Главное отличие от встроенной защиты — proximity hider: он прячет и блоки на поверхности и открывает их, только когда игрок подошёл достаточно близко, с проверками расстояния и видимости.
Требования по README: Java 17 или новее; Spigot, Paper, Folia или совместимые форки с 1.16.5; плагин ProtocolLib 5.4.0 или новее. Игроки с правом orebfuscator.bypass защиту не видят — проверьте, что его нет у обычных групп. Обычно хватает одного из двух: встроенный anti-xray проще, он уже в ядре; Orebfuscator гибче, но это ещё два плагина в сборке.
Как вычислить тех, кто копает с X-Ray
Anti-xray защищает с момента включения, но никого не наказывает. Игрока с X-Ray выдаёт статистика: слишком много алмазов и древних обломков на слишком мало сломанного камня и туннели, которые идут прямо от руды к руде. С CoreProtect это проверяется за минуту — поиск у него по умолчанию идёт по всему серверу:
/co lookup i:diamond_ore,deepslate_diamond_ore t:7d a:-block #summary
/co lookup i:ancient_debris t:7d a:-block #summary
/co lookup u:Ник i:stone,deepslate t:7d a:-block #countПодозрительного игрока посмотрите вживую: переключитесь в режим наблюдателя (/gamemode spectator) и следите за ним командой /spectate Ник. Игрок с X-Ray копает без поиска: сразу поворачивает к руде сквозь камень и не тратит время на пещеры. Как проверять игроков на другие читы — в статье Как проверить игрока на читы.
X-Ray доказывают совокупностью, а не одной находкой: удачливые шахтёры бывают. Наказание за X-Ray пропишите в правилах — поможет генератор правил.
Что в шахте ловит DGuard
Честно: проверки X-Ray в DGuard нет — это не пакетный чит, и в нашем сравнении его нет ни у кого. Но шахта — это не только X-Ray. DGuard ловит то, что приходит пакетами: Nuker, который ломает всё вокруг, FastBreak, PacketMine и GhostHand, который открывает и бьёт сквозь стены.
| Чит | DGuard | GrimAC | Vulcan | Polar | Intave | Matrix |
|---|---|---|---|---|---|---|
| Nukerломает всё вокруг сразу | частично: FastBreak ограничивает темп, отдельная MultiBreak экспериментальная | частично: не назван — только общая проверка взаимодействия с блоками | частично: не назван — только время ломания одного блока | частично: не назван — только общие проверки ломания блоков | ||
| FastBreakломает быстрее, чем можно | частично: не назван — только общая проверка взаимодействия с блоками | |||||
| PacketMineломает блоки пакетами | частично: отдельной проверки нет — только порядок пакетов ломания | частично: не назван — только общая проверка взаимодействия с блоками | частично: не назван — только время ломания и смена слота | частично: только порядок пакетов ломания, по умолчанию без веса | ||
| GhostHandоткрывает и бьёт сквозь стены | частично: только кровати | частично: общая проверка взаимодействия, сквозь стены не заявлено |
Связка простая: anti-xray не даёт найти руду, DGuard не даёт добыть её быстрее, чем можно, а CoreProtect показывает, кто сколько добыл.
Частые вопросы
Как включить anti-xray в Paper?
В config/paper-world-defaults.yml в секции anticheat.anti-xray поставьте enabled: true, выберите engine-mode и проверьте списки блоков, затем перезапустите сервер. Готовые конфиги для каждого режима есть в документации Paper.
Какой engine-mode выбрать?
Режим 1 самый лёгкий для клиента, но прячет только руды, полностью закрытые камнем. Режимы 2 и 3 сильнее: подмешивают фальшивые руды, а режим 3 ещё и снижает сетевую нагрузку при входе.
Может ли античит поймать X-Ray?
Нет. X-Ray меняет только то, что рисует клиент, и сервер не получает от него странных пакетов. Против X-Ray работают обфускация руд — anti-xray Paper или Orebfuscator — и проверка статистики добычи.
Почему игроки всё равно видят руды?
Чаще всего руды лежат выше max-block-height, открыты воздуху в пещерах, отсутствуют в списках блоков устаревшего конфига или у игрока есть право обхода при use-permission: true.
Нужен ли перезапуск после изменения anti-xray?
Да. Изменения применяются только после перезапуска сервера, команду /reload использовать не стоит.
Источники
- Paper: настройка Anti-Xray
- Paper: конфигурация мира (anticheat.anti-xray)
- Paper: где лежат файлы конфигурации
- Paper 26.1: файлы миров в папках измерений
- Orebfuscator: README
- Orebfuscator: FAQ
- CoreProtect: команды
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf