DGuard

Защита от X-Ray на сервере Minecraft

X-Ray не видит ни один античит: чит работает только на стороне клиента. Защищаются от него иначе — не отправляют клиенту руды, которых игрок видеть не должен. Разбираем anti-xray в Paper с рекомендованным конфигом из документации, Orebfuscator и то, как вычислить тех, кто уже копал с X-Ray.

Команда DGuard8 мин

Чтобы закрыть 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 снижает сетевую нагрузку при входе примерно вдвое и помогает сжатию пакетов чанков.
Режимы anti-xray по документации 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 даёт готовые конфиги для всех трёх режимов. Ниже — режим 2 для верхнего мира, незера и края. Для режима 3 списки те же, меняется только строка engine-mode: 3. YAML чувствителен к отступам: не вставляйте табы и сделайте копию файла перед правкой.

config/paper-world-defaults.yml — замените существующий блок anticheat.anti-xray
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: false
paper-world.yml незера: world_nether/ на 1.21.x, world/dimensions/minecraft/the_nether/ с 26.1
anticheat:
  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: false
paper-world.yml края (world_the_end/ на 1.21.x, world/dimensions/minecraft/the_end/ с 26.1): документация советует anti-xray здесь выключить
anticheat:
  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, который открывает и бьёт сквозь стены.

ЧитDGuardGrimACVulcanPolarIntaveMatrix
Nukerломает всё вокруг сразучастично: FastBreak ограничивает темп, отдельная MultiBreak экспериментальнаячастично: не назван — только общая проверка взаимодействия с блокамичастично: не назван — только время ломания одного блокачастично: не назван — только общие проверки ломания блоков
FastBreakломает быстрее, чем можночастично: не назван — только общая проверка взаимодействия с блоками
PacketMineломает блоки пакетамичастично: отдельной проверки нет — только порядок пакетов ломаниячастично: не назван — только общая проверка взаимодействия с блокамичастично: не назван — только время ломания и смена слотачастично: только порядок пакетов ломания, по умолчанию без веса
GhostHandоткрывает и бьёт сквозь стенычастично: только кроватичастично: общая проверка взаимодействия, сквозь стены не заявлено
Читы в шахте, которые видны по пакетам: кто их проверяетВсе 47 видов читов — в сравнении

Связка простая: 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 использовать не стоит.

Источники

Все разделы
Защита сервера5 минАнтичит для выживания (SMP): экономика, X-Ray и автоматизацияНа выживании читер не просто побеждает — он ломает экономику: Nuker и FastBreak раздувают ресурсы, AutoFish и AntiAFK фармят без игрока, а топы теряют смысл. Разбираем, какие читы опасны для SMP, что ловит античит, что закрывают настройки сервера и как выставить мягкую строгость для обычных игроков.ЧитатьПлагины6 минCoreProtect: как найти грифера и откатить разрушенияВключите инспектор /co i и кликните по блоку — увидите, кто его поставил или сломал. /co rollback вернёт всё, что натворил игрок, а по логам добычи руды можно заподозрить X-Ray.ЧитатьМодерация8 минКак проверить игрока на читы на сервере MinecraftНачните с улик античита, затем незаметно понаблюдайте за игроком и запишите бой. X-Ray проверяйте по логам добычи в CoreProtect. Проверку с демонстрацией экрана оставьте на крайний случай — и только если она прописана в правилах.Читать

Поставьте лучший античит для современного Minecraft

DGuard ловит все 47 видов читов из нашего сравнения — у ближайшего соперника, Intave, 27. Полная защита на любом тарифе, до 30 игроков онлайн — бесплатно.