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 Apr 17, 2012@FatFreeSMP
When I get home in a few hours.
-
View User Profile
-
Send Message
Posted Apr 17, 2012-
View User Profile
-
Send Message
Posted Apr 17, 2012"Looks like you deleted my well-typed comment because it was negative, lol. That's funny. I don't think I've ever deleted a negative comment about one of my plugins, and I've had plenty. I guess you're content just pretending that there aren't people out ..."
To whoever wrote this,
I could not see the rest of the comment because it was deleted before I looked at it, and the part I am quoting here is from the notification I received in my email.
I did not delete any comment about my plugin since it was created. Unless you removed it by yourself or a moderator deleted it, it would have stayed here.
Whatever happened, please post it again as I'm quite concerned when issues arises about my plugin. I'm open to criticism and I enjoy being able to improve on my plugin thanks to issues people bring in.
If you could also PM me a copy, just in case, please do so.
Thanks.
-
View User Profile
-
Send Message
Posted Apr 16, 2012@lishid
Alright, thanks for the quick reply!
-
View User Profile
-
Send Message
Posted Apr 16, 2012@Cheater912
It's not caused by any performance issues. It's caused by the cache of a chunk not being cleared when blocks of a neighbour chunk is changed. I'm still thinking of good ways to clear the cache of a chunk when a block is changed, because this might impact performance if not done in an efficient way.
-
View User Profile
-
Send Message
Posted Apr 16, 2012Does the ore show when the HDD isn't fast enough to write the cache?
-
View User Profile
-
Send Message
Posted Apr 16, 2012@lishid
random ;) But i might have fixed it will report back later today
-
View User Profile
-
Send Message
Posted Apr 15, 2012@lbb601
/ofc disable cache
-
View User Profile
-
Send Message
Posted Apr 15, 2012Hey, people are always complaining that they see walls of random blocks while they are mining or in caves. Is there any way to fix that?
-
View User Profile
-
Send Message
Posted Apr 15, 2012@UnitedFactions
I don't think I did anything that could cause that... maybe I did something wrong? Where did it came from, what cause the messages (or is it purely random)?
-
View User Profile
-
Send Message
Posted Apr 15, 2012@lishid
Hi Lished how are you? I am getting these message since I Put orebfuscator back on ;) Could it be you?
Internal exeption:Received string length longer than maximum allowed (18 > 16)
-
View User Profile
-
Send Message
Posted Apr 15, 2012@lishid
Yes, keeping the region thingy as light as possible would be imperative.
I was brainstorming, starting at one region per world, which would be a couple of checks of coordinates, which should not hurt.
Then it would be thinkable to switch to a mapping that maps chunks or better chunks of chunks to a boolean flag, if taken simple. Still the checks are not too many, some hashing might be necessary. [I am not considering how to configure regions, right now, be it another plugin.].
From a map the way to several or even potentially many regions is not that far anymore, given one takes bunches of chunks with an integer diameter/divisor...
But i am not into the code of Orebfuscator, so i can not judge if chunk-wise caching applies that much (so that looking up the ignore flag is efficient), especially concerning proximity hider.
-
View User Profile
-
Send Message
Posted Apr 14, 2012@asofold
You mean have regions where it ignores the checks? It's possible but... You're going through a list of places to skip checking, although might reduce resource usage at that place, it could increase resource usage at other places for checking against a list of regions/chunks/whatever whenever it's requested.
-
View User Profile
-
Send Message
Posted Apr 14, 2012@lishid
At ideas:
A town with many chests (but protected ground) would test the server with ProximityHider on, right ?
I have just been thinking (without too much thinking), that one might consider having proximity hider and probably orebfuscator in general spare one region per world (like center+block distance), or a set of chunks or even regions.
Have you ever thought into that direction ?
-
View User Profile
-
Send Message
Posted Apr 14, 2012@XxTRAINEExX
Hmm That's actually a good idea...I might add blocks exposed to caves into ProximityHider, but only those exposed to caves and not the others.
-
View User Profile
-
Send Message
Posted Apr 14, 2012Thanks for the reply lishid. Great plugin by the way. I'm having problems with the standard engine hiding ores from texture xray. If a diamond has air next to it, xray can see it. If I set your option for initialradius to 0 then regular players can't see them. I increased the update radius but if a block is on a wall people will walk right by and not realize its there. Your proximity hider seems to be the only option that reveals the block If they are nearby. Thoughts? Perhaps I'm using the configuration options incorrectly.
-
View User Profile
-
Send Message
Posted Apr 14, 2012@ihasamoose
The block behind other blocks should turn into whatever it is (the real block) when the player hit the block in front, before even destroying that block. (unless you changed the config and disabled update on break) This means that when you hit a block, all the other blocks around it (in a radius of 2 by default) are automatically revealed.
Mob Spawners are shown as an ore, but still works as a spawner. It basically tricks clients by telling it that it's a block while the server knows it's a mob spawner. The spawner block should be revealed when a torch or any light emitting object is put next to it. If this is an issue, you can change DarknessObfuscate to false in the config.
@XxTRAINEExX
The orebfuscator engine does a pretty good job hiding diamonds, it scrambles everything including diamonds into a random block.
First of all, if you show the diamond when a player is near, then hackers would be able to make tunnels and walk around them with x-ray turned on to see diamonds around the whole tunnel.
Next, ProximityHider is made in a way to calculate what to show to players whenever they move. These checks are quite cheap in calculation, but if you're adding all the diamonds to it, usually a dozen per chunk, multiply by (view-distance * 2 + 1) ^ 2, 121 chunks by default, you end up with many many blocks being tracked and checked every time a player move. This might lag the server.
-
View User Profile
-
Send Message
Posted Apr 14, 2012Any reason we wouldnt want to use the Proximity Hider for all ores? This would guarantee someone is near diamonds before they could see them. No?
-
View User Profile
-
Send Message
Posted Apr 14, 2012Heyo,
We've been having some problems with the plugin, maybe, maybe not. It might be intended to look this way.
When players are mining, digging, or anything to do with destroying blocks.. they destroy a block and the block behind it automatically turns into a random ore. It stays that random ore for a fair amount of time, and it is unbreakable while it is an ore. It also turns mob spawners into ores, which stops them from spawning entirely.
Thanks for reading,
Epics
-
View User Profile
-
Send Message
Posted Apr 14, 2012@domingo15
Oh yeah, it's been changed a few times...
EDIT: Done.