Skip to content

Frequently Asked Questions

Maurice Eisenblätter edited this page Mar 10, 2022 · 23 revisions

Why use Orebfuscator over Paper's built-in anti-xray?

  • Orebfuscator offers a two level cache for already obfuscated chunks to safe on computing power
  • Orebfuscator provides more advanced configuration to tune every little detail to your liking
  • Orebfuscator adds the proximity hider which is able to hide surface blocks and reveal them should a player be close enough to them
  • Orebfuscator is designed to run in the main game thread as little as possible (which should lessen its impact on TPS)

What is the proximity hider?

The proximity hider obfuscates surface-level blocks and reveals them to nearby players. This can be helpful since an anit-xray only obfuscates below surface-level blocks to create the illusion for non-xray players that their is no anti-xray.

What exactly does useAsyncPacketListener change

When a chunk packet is being send it will get intercepted by ProtocolLib and redirected it to us. We then create an obfuscation request (ignoring cache for this explanation) and enqueue it in the obfuscation queue which gets processed at a later time. We have to cancel or delay the packet because the whole system is async and we want to edit the packets content based on the response to our obfuscation request. If the useAsyncPacketListener is turned on (true) we will use ProtocolLib's built-in async packet listener which allow us to delay packets and contiune their transmission at a later time. If however the opposite is the case we will use a normal packet listener and have to cancel the packets transmission and restart the entire transmission at a later time. That would entail passing the whole packet through the entire ProtocolLib pipeline which probably won't affect performance but I didn't write ProtocolLib so I can't 100% garentee that.

Clone this wiki locally