Orebfuscator
Orebfuscator - Anti X-RAY:
For all releases of 1.9/1.9.1/1.9.2/1.9.4/1.10/1.11/1.12.x/1.13.x: Version 4.4.3
Now with support for CraftBukkit 1.9/1.9.1/1.9.2/1.9.4/1.10/1.11/1.12.x/1.13.x!
This plugin is used to counter X-RAY Client mods.
It modifies data that are sent to clients to hide blocks of your choice, such as Ore, chests, dungeons, etc.
It does not manipulate blocks in the world file, thus is safe to use.
ProximityHider is a feature that hides chests that are far from players.
As of 4.3.3, Proximity Hider has been enhanced to use line-of-sight checks, not just proximity! Upgrade today.
Configuration Guide
https://github.com/lishid/Orebfuscator/wiki/How-to-properly-configure-Orebfuscator
https://github.com/lishid/Orebfuscator/wiki/Configuration-File
FAQ
https://github.com/lishid/Orebfuscator/wiki/FAQ
DOWNLOAD
Please read compatibility information before downloading as not all releases work with all versions of CraftBukkit.
Latest version should be on BukkitDev, or as a release on the Github page: https://github.com/lishid/Orebfuscator/releases
Please also download ProtocolLib and install it in the plugins folder.
- Is compatible only with version 4.0.0 or newer.
- For 1.9.4 support, you must use build 277 or newer of Protocollib 4.0
- For 1.10 support, you must use build 293 or newer of Protocollib 4.0
- For 1.11 support, please use latest stable builds of ProtocolLib for 1.11.
- For 1.12 support, please use ProtocolLib 4.3.0 or newer.
- For 1.13 support, please use ProtocolLib 4.4.0 or newer.
- Download link: https://www.spigotmc.org/resources/protocollib.1997/
- Legacy Link: http://dev.bukkit.org/server-mods/protocollib/
Features
- Advanced algorithm that hides ore, chest and and anything you specify in the configuration
- Spout compatible, but optional
- No modifications to CraftBukkit.jar is needed
- Customize the blocks you want to hide
- HIDES DUNGEONS and other blocks that are in the dark
- Different hiding mode, or scrambling.
- Extensive configuration. Change updating methods depending on your bandwidth and processing speed.
- Hide hidden chests and furnaces until a player is close to it.
- Hide hidden chests and furnaces until a player can see it.
Usage
Install:
- Copy "orebfuscator-4.4.3.jar" to your plugins folder
- If you're upgrading from Orebfuscator.jar, move the contents of the "Orebfuscator3" folder to the "Orebfuscator4" folder
- Restart your server.
Configuration
See this: https://github.com/lishid/Orebfuscator/wiki
Commands
See this: https://github.com/lishid/Orebfuscator/wiki
Permissions
See this: https://github.com/lishid/Orebfuscator/wiki
Source Code
Here you go! (Hosted on Github) - please post issues and requests for help there
Metrics
- This plugin utilizes Hidendra's plugin metrics system, which means that anonymous information of your OS and setup will be collected and sent to mcstats.org
- Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.
Thanks!
- Aleksey_Terzi, single-handedly updating to CraftBukkit 1.9, 1.11, and 1.12!
- DevotedMC for taking over management of the project
- AFFORESS, major help on code optimization and spout support!
- Lishid, for years(!) of maintaining this plugin, and MarioG1 for recent patch support
- raphfrk, helped with packet processing
- Many donators!
Bugs
- See the issues page for any outstanding problems.
TODO
- A command that generates the world cache for the existing chunks.
Changelog
Version 4.4.3
- Support for Minecraft 1.13.2 latest builds (CraftBukkit/Spigot/etc)
Version 4.4.2
- Fixes for reported issues during use -- please update
Version 4.4.1
- Support for Minecraft 1.13 and 1.13x (CraftBukkit/Spigot/etc)
- Some enhancements under the covers, including better support for tile entity hiding and state management
Version 4.3.3
- Includes fixes for portions of #164
- NEW FEATURE: Gaze based proximity hiding. If you can't see it due to blocks in the way, it stays proximity hid, regardless of your physical closeness! For full details, read here: PR#16
- New example configs! Find them here: https://github.com/lishid/Orebfuscator/tree/master/Plugin/src/main/resources/resources
Version 4.3.0
- Support for Minecraft 1.12 (CraftBukkit/Spigot/etc)
Version 4.2.1
- #135 : Resolved issue that plugin doesn't work unless you delete the config and force reload and clear cache after startup
Version 4.2.0
- Support for Minecraft 1.11 (CraftBukkit/Spigot/etc)
- Remove ChunkReloader due to performance issues at scale.
- Addressed #66. Limit Cache retention configuration options added.
- Proximity Hider blocks are by default orebfuscated, if both are active.
- Implemented #62. Per World Configuration -- have unique configurations per world.
- Addressed DevotedMC#8. Allow for unique proximity Y height per material hidden.
- Fixed #113. Item frames sometime disappeared.
- Fixed #124. Glitches when used FastAsyncWorldEdit.
- Fixed #125. Prevent obfuscation for NPC, for ex. NPC from plugin Citizens.
- Fixed #128. EntityChangeBlockEvent was not causing block updates.
Version 4.1.4
- Fixing ChunkLoader error: https://github.com/lishid/Orebfuscator/issues/110
- Improving performance of ChunkReloader
Version 4.1.2
- It is now possible to use Worlds list either as blacklist (i.e. all worlds are subject for obfuscation excluding listed) or as whitelist (i.e. only listed worlds are subject for obfuscation)
- Fixed bug with using ProximityHider and Signs. It is now possible to add WALL_SIGN and SIGN_POST to ProximityHider obfuscation.
- Updated wiki so commands and configuration pages are matching to the current Orebfuscator.
Version 4.1.1
- Various Small fixes
- Fix which might resolves problem described in https://github.com/lishid/Orebfuscator/issues/100
- Config file now supports block names additionally to IDs
Version 4.1.0
- Support for CB 1.10 - thanks Asgarioth!
Version 4.0.14
- Single jar supports all releases of 1.9.x now!
- Some chunk reload issues are corrected (on teleport, etc.)
Version 4.0.12.1
- Add support for 1.9.4 - this release does not support prior versions.
Version 4.0.12
- Fixed entity list reload issue
Version 4.0.11
- Fixed failure to deobfuscate along chunk boundaries under specific conditions.
Version 4.0.10
- Fixed crash for PaperSpigot servers
Version 4.0.9
- Fixed crash when chunk section (16 x 16 x 16) has more than 127 different block types
- Implemented different "transparent block" lists for Engine Mode 1 and Engine Mode 2. For now only difference is with lava block, for mode 1 it is non-transparent, for mode 2 it is transparent.
- Implemented possibility to specify which blocks are transparent and not in the config file, sections: TransparentBlocks and NonTransparentBlocks.
- Fix which may have solved java.util.ConcurrentModificationException
- Fix for phantom blocks (visible after chunk reloaded) when player is digging straight line on the chunk border.
Version 4.0.7-beta
- Corrected transparent block list. For example, lava blocks marked as transparent and therefore adjacent blocks are not obfuscating anymore
- Improved performance of ProximityHider function
Version 4.0.5-alpha
- Fixes teleport / join in the End causing client-side crashes.
- Fixes failure to deobfuscate immediately on join.
Version 4.0.3-alpha
- Updated to MC1.9.
Full release notes: In Github Release
Version 3.0.5
- Updated to MC1.8.3.
Full history: https:github.com/lishd/Orebfuscator/wiki/Version-History
A quick donation is always appreciated :D
Devoted Patreon or General Inquiry
@dadee971
May be i should update to ProtocolLib v4.0.0-SNAPSHOT-b273 ?
For 1.9 server - they are recommending to use latest version of protocollib: https://www.spigotmc.org/resources/protocollib.1997/
So yes - I propose to try ProtocolLib 4.0
@MinePuppeh
I don't recommend to add a lot of blocks to ProximityHider by 2 reasons:
1) A lot of blocks will do additional load to CPU. So if you will decide to add all ore types - draw attention that this possibly could lead to lags.
2) Until player is enough close to ProximityHider obfuscated object - he/she will see this block as obfuscated, for decorative blocks this critical since people will not see beauty of building. So I do not recommend to add decorative blocks.
How would darknesshider work for caves, it only hides blocks if they're dark, not hides the fact that the cave exists.
You can remove blocks from ObfuscateBlocks list and add them to DarknessBlocks - then such blocks will be obfuscated as air - this will hide caves. But as I've described previously this could lead to visual problems.
UseSpecialBlockForProximityHider: true
You can look details about proximity hider config here: https://github.com/lishid/Orebfuscator/wiki/ProximityHider
Hi,
i have installed Orbfusctor 4 days ago, it working perfect! But yesterday it crash every 5 minutes my Server :S Can you fix that ? I have send you the Errorlog + crash report in a conversation!
@dadee971
Hey dadee971: Can you please provide a link to a pastebin of the _full_ stack trace? Typically in a hard-crash, every plugin will be listed as all the stacks of all the threads will be dumped. The line you pasted is just Orebfuscator in its "passive" or "sleep" mode - literally, not doing anything. So ... that line does not help us help you :).
Did you install or update anything else around the same time as Orebfuscator? Do you notice any other "stack traces" before the big crash? Thanks. Feel free to open a ticket here or on the repo if you'd prefer less "public" help.
Hi.
- CraftBukkit version git-Spigot-f972b36-b103841 (MC: 1.9.2) (Implementing API version 1.9.2-R0.1-SNAPSHOT) - Orebfuscator4 v4.0.5-SNAPSHOT - ProtocolLib v3.7.0-SNAPSHOT-b258
I have installed Orebfusctor 2 days ago. Since i have installed it, my server starts crashing 1 ou 2 time per day.
In the crash report i have notice this:
TIMED_WAITING Orebfuscator ProximityHider Thread: [java.lang.Thread.sleep(Native Method), com.lishid.orebfuscator.obfuscation.ProximityHider.run(ProximityHider.java:70)]
Can it be a issue with Orebfuscator? Because i have launched my server 2 month ago, and it had never crash before i have install this plugin.
May be i should update to ProtocolLib v4.0.0-SNAPSHOT-b273 ?
Best regards.
@alekseymc
Nice summary! What about adding the remaining obfuscated blocks to the proximity hider, that might help. It'd help nerf what limited X-ray still works, such as when in caves...?
How would darknesshider work for caves, it only hides blocks if they're dark, not hides the fact that the cave exists.
When this is on, I no longer see stone, I guess it's only hiding things above/below me?
@jordanwilliams21
1) Did you install ProtocolLib plugin?
2) What tells ofc status command?
EDIT: make sure you are using latest update: https://github.com/lishid/Orebfuscator/releases
Not sure If i'm going to get any help, But I've installed this plugon on my 1.9.2 server and I still can see all the ores with a texture pack, I'm not even op or have any perms.
I'm using paperspigot.
If u want to help me u can add me on skype: thepotatoarmyhd
@MinePuppeh
Lava, water and torches
Such blocks as lava, water and torches will not be actually obfuscated and if will be added to the list.
But actually there are no any reason to add these blocks to the list.
So you can better understand why - I will describe how obfuscation is going:
1) First condition to obfuscate block - it must be in the list ObfuscateBlocks or NetherObfuscateBlocks in config file
2) Block could be obfuscated only if it is covered by non-transparent blocks. InitialRadius config value could control how much "cover layers" are needed so block will be obfuscated.
File with marks if block is transparent or no you can look here: https://github.com/DevotedMC/Orebfuscator/blob/master/src/main/resources/resources/transparent_blocks.txt
3) If plugin is using Engine Mode 1 - then block will be replaced by stone in overworld or The End and by netherrack in nether
4) if plugin is using Engine Mode 2 - then block will be replaced by random blocks from the list RandomBlocks or NetherRandomBlocks
Lets imagine you want to obfuscate water. But water seems in 99% cases always have neighbor water block - this means it never be obfuscated.
Similar for lava or torches.
If we will obfuscate block covered by non-air transparent blocks - then player will not be able to see actual blocks through glass, water, iron bars and etc.
About hiding caves.
As was suggested - DarknessHider function can be used for this.
But it has a lot of issues related to that it hide block (make it as air) if it is covered by blocks with light level = 0.
This means that obfuscated blocks in the nether (where a lot of light = 0 areas) will be hidden.
Also this will be problematic for persons who mining in the darkness (especially if such person has brightness = 15.0 which allows to ignore darkness)
About modes.
Mode 1 and 2 are working in the same way - the difference only that mode 1 is using netherrack or stone, but mode 2 - random blocks.
This means that mode 1 will allow cheater to see exposed ore in caves.
But with mode 2 - player actually don't know if this ore real or now. Also personally for me xRay mod just is lagging when I'm using it with mode 2.
BUT mode 2 has negative sides too. This means that if server or network is lagging then player will receive updates from server with delays - this could make visual bugs during mining, especially if player is mining with high speed (for ex. dia pick with Efficiency 5 + Haste 2)
For example you can start mining very fast and broken some block - client will show you "non-updated obfuscated" blocks (random ore and etc). But after some time when client will receive update from server - it will show actual blocks.
Therefore mode 2 is better protecting from cheaters, but mode 1 is more player-friendly.
ProximityHider
Also draw attention to the ProximityHider function - it obfuscate all blocks from the ProximityHiderBlocks list and show actual block when player is close to it (8 blocks by default)
This allows to obfuscate exposed valuable ores (such as diamond or emerald) and also chests, ench tables and other valuable blocks which normally are not covered by non-transparent blocks and therefore cannot be obfuscated in normal way.
But draw attention that the more blocks you added for ProximityHider and the more concurrent users you have the more load CPU has.
Actually I don't have statistics for large servers, but for our server (12 - 15 player online at peak) ProximityHider with all other obfuscation is working very well without lags.
What I could recommend:
1) Try to use default config (Engine Mode 2, ProximityHider enabled, DarknessHider disabled)
2) Look what blocks you want to add/remove for obfuscation. Use solid blocks for obfuscation
3) Look if you want to add/remove some blocks for ProximityHider
If you want to play with config and see result then:
1) Install some xray tool on your client, for ex.: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1292688-xray-mod-1-6-4-1-9-2-vanilla-forge-liteloader
This would allow you to see world by cheater's eyes :)
2) Use ofc disable or ofc enable to disable or enable obfuscation (relogin client after this) - so you can see difference with plugin and without it
3) After you updated config - you can either restart server or just enter ofc reload command (relogin client after this)
@MinePuppeh
I would not recommend adding lava, water, or torches to the obfuscation list; I haven't tried it yet, but I can't say for sure what will happen. Perhaps Aleksey has some insight there.
For caves, use DarknessHider - note that some folks have had some issues with it in older (pre 1.9) releases, and we haven't yet given it much attention besides just the update to 1.9, so let us know your experiences.
Only DarknessHider addresses Caves - Engine Mode 1 and 2 both obfuscate continuous areas of blocks (not caves).
@TOFYWEB
Thanks! Our pleasure.
Good job running the plugins wonderfully with the very latest version of spigot, also with the latest version of protocollib, thank you.
If I have lava/water/torches(?)/animated blocks for obfuscation, I notice it takes more energy for clients to render the land. Can you confirm which blocks are not recommended for obfuscation?
I used torches and lava etc to help hide caves – wondering what combination is most resource saving yet obscures ores and caves the best.
@DevotedMC ?
Edit: Also does engine mode 1 hide ores in the caves? If so that might be the simple, easy and efficient solution we need.
BukkitDev is taking a while to update the release listing.
Many of you are having trouble with the End preventing connections
Please immediately update Orebfuscator to 4.0.5, which you can find here: http://dev.bukkit.org/bukkit-plugins/orebfuscator/files/146-orebfuscator-4-0-5-alpha/
The problem is fixed in that release.
Thanks!
@TOFYWEB
This bug is already fixed. Please try latest release: http://dev.bukkit.org/bukkit-plugins/orebfuscator/files/146-orebfuscator-4-0-5-alpha/
@TOFYWEB
Same error.
hi
don't work in my serveur Spigot 1.9.2
the problem comes when I connect, and therefore no connection to the game
in console
[12:40:01 ERROR]: java.lang.NullPointerException [12:40:01 ERROR]: java.lang.NullPointerException [12:40:01 ERROR]: java.lang.NullPointerException [12:40:01 ERROR]: java.lang.NullPointerException [12:40:01 ERROR]: java.lang.NullPointerException [12:40:01 ERROR]: java.lang.NullPointerException [12:40:01 ERROR]: java.lang.NullPointerException [12:40:01 ERROR]: java.lang.NullPointerException [12:40:01 ERROR]: java.lang.NullPointerException
In Game InternalException:io.netty.handler.codec.DecoderException:java.lang.IndexOutOfBoundsException:rederIndex(11)+ length(1)exceeds writerIndex(11):UnpooledHeapByteBuf(ridx:11,widx:11,cap:11)
Big thanks to you <3
First alpha release for Bukkit/CraftBukkit/Spigot 1.9 is now up; please use the Issue reporting feature on the github project page for more rapid replies to your discoveries.
Get the release here: http://dev.bukkit.org/bukkit-plugins/orebfuscator/files/145-orebfuscator-4-0-3-alpha/
Thank you for the update.
@Layania
mode 1 is the same as mode 2 with exclusion that instead of random blocks it is using one "obfuscator" block (stone for overworld and netherrack for nether). This means that if mode 1 is not working then I'm sure mode 2 is not working as well.
But I don't see any problems neither in 1.8 version and not in 1.9.
I would appreciate if you will do testing with version of orebfuscator for 1.9 (when it will be released) and let me know if you still see any issues.
If you still will see issues - it would be good if you can provide me config file, map and steps of what I should do to see the problem.