Skip to content

Anti X-Ray

In this article, you will learn how to set up anti x-ray for your Minecraft server.

Setting Up

There are two ways to set up an anti x-ray, the first one is to use Paper and enable the built-in anti x-ray option. In older versions of Minecraft, the anti x-ray config options were in the spigot config file instead of the paper config. The second option is to install Orebfuscator. It is recommended to use Paper's built-in anti x-ray over the plugin, but if that's not possible Orebfuscator is a decent alternative, it supports versions 1.9 - 1.17. If you need it for an older version you can use this Orebfuscator that supports Beta 1.7.3 - 1.13.2. If you need a fabric anti x-ray you can check one out here, it supports 1.16.5 - 1.17.1. The config is similar to Papers but in the form of a toml file type.

Setting up Paper anti x-ray

First what you want to do is download Paper on your server or any of its forks. Now run the server so it can generate its configs, open up paper.yml and find the option anti-xray. Now to enable it, change false to true. The next option we want to look at is engine-mode, this option controls how the anti x-ray works. Engine mode 1 replaces ore with stone and engine mode 2 replaces all blocks with random block data. Engine mode 2 can give players with a bad connection high ping when teleporting. For a private server engine mode 2 is recommended, and for a public survival server where anyone can join engine mode 1 is recommended. Engine mode 2 can render the game unplayable for some players depending on the servers/players location.

If you want to add more blocks to be hidden with engine mode 1 you can do so by adding it to the hidden-blocks list. If you want to have more blocks hidden by random block data with engine mode 2 you can add the blocks to the replacement-blocks list.

Next are a bunch of small settings you can change. If you want to change the height that anti x-ray works on, you can change the value of max-block-height, it must be a multiple of 16 to work. There is also update-radius which controls the distance in blocks from air or water that hidden-blocks are hidden by the anti x-ray, max value is 2. lava-obscures just decides if you want to obfuscate blocks next to lava. If you want to allow certain people to bypass the anti x-ray you can enable use-permission and give the player the permission paper.antixray.bypass.

Now you may have noticed that the anti x-ray does not work in other worlds. That is because the anti x-ray settings are per world. To enable it in other worlds copy the anti-xray section in the config and go to the world-settings section, now type <world-name>: and paste the anti x-ray config section inside that, repeat for all worlds you want this on. You will have to change the hidden blocks list to fit the world, for example, if it's the nether you will want to add quartz_ore and nether_gold_ore to the hidden blocks list.

Setting up Orebfuscator anti x-ray

First, to set up anti x-ray with Orebfuscator you will need to download it here along with ProtocolLib. For versions previous to 1.9 use the original Orebfuscator, config options may be different to the updated version. Open the Orebfuscator config.yml found in plugins/Orebfuscator. Find the section world and make sure enabled is set to true. Now to edit the worlds that anti x-ray is enabled in with the settings we will go through soon, find worlds and to add a world to the anti x-ray add the worlds name to the list. To add new hidden blocks you can add blocks via hiddenBlocks. To randomise all blocks that shouldn't be seen by the player add blocks to the randomBlocks section, the value you set for each block is the weight the block gets which is how common it appears when a play x-rays. You can now copy, paste and edit this section for different worlds.