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 Aug 16, 2012server still crashing with latest version of oreb :(
-
View User Profile
-
Send Message
Posted Aug 16, 2012@CVRipley
I checked also my cache folder after i read your issues and i found out that i have the same problem.
Normally there should be lots of new files in the cache folder but today only 3 files where created and its impossible that my players build only something on areas that could be saved in 3 region files. Also all the files have 8kB (region and hash files).
@lishid
Is it possible that the bug is caused by an bukkit bug in 1.3.1 R1.0
https://bukkit.atlassian.net/browse/BUKKIT-2229
Java version: 7 update 5
Windows 7 64bit
Bukkit 1.3.1 R1.0
Orebfuscator: 1.5.14-test (you posted the download link some days ago it fixes the disconnect. overflow bug on my server)
-
View User Profile
-
Send Message
Posted Aug 16, 2012@lishid
Thats correct. 1.5.14 The file permissions are also correct. I even tried 777.
When i updated for 1.3.1 I did manually delete the folder while the server was down and when it started back up it did create a new one and put files into it. As I made new worlds it put more folders in it along with those data and hash files. Ive tried this a few times. I could just disable the cache but that wouldnt solve (i dont think) the permissions issue which could cause on server crash and then some dataloss and result in me needing to roll a backup. When it does crash and give me those read time outs, my CPU useage maxes out and killing the screen or ctrl+c dosn't stop the server. I have to manually kill the pid for java.
The file sizes are were the same too. These are a good amount of mcr files but I bet they are blank or contain minimal data.
16K ./walls/hash/region 16K ./walls/hash 16K ./walls/data/region 16K ./walls/data 32K ./walls 776K ./world/hash/region 776K ./world/hash 776K ./world/data/region 776K ./world/data 1.6M ./world 1.6M .
-
View User Profile
-
Send Message
Posted Aug 16, 2012@CVRipley
I'm looking into the permissions problems.
try a clearcache and check if java has the appropriate permissions for the orebfsuscator_cache folder configured in the config.
Are you using 1.5.14?
-
View User Profile
-
Send Message
Posted Aug 16, 2012@xclucky
Remove the -Xms2000M (you can also replace 2000M with 2G, easier to read, but that's up to you).
Version 1.5.14 been running fine on RB1 for quite a while now, along with NoCheatPlus and DisguiseCraft, no issues whatsoever. :)
-
View User Profile
-
Send Message
Posted Aug 15, 2012Im also having issues with the plugin.
1) the most serious issue i have is i get messages that read [OFC] Error while obtaining permissions for playerPLAYERNAME: null I will receive these messages sometimes when a player joins. Then the server will either immediately, - spam this massage, end of stream the player, or read time out which completely locks up java to the point where i need to kill java, or sometimes just continue seemingly normally.
2) Ive noticed that after i changed to 1.3.1 and updating to the most recient version of Orebfuscator that the cache never seems to grow. IT used to grow about 100 mb per day but now that its been cleaned out and started form scratch it sits around 1 mb and its been several days under heavy use. I wonder if this has something to do with the new minecraft code that causes chunks to unload when not occupied. Many other plugins that access chunks have had issues due to this (ie dynmap)
3) I cant tell if this is OFC or not but like i mentioned with #1 i get that error message but sometimes i get random read time outs and EOS messages without the error message i mentioned.
If i use the command /ofc disable and /ofc reload all the problems go away even though the plugin is loaded but completely disabled in the config
Im running: http://dl.bukkit.org/downloads/craftbukkit/get/01363_1.3.1-R1.1/craftbukkit-dev.jar
[INFO] Plugins (39): LagMeter, Orebfuscator, SWatchdog, Minequery, WorldEdit, NoCheatPlus, PasswordSaveOnStop, CommandBook, Vault, PermissionsEx, Multiverse-Core, WorldGuard, dynmap, Dynmap-WorldGuard, iConomy, Points, CraftBookCommon, LimitedCreative, ModPrivateChat, AdminPrivateChat, mcbans, Lockette, Modifyworld, Herochat, CraftBookCircuits, ChangeGameMode, Residence, MagicCarpet, WorldBorder, CraftBookMechanisms, ChatManager, WarpSigns2, Multiverse-Inventories, Multiverse-SignPortals, SignShop, DeathControl, ResidenceSigns, CraftBookVehicles, dynmap-residence [
####] 20.0 TPS [####] 10788.0MB/14062.0MB (76%) free(Sorry pastbin is banned from work for security reasons.)
ConfigVersion: 8 Integers: EngineMode: 2 UpdateRadius: 3 InitialRadius: 2 ProcessingThreads: 5 MaxLoadedCacheFiles: 250 ProximityHiderDistance: 8 ProximityHiderID: 1 ProximityHiderEnd: 255 AirGeneratorMaxChance: 43 OrebfuscatorPriority: 0 Booleans: UseProximityHider: false UseSpecialBlockForProximityHider: true UpdateOnDamage: false UpdateThread: false DarknessHideBlocks: false NoObfuscationForOps: true NoObfuscationForPermission: true UseCache: true LoginNotification: false AntiTexturePackAndFreecam: true Enabled: true Lists: blablabla defaults
Thanks (ill test your lite version later :D Looks promising too! )
-
View User Profile
-
Send Message
Posted Aug 15, 2012@lishid
It does seem to work, I'll have to wait and see if I get "out of memory" again. Is there anything that I can set in the configuration to not drain as much memory that doesn't severely diminish the anti x-ray effect?
-
View User Profile
-
Send Message
Posted Aug 15, 2012@xclucky
Should be right... see if it works.
-
View User Profile
-
Send Message
Posted Aug 15, 2012@lishid
Please tell me if I did this right (I also have my restart script mixed in there):
Also, would you know how to change the title of the terminal window on linux using the shell script?
-
View User Profile
-
Send Message
Posted Aug 15, 2012@lishid
I have my memory xmx at 2gb, which is max for my os. I have a 32-bit os, so I can't allocate more than 2gb or java will crash when it hits 2.5gb. I will take a look at the garbage collector.
-
View User Profile
-
Send Message
Posted Aug 15, 2012@xclucky
Forgot to open it...
Did you try increasing memory Xmx? Also, try another garbage collector? (Read FAQ linked in description).
-
View User Profile
-
Send Message
Posted Aug 15, 2012Orebfuscator has crashed my server 6x today, however it took until just now for me to get an error message. It goes as follows:
Btw, why is there no ticket page?
Also, if you need my configuration or any files, I can provide them.
Java version: 1.7.0_05-b05
Crafbukkit version: 1.3.1-R1.0
Orebfuscator version: Newest
-
View User Profile
-
Send Message
Posted Aug 15, 2012I run this dev-test build (something between 1.5.14 and 1.5.15) form lishid since 2 days now without any problems.
https://dl.dropbox.com/u/18947504/Orebfuscator.jar
-
View User Profile
-
Send Message
Posted Aug 15, 2012last version is really buggy... server crashes and many players can't join even when server is empty. Deleted this plugin - everything works fine now... buw how to fight with Xrays?... Do someone have atlest Xray checker that can be recomend?
-
View User Profile
-
Send Message
Posted Aug 15, 2012This bug with Bad compressed data format doesn't persist in Orebfuscator 1.5.10, so I back to this version.
But do you think this error is caused by this plugin. This is the error: Description: Exception in server tick loop
java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) at java.util.ArrayList$Itr.next(Unknown Source) at net.minecraft.server.WorldServer.getTileEntities(WorldServer.java:539) at net.minecraft.server.PlayerInstance.a(PlayerInstance.java:109) at net.minecraft.server.PlayerManager.flush(PlayerManager.java:40) at net.minecraft.server.WorldServer.doTick(WorldServer.java:172) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:558) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Then my server just crashed. Only for today I have had more than 10 crashes because this error.
-
View User Profile
-
Send Message
Posted Aug 15, 2012here is error, what i get sometimes, i hope it helps you.
Could not properly handle event CHUNK_LOAD: java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.lishid.orebfuscator.proximityhider.ProximityHider at org.bukkit.event.Listener.onChunkLoad(Listener:0) at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:35) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:100) at com.bergerkiller.bukkit.nolagg.examine.TimedChunkProviderServer.getChunkAt(TimedChunkProviderServer.java:146) at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:105) at org.bukkit.craftbukkit.CraftWorld.getBlockAt(CraftWorld.java:69) at org.bukkit.craftbukkit.CraftWorld.getBlockAt(CraftWorld.java:475) at org.bukkit.Location.getBlock(Location.java:82) at com.lishid.orebfuscator.proximityhider.ProximityHider.run(ProximityHider.java:106)
-
View User Profile
-
Send Message
Posted Aug 15, 2012Okay. Thank you! :-)
This plugin works very well for me, but this bug is very annoying. Everyone gets kicked randomly.
-
View User Profile
-
Send Message
Posted Aug 15, 2012@HeavenMc
I'm not sure what's causing them, but I am certainly looking into it. If any developer can help by pointing out the problem, please do. Thanks.
-
View User Profile
-
Send Message
Posted Aug 15, 2012lishid:
Can't you fix the Bad compressed data format bug?
-
View User Profile
-
Send Message
Posted Aug 15, 2012@mig4ng
yes it works