-
Notifications
You must be signed in to change notification settings - Fork 24
Common Issues
This is in most cases caused by the rendering engine because it can't handle defragmented terrain very well. This can be fixed by decreasing the the amount of air that is used for obfuscation. Simple decrease the weight of air (all types of air: cave_air
, void_air
or air
) or remove it entirely from your configs randomBlocks
sections. (Keep in mind there are more than one randomBlocks
section in the default config). The reason for using air
in the first place is to prevent cave finders from working properly.
This is intended since the whole obfuscation engine that Orebfuscator uses is designed for hiding blocks not entities. (Meaning Orebfuscator will never support entity obfuscation)
This is still an ongoing issue that we weren't able to fix entirely. However, we found out that replacing the async packet listener with a sync one does decrease the chance of that happening significantly. Thus we recommend to disable the async packet listener in the config if you should encounter this issue. Disabling the async packet listener (advanced.useAsyncPacketListener
) will not impact the performance in any significantly way since the whole obfuscation process will still be async (off main-thread). The only downside is that players might experience a slight delay between joining the server and getting all chunks send.
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.
This could have many reasons so here is a short checklist to see if you did anything wrong:
- Check that the player doesn't have the
orebfuscator.bypass
permission - Check if you have installed the latest version of Orebfuscator and ProtocolLib for your game version
- Check if there are any warnings in the console about a wrongly configured config
- Check if you used the correct world names in the config
Still not working, check for existing issues our create a new one here