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 Mar 15, 2012@lishid
argh for some reason it removed the plusplus sign, so it works on craftbukkitplusplus?
thanks
-
View User Profile
-
Send Message
Posted Mar 15, 2012@dangerousdale
No, it's a problem with spout i think.
-
View User Profile
-
Send Message
Posted Mar 15, 2012Reading the below comment I take it there is still issue with craftbukkit?
-
View User Profile
-
Send Message
Posted Mar 15, 2012Yea well i gave up to use spout...so horrible atm....only craftbukkitplusplus is usable not more.
-
View User Profile
-
Send Message
Posted Mar 15, 2012@Toonic
Will be fixed in a newer release.
@Darkhand81
ChunkScrambler is removed already since there's no need for it. Before, the seed is needed by client to compute biome data, whereas now, seed is no longer sent. This solves the problem.
@Drehverschluss
For some reason, spout is fucking up hard. I decompile it and see the class exists but when running it says it's not defined...
-
View User Profile
-
Send Message
Posted Mar 15, 2012Hey hey i got this error with the Last CraftBukkitplusplus build http://pastebin.com/YSGpbNFg EDIT: Nvmd was stupid Spout again. :/
-
View User Profile
-
Send Message
Posted Mar 15, 2012@lishid
I've only glanced at this, but apparently the new Anvil chunk system stores biome data in the chunk itself, and the seed is no longer used on the client side to compute biome colors. In fact the Login and Respawn packets no longer contain any biome or seed data at all. All SMP servers report the seed as '0', at least to the F3 screen.
Does that mean the seed is no longer sent to the client at all? Or is there still a time when it's sent over? If it's the former, has Mojang essentially integrated Chunkscrambler functionality into the vanilla game? If the seed is now totally secret, would that essentially deprecate Chunkscrambler (although Orebfuscator would still be as important as ever)?
-
View User Profile
-
Send Message
Posted Mar 15, 2012There is currently a bug with chests . If a player has a chest up against a stone wall (Could be any wall) Orebfuscator activates and they can see the Diamond blocks or other blocks behind the chests.
-
View User Profile
-
Send Message
Posted Mar 15, 2012@lishid
Yes!
@lishid
Correct
-
View User Profile
-
Send Message
Posted Mar 14, 2012@bigscary
It is definitely a great idea, and I've had similar ideas of imitating the minecraft ore generator to produce fake ores at random places in veins that is the exact same minecraft look.
Although I said there were problems, I merely scraped off two points in my previous post. Here are more concerns that I had
1. Value of ores: You suggested coal, iron, lapis and redstone to remain unchanged. Although this might be a viable option on your server, it is not a universal balance. Other servers might offer a market where players can trade say iron for diamond (in which case this effectiveness of the engine mode will be largely affected), or maybe other server admins might care more about people who get stacks and stacks of iron and lapis blocks within minutes.
2. Fake ore is not easily generated. You cannot just say randomly place blocks in a dirt vein to make it look real. With x-ray you will see the difference if you had hacked at least once before. There is no way of making it look believable unless you use an algorithm similar to the default minecraft generation, which takes quite a lot of processing, and is basically why chunk generation often lags the server.
3. Complaints. I've had a history of people who do not understand the working of the plugin come at me and say "Oh my players see diamonds but drops cobblestone when it breaks, so your plugin doesn't work and I had to remove it." This happened a lot of times and usually, they are attempts from x-ray hackers to lie to the server admins so that they can remove the anti-xray and let them hack freely.
4. The pleasure associated with 'wasting their time' is most likely non-existent and counter productive. Yes you might be wasting hackers' time, yes they will be frustrated and might ragequit, but what are the chances that you'll be benefiting from that? In most of the cases, hackers will silently quit when they notice the anti-hack. More experienced hackers would just do /plugins, or observe block behaviour to notice quickly the plugin's existence if the /plugins command is disabled.
I know you want to piss off the hackers. I want to do so just as much as you do, but let's not sacrifice our precious time and effort on wasting other people's time. I believe that punishing people for hacking is not as effective and promising than prevent hacking altogether.
5. Read my TODO list. I had the idea put up a long time ago, but did not believe to be a necessity, and nearly nobody cared for it (like 1 person besides me, and you're the second) because most servers use this plugin to counter x-ray hackers with the most effective solution (low CPU/mem cost, etc).
-
View User Profile
-
Send Message
Posted Mar 14, 2012@lishid
I should have added more detail, I guess. So you could do something like if is dirt and both x and z are multiples of 8 (or some other integer), make it diamond. So you could reduce the ratio to make it seem more believable at a glance, while still re-using the existing clusters.
A good point on the lava.
Give me some cred, many problems? That's two, with one mitigated. :P
Editing it just for myself won't work, I'd have to re-integrate my changes every time I wanted to pick up one of yours. I understand your argument about how many people will use it, and you might be right. But it's an easy change, and low risk because the new mode would be opt-in only. If I can code to make it work, will you agree to integrate it into your code for future versions?
-
View User Profile
-
Send Message
Posted Mar 14, 2012@skillet_master
You got 1.4.1-beta8?
-
View User Profile
-
Send Message
Posted Mar 14, 2012Thanks for all your work on this plugin, first of all. I have been using it for a long time and have no problems with it until 1.2.3.
I am having problems running this on our 1.2.3 R.01 server. Players were having weird block issues - seeing them as blocks they really weren't (stone looking like diamond and lapis and wood all in a small area, mob spawners appearing as lapis blocks, etc).
We are running essentials, lwc, mcmmo, multiverse-core, nocheat, swatchdog, worldedit, worldguard.
Here is a pic to describe the problem above: http://i1215.photobucket.com/albums/cc513/echojin/2012-03-13_215248.png
We haven't seen the problem since I removed Orebfuscator - any thoughts on what is causing the problem? I would love to be able to run this again :) Thanks a lot.
-
View User Profile
-
Send Message
Posted Mar 13, 2012@bigscary
Having stuff at lower levels on dirt and gravel visibly shows the anti-xray plugin is installed... They're usually huge veins. Also you shouldn't replace liquids or any transparent blocks with others since legit users can walk up to it and see fake lava, where in reality it's just water.
There are many problems with your implementation, and I doubt many people want to use it. If you really want, you can edit my code (source is on github, although i still have to update it...) to implement your idea.
-
View User Profile
-
Send Message
Posted Mar 13, 2012@LordKainzo
Spout always does stupid things... I'll take a look in a few days when I'm less busy.
-
View User Profile
-
Send Message
Posted Mar 13, 2012@Pteraspidomorphi
Yes it does.
http://pastie.org/3590330 <
errors.-
View User Profile
-
Send Message
Posted Mar 13, 2012lishid, I think Orebfuscator breaks in the latest spoutplugin API, can you check it out?
-
View User Profile
-
Send Message
Posted Mar 13, 2012I really liked the idea of placing "fake" clusters of valuable ore to punish cheaters, but I understand why you chose not to keep it, since it only punishes and doesn't improve the effectiveness of preventing players from getting the diamonds and other valuables.
I have a suggestion for another approach which would be very cheap but still punish cheaters effectively, I think. :) Please consider an option to make the following strategic replacements for obfuscated blocks, rather than random replacements:
In calculations.java: If (engine mode 3), do this:
Why do I suggest this? When an x-rayer arrives on a server, he turns on the x-ray. If he sees a random jumble of ore everywhere he looks or no valuable ores at all, he immediately knows anti xray is in place and leaves. This is an effective stopper for cheaters, but I think a cheap option to actually punish them by wasting their time would be desirable for many server owners. :) With this option in effect, real diamond and gold would be hidden, but the xrayer would see clusters of what he thinks are diamond and gold at believable depths. He would waste his time working toward them, avoiding water all the while which he thinks is lava, only to discover nearly worthless gravel and dirt. Further, even if he tried to "test" by sampling a few x-rayed coal, iron, or lapis, he would actually get those low-value blocks, encouraging him to waste his time digging further.
Granted, a very experienced x-rayer might recognize the frequency of clusters or shape of clusters as inconsistent with real diamond and gold clusters, but many would fall into this trap. I think it's also very inexpensive, since you needn't use cpu cycles to build realistic clusters, instead using the existing clusters of dirt and gravel.
Oh please, please add this... I want very badly to waste their time! :)
EDIT: See also this reference, which I used to make specific y-level suggestions: http://www.minecraftwiki.net/wiki/Altitude
-
View User Profile
-
Send Message
Posted Mar 13, 2012@darkknightcz
ChunkScrambler is gone. No longer needed.
@Drehverschluss
Looks like i was right :D (Spout is kind of troublesome and buggy)
-
View User Profile
-
Send Message
Posted Mar 13, 2012Well lishid OFC work now well for me...the spout chunk seems be be solved by Spout self...Looks like that the Client have had some issue...now all seems to be correct