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 30, 2012It doesn't work for me, I can still seem ores. I dont get any error messages in the log. Anyone got any ideas?
-
View User Profile
-
Send Message
Posted Apr 29, 2012@lishid
19:18:26 [SEVERE] java.io.IOException: Bad file descriptor 19:18:26 [SEVERE] at java.io.RandomAccessFile.seek(Native Method) 19:18:26 [SEVERE] at net.minecraft.server.RegionFile.a(SourceFile:366) 19:18:26 [SEVERE] at net.minecraft.server.RegionFile.a(SourceFile:313) 19:18:26 [SEVERE] at net.minecraft.server.ChunkBuffer.close(SourceFile:262) 19:18:26 [SEVERE] at java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:149) 19:18:26 [SEVERE] at java.io.FilterOutputStream.close(FilterOutputStream.java:143) 19:18:26 [SEVERE] at lishid.orebfuscator.cache.ObfuscatedCachedChunk.setData(ObfuscatedCachedChunk.java:137) 19:18:26 [SEVERE] at lishid.orebfuscator.cache.ObfuscatedCachedChunk.Write(ObfuscatedCachedChunk.java:103) 19:18:26 [SEVERE] at lishid.orebfuscator.obfuscation.Calculations.Obfuscate(Calculations.java:536) 19:18:26 [SEVERE] at lishid.orebfuscator.obfuscation.Calculations.Obfuscate(Calculations.java:228) 19:18:26 [SEVERE] at lishid.orebfuscator.threading.OrebfuscatorThreadCalculation.run(OrebfuscatorThreadCalculation.java:111) 19:18:26 [SEVERE] java.io.IOException: Bad file descriptor 19:18:26 [SEVERE] at java.io.RandomAccessFile.seek(Native Method) 19:18:26 [SEVERE] at net.minecraft.server.RegionFile.a(SourceFile:366) 19:18:26 [SEVERE] at net.minecraft.server.RegionFile.a(SourceFile:313) 19:18:26 [SEVERE] at net.minecraft.server.ChunkBuffer.close(SourceFile:262) 19:18:26 [SEVERE] at java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:149) 19:18:26 [SEVERE] at java.io.FilterOutputStream.close(FilterOutputStream.java:143) 19:18:26 [SEVERE] at lishid.orebfuscator.cache.ObfuscatedCachedChunk.setData(ObfuscatedCachedChunk.java:137) 19:18:26 [SEVERE] at lishid.orebfuscator.cache.ObfuscatedCachedChunk.Write(ObfuscatedCachedChunk.java:103) 19:18:26 [SEVERE] at lishid.orebfuscator.obfuscation.Calculations.Obfuscate(Calculations.java:536) 19:18:26 [SEVERE] at lishid.orebfuscator.obfuscation.Calculations.Obfuscate(Calculations.java:228) 19:18:26 [SEVERE] at lishid.orebfuscator.threading.OrebfuscatorThreadCalculation.run(OrebfuscatorThreadCalculation.java:111)
still there :) However is it bad? :) (it spams abit) Ive Threads on 3 :P btw cus it loads faster ;)
-
View User Profile
-
Send Message
Posted Apr 29, 2012I found this ... just once and I don't know the circumstances.
Bukkit-1.2.5-R1.2-b2167
Orebfuscator 1.4.5
2012-04-29 15:32:10 [SEVERE] [OFC] null
2012-04-29 15:32:10 [SEVERE] java.lang.NullPointerException
2012-04-29 15:32:10 [SEVERE] at lishid.orebfuscator.obfuscation.Calculations.Obfuscate(Calculations.java:530)
2012-04-29 15:32:10 [SEVERE] at lishid.orebfuscator.obfuscation.Calculations.Obfuscate(Calculations.java:226)
2012-04-29 15:32:10 [SEVERE] at lishid.orebfuscator.threading.OrebfuscatorThreadCalculation.run(OrebfuscatorThreadCalculation.java:111)
-
View User Profile
-
Send Message
Posted Apr 29, 2012@UnitedFactions
See if this fixes them up for you.
http://dl.dropbox.com/u/18947504/Orebfuscator.jar
-
View User Profile
-
Send Message
Posted Apr 29, 201217:17:37 [SEVERE] java.io.IOException: Bad file descriptor 17:17:37 [SEVERE] at java.io.RandomAccessFile.seek(Native Method) 17:17:37 [SEVERE] at net.minecraft.server.RegionFile.a(SourceFile:366) 17:17:37 [SEVERE] at net.minecraft.server.RegionFile.a(SourceFile:313) 17:17:37 [SEVERE] at net.minecraft.server.ChunkBuffer.close(SourceFile:262) 17:17:37 [SEVERE] at java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:149) 17:17:37 [SEVERE] at java.io.FilterOutputStream.close(FilterOutputStream.java:143) 17:17:37 [SEVERE] at lishid.orebfuscator.cache.ObfuscatedCachedChunk.setData(ObfuscatedCachedChunk.java:135) 17:17:37 [SEVERE] at lishid.orebfuscator.cache.ObfuscatedCachedChunk.Write(ObfuscatedCachedChunk.java:103) 17:17:37 [SEVERE] at lishid.orebfuscator.obfuscation.Calculations.Obfuscate(Calculations.java:534) 17:17:37 [SEVERE] at lishid.orebfuscator.obfuscation.Calculations.Obfuscate(Calculations.java:226) 17:17:37 [SEVERE] at lishid.orebfuscator.threading.OrebfuscatorThreadCalculation.run(OrebfuscatorThreadCalculation.java:111) 17:17:38 [INFO] [PLAYER_COMMAND] Davard02: /f home
I keep getting these errors, are they bad? newest version.
-
View User Profile
-
Send Message
Posted Apr 29, 2012@Kirdog
Yes, Exceptions are generally bad if they are not expected. Usually they crash.
In this case however, the exception is expected, and is supposed to be caught rather than shown to the user. This means that my plugin does something that might have problems (writing a file to disk can have problems like no permission, writing error, etc), and should know that if it has problems, handle it without any performance problem or crashing.
-
View User Profile
-
Send Message
Posted Apr 29, 2012@lishid
Thanks. But in fact "Exception" errors can affect perfomance a lot. Thats what i'm worry about. Is it true statment?
Thanks. :)
-
View User Profile
-
Send Message
Posted Apr 29, 2012@Kaosvf
@Kirdog
It can be ignored, however, I will try to control the spam. Will add another clause to hide the error on future version.
Meanwhile, try if this one fixes for you: http://dl.dropbox.com/u/18947504/Orebfuscator.jar
@Sejsel
Try this: http://dl.dropbox.com/u/18947504/Orebfuscator.jar
-
View User Profile
-
Send Message
Posted Apr 29, 2012@Kaosvf
Have the same problem. How ti fix it?
This error appears when i have 60+ players. On 105/105 it is flooding a lot.
:(
-
View User Profile
-
Send Message
Posted Apr 29, 2012Hi,
I would report this: http://pastebin.com/JJ1K0S5w
-
View User Profile
-
Send Message
Posted Apr 29, 2012<<reply 678426="">>
That's not a plugin, that's a mod. Namely BuildCraft and IndustrialCraft2.
However, there is no other plugin which has problems with this. Could you please look into it?
-
View User Profile
-
Send Message
Posted Apr 28, 2012@Sejsel
You got another plugin that gives negative block IDs.
-
View User Profile
-
Send Message
Posted Apr 28, 2012Hi there, lishid. Our server is encountering this error whole day, lagging, and it made the server.log grow by 39 MB.
2012-04-28 21:42:43 [SEVERE] Could not pass event BlockBreakEvent to Orebfuscator
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:227)
at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:177)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:631)
at net.minecraft.serverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:114)
at net.minecraft.server.Packet14BlockDig.handle(SourceFile:43)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:234)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:118)
at net.minecraft.serverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:83)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:557)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:455)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -7
at net.minecraft.server.Block.g(Block.java:222)
at lishid.orebfuscator.threading.OrebfuscatorThreadUpdate.Queue(OrebfuscatorThreadUpdate.java:45)
at lishid.orebfuscator.listeners.OrebfuscatorBlockListener.onBlockBreak(OrebfuscatorBlockListener.java:39)
at sun.reflect.GeneratedMethodAccessor125.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
... 14 more
And if you wonder, how is this possible, we use bukkit from mcportcentral.
-
View User Profile
-
Send Message
Posted Apr 27, 2012@noxturno
I'm just wondering why it lags if block damage is on but not if block break, they're basically the same thing...
-
View User Profile
-
Send Message
Posted Apr 27, 2012@lishid
no man thanks for quick reply, just so you know I disabled all plugins but the antixray and still no luck
-
View User Profile
-
Send Message
Posted Apr 27, 2012@stutiguias
It will hide all blocks in proximityHider without showing them.
@domingo15
Damage is triggered when you first started hitting the block. Break is triggered when the server accepts the block being broken. Damage update is sent so the player doesn't see the fake ore behind blocks when the block actually break (latency issues)
@syam1218
Try disabling DarknessObfuscate and removing chest from the blocks to be obfuscated.
-
View User Profile
-
Send Message
Posted Apr 27, 2012@lishid
Thanks, but it sounds the same to me. When you damage the block its like your breaking it or if you just damage it but not completely break it why does it need updating? the block is still in there intact until broken.
-
View User Profile
-
Send Message
Posted Apr 27, 2012@lishid
"/ofc disable proximity" ... i will try that..
if i set ProximityHiderDistance: 0 ... what happens ?
-
View User Profile
-
Send Message
Posted Apr 27, 2012@lishid thank you for reply!
ProximityHiderDistance: 8 in my configuration file.
I tried the clear cache, disable cache, diable proximity and relog, but nothing happened.
-
View User Profile
-
Send Message
Posted Apr 27, 2012@syam1218
What's your proximityHider distance set to?
Also, you can try "/ofc clearcache" and relog
If that worked, then you can do "/ofc disable cach"e to prevent it to happen again
If not, then you can use "/ofc disable proximity" to disable proximityHider and relog.