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
-
View User Profile
-
Send Message
Posted Jan 1, 2013@Adrenalineq
Hmm thanks. This shows that Orrbfuscator is not actually lagging the server from events, though plugin-profiling cannot profile whatever processing Orebfuscator do on the inside of CB. But hey, that just gave me an idea! I'll add my own profiling as an optional boolean config operation! Will do that soon.
-
View User Profile
-
Send Message
Posted Jan 1, 2013@lishid
Server Full 100/100: statistics from plugin-profiling:
Maybe be usefull
-Your plugin don't hide IRON_ORE and DIAMOND_ORE at engine mode: 1 =P
-
View User Profile
-
Send Message
Posted Dec 31, 2012Any ideas on what might be causing my issue or how i could generate some kind of report or debug to help you help me? i dont (offhand) see any sort of debugging feature in orefuscator
-
View User Profile
-
Send Message
Posted Dec 31, 2012@lishid
All IRON_ORE and DIAMOND_ORE.
-
View User Profile
-
Send Message
Posted Dec 31, 2012@MutinyCraft
Could you try running DetectCME to determine which plugin is actually at fault? It should print the actual culprit if you're able to reproduce the error.
It will inject a small amount of debug code into your specific problem area, though I would not recommend running it on a production server due to performance and stability concerns.
I can also give you the source code, if necessary.
aadnk.
-
View User Profile
-
Send Message
Posted Dec 31, 2012@Adrenalineq
Does it show ALL Iron ore or jut the ones exposed to caves? (Because the latter is normal)
-
View User Profile
-
Send Message
Posted Dec 31, 2012Why at Engine mode: 1 Orebfuscator don't hide iron ore ? o_O
-
View User Profile
-
Send Message
Posted Dec 30, 2012@lishid
The way I have been able to produce it (on a test server with only me online) was to teleport to different chests in different worlds and quickly open the chest. It seems to do it a lot more frequently when the free RAM is low. On my production server it would rarely do it after a restart and then about 5-6 hours of uptime it would do it much more frequently when the free RAM was hanging around 20-30% free (12GB allocated). There isn't a straight forward way to reproduce it or I would have mentioned that to begin with. You just have to watch the console while you TP back and forth and eventually it will pop up.
-
View User Profile
-
Send Message
Posted Dec 30, 2012@MutinyCraft
I have an array of chests all over the map and fly around. Still haven't encountered the issue. If only someone can describe exactly how it can be reproduced...
@rasco23
That looks like is another plugin interacting with the entity list from another thread. Orebfuscator only accesses the entity list from the Main thread, and thus cannot be the cause of that ConcurrentModificationException I see there.
-
View User Profile
-
Send Message
Posted Dec 30, 2012Anyone else having crashes with 1.4.6 and the newest version? I'm getting these like 2 times a day:
-
View User Profile
-
Send Message
Posted Dec 30, 2012Any status on a fix or cause of the Spigot issue?
-
View User Profile
-
Send Message
Posted Dec 30, 2012@lishid
Thanks, with that added it'll be a lot easier to make and keep a base.
-
View User Profile
-
Send Message
Posted Dec 30, 2012turning off nolagg didnt fix it :< is there some kind of report i can generate in the plugin or something.
-
View User Profile
-
Send Message
Posted Dec 29, 2012@ronfkingswanson
Minecraft used to update all transparent blocks on lighting update. Then they stopped for some reason.
Though lighting will still not update full blocks, since there's no need (i.e. a light value update will not change block ID, so they don't need to update the blocks)
But If you were to obfuscate based on light values, you need the blocks to update on lighting change, which is very messy to do if Minecraft itself doesn't.
-
View User Profile
-
Send Message
Posted Dec 29, 2012@lishid
But the worst of problems, is that lighting update doesn't update blocks. This means that even if you put down a torch, the block will not update until you touch it.
Is this a bug? possibly related to the shadow glitches I've seen in recent versions of MC? will it ever be fixed, or is it this way forever?
-
View User Profile
-
Send Message
Posted Dec 29, 2012@lishid
Oh, I see. Thanks for all the help! Looking forward to a fix for the problem ronfkingswanson mentioned.
Also, happy new year!
-
View User Profile
-
Send Message
Posted Dec 29, 2012@Senophoe
Full blocks have light level of 0. I'll have to check nearby blocks anyways. Also, this will render all caves into fake ores everywhere.
But the worst of problems, is that lighting update doesn't update blocks. This means that even if you put down a torch, the block will not update until you touch it.
-
View User Profile
-
Send Message
Posted Dec 29, 2012@lishid
Alright, thanks for the help. Also, since you're into it, there's something I'm curious about. Instead of scrambling blocks using the engine modes as Orebfuscator does, wouldn't it be less stressful for the computer to obfuscate blocks based on light level?
I mean, the way I see it, DarknessHideBlocks can be developed into a totally different way of handling obfuscation, which sounds less CPU consuming.
But then, I don't really know how all that stuff works. Just sharing the idea.
-
View User Profile
-
Send Message
Posted Dec 29, 2012@Senophoe
Hmmm ok I'll need to do some more testing.
@LordKitsuna
Could you just try without NoLagg?
@LordDWT
Transparent blocks can't be obfuscated because they are considered transparent blocks by Minecraft and will un-obfuscate themselves by the engine... Unless if I do a custom list, which might screw up the obfuscation process.
I.e. Having diamond blocks replacing fences. It's nice for an underground cover, but Orebfuscator can't really figure out what's seen by the player and what not.
-
View User Profile
-
Send Message
Posted Dec 29, 2012@lishid concerning post "http:dev.bukkit.org/server-mods/orebfuscator/#c4072"
Any plans on adding support for "non-opaque blocks (any block not taking exactly full size of a block)"?