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 17, 2012@lishid Then use a buffer somewhere, or multiple, but don't allocate all these new arrays all the time. On very large-player-count servers this can cause a lot of CPU usage, memory usage, but most importantly, it will slow down your process because it has to allocate all the memory all the time...
Since the network threads are async (and now contain multiple threads to speed up your process :) ), you need to manage this properly. (multiple buffers with a boolean attached, setting if it is in use)
If you need any help, just ask, I am now a professional at it (Data pools ftw, 90 mb RAM usage ftw)
-
View User Profile
-
Send Message
Posted Jan 17, 2012@bergerkiller
I need to maintain a copy of the original packet when processing it, but I release the resource right after.
-
View User Profile
-
Send Message
Posted Jan 17, 2012@lishid Memory consumption I got too. The chunk compression thread of NoLagg is finished, but I noticed I had to re-set the packet data after sending the event to Spout. Apparently you are COPYING the chunk packet raw data, and this is 80 kb/packet. Considering there are 400 packets per player....yeah, a nice memory leak there.
Any way you could prevent this from happening? My nice +3mb/s went to +10mb/s :( (I suggest you modify the original array instead of cloning it)
-
View User Profile
-
Send Message
Posted Jan 17, 2012@FatFreeSMP
That seemed to have happened once in a while, I still don't know why, but I'm investigating it... btw, somehow if you go away and come back, it's gone...
Also, about memory, install LagMeter and do /mem to see how much memory it's actually using. Java executable will allocate more memory than what its currently using. LagMeter will indicate what really us used in the memory.
-
View User Profile
-
Send Message
Posted Jan 17, 2012Again, thanks for the quick response lishid! If you have any suggestions on how I can diagnose and perhaps reduce this memory consumption issue, I would very much appreciate it! I only have about 6 gigs to allocate to the server so I would love if I could make it last longer, thanks!
EDIT: I also wanted to mention what appears to be a possible bug, using xray for testing I have noticed "cracks" of un-obfusicated areas, seemingly a 1 block wide crak between "chunks" of obfusicated ore. Here is a link to a screenshot.
http://imageshack.us/photo/my-images/607/ore.png/
-
View User Profile
-
Send Message
Posted Jan 17, 2012@FatFreeSMP
It doesn't 'leak' memory, it allocates memory, but can be reclaimed usually instantly. Java gc doesn't de-allocate memory though, so your process will take more and more memory until it goes to the max.
-
View User Profile
-
Send Message
Posted Jan 17, 2012Just checking in to report my latest experiences. Using bukkit DEV 1774, Oreb 1.2.9_1, and latest DEV version of spout.
Definitely less lag and block issues then I had before and ZERO error messages.
I have noticed my server seems to leak more memory while running this however, burning something like a gig every 1-2 hours.
Just letting you know it is MUCH improved since last tested with 1.0.1 bukkit.
Keep up the great work!
-
View User Profile
-
Send Message
Posted Jan 17, 2012@defek7
No he has an older version of my test4
@Katorone
I'll look into it.
-
View User Profile
-
Send Message
Posted Jan 17, 2012@defek
me too... I can't find Bukkit buit
-
View User Profile
-
Send Message
Posted Jan 17, 2012Same problem as NeoMine.
Bukkit dev version : 1772 Not running spout.
Pulled down the code and recompiled it all and it runs fine. It looks like you didn't Clean and recompile the version you uploaded...can't find fields on outdated class files.
-
View User Profile
-
Send Message
Posted Jan 17, 2012-
View User Profile
-
Send Message
Posted Jan 17, 2012@lishid After using the updated version I'm still getting some errors, though they have reduced in amount:
When the server has just restarted or reloaded a lot of my users also get the error "Internal exception: java.io.IOException: bad compressed data format.". Could these errors be related?
-
View User Profile
-
Send Message
Posted Jan 16, 2012@Katorone
Try re-downloading from 1.3.1-test4 link, I just recompiled.
-
View User Profile
-
Send Message
Posted Jan 16, 2012I'm running bukkit 1774 with orebfuscator 1.3.1-test4. When logging in some users are disconnected. When looking in the logs i'm seeing these errors: http://pastebin.com/p94JGLks
I have a lot happening on join, is there something i can do on my end to smooth things out?
Regards, Kat
-
View User Profile
-
Send Message
Posted Jan 16, 2012@np98765
Read the last post...
-
View User Profile
-
Send Message
Posted Jan 16, 2012The world doesn't load once I implemented this....
But then again, I am using a dev-build of Bukkit, so I'm sure that its Bukkit's fault and not yours.
I'll re-implement this once Bukkit and Orebfuscator updates.
-
View User Profile
-
Send Message
Posted Jan 16, 2012Test4 version release! http://dl.dropbox.com/u/18947504/Orebfuscator/1.3.1-test4/Orebfuscator.jar Fix the NullPointerException and the ConcurrentModificationException if any. what's new: Integrated ChunkScrambler Better caching system custom region files NO MORE NEED FOR SPOUT BRIDGE
-
View User Profile
-
Send Message
Posted Jan 16, 2012@DaveDee
Working on a fix.
-
View User Profile
-
Send Message
Posted Jan 16, 2012our players are reporting such bugs http://radikal.ru/F/s018.radikal.ru/i514/1201/8f/1c3bdcd9319b.png.html
-
View User Profile
-
Send Message
Posted Jan 16, 2012@mcheaven
Yes, test3 fixes it.