Bending Minecraft
challenges while realizing a persistent open world MMOG in Minecraft

Requirement #2: Advanced Anti-Xray

From the previous post we know the basics that are needed to protect your server from item devaluation trough tools like xray. Let´s now have a look at the problems that will still occur in a gameworld that is not being reset every several month.

  • Finding special Structures is still easy

It does not really matter how extreme your basic Anti-Xray settings are setup. Finding special structures is still easy. Caves can be found by looking for water/lava-flow and it's easy to distinguish normal caves from mining-shafts by either looking for wooden blocks or comparing the tunnel-shapes. With this advantage you will most likely be the first to explore the caves and find the easy to access valuable stuff. The same goes for the rectangular spawner-rooms.

  • Valuable areas are easy to spot

Even if your server is build-protected and you need to buy a plot before farming xray will help a lot. You can distinguish valuable and non-valuable areas of the map from the surface. After buying a single plot and digging down you will be able to move trough all connected caves/mining-shafts and reveal spawners/ores.

  • Chest-Protection is annoying

Typically you replace chests and other valuable blocks in the lower parts of the map with stones. With this technique you can prevent xrayers from spotting mining-shafts and sapwner-rooms super easily. Unfortunately this is pretty annoying if you do not use xray. You'r storage-area looks pretty silly without chests and each time you walk around stones will convert to chests once again.

Building an advanced Anti-Xray

With these problems in mind lets look at the solution used on Kadcon. As always one of the most important goals is to stay very performant. Super specialized logic based hiding algorithms are not an option.

  • A complete copy of the world in its original state is held by the server
  • The Anti-Xray is set to only obfuscate data below Y=48, this saves cpu time and nearly everything valuable is below this height.
  • Parts of the world that are not yet owned by players are replaced with bedrock below Y=48. It is impossible to spot anything - not even an admin can see blocks here.
  • If a player buys a plot (part of the normal world) the blocks below Y=48 will be replaced with the actual blocks.

Lets have a look below the ground:

You can see in the video this method is fool-proof. No matter what permissions or clienthacks a person has: He wont see anything before investing into a plot.

Now lets look at the difference while using X-Ray.
You can click on the picture to toggle trough the Images

  • Image 1: X-Ray of the world with Bedrock invisble (admin mode; visible ores)
  • Image 2: X-Ray of the world with Bedrock visble (admin mode; visible ores)
  • Image 3: X-Ray disabled
  • Image 4: X-Ray without admin mode (missong valuable ores in the top left)

Click to cycle (1)

When looking at picture 4 you might think: Wow I can see so may ores! But what you see is actually just iron and coal - ores that are not really valuable on an populated long-running server. Not hiding those blocks is by design and saves a lot of memory/cpu on proximity-lookups.

You cannot tell from the pictures but the Anti-XRay actually behaves differently if a plot is owned by a player. Chest-Protections will be lowered. This is a small tradeoff between good protection and preventing the protection from being too annoying to the player.

Apart from the far better protection against cheaters this method actually keeps the game interesting for a longer period of time. If the underground was accessible everywhere from the start all good spots would be taken soon after your server started. With the bedrock-method you can always hope for something cool in the underground of your new plot :)