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 Dec 3, 2012@kroko1992
Yeah, 10GB is more than enough. Usually people got for 4GB
-
View User Profile
-
Send Message
Posted Dec 3, 2012only 2? lol i am going to dedicate 10gb to my server :P i guess i have enogh then ;D
-
View User Profile
-
Send Message
Posted Dec 3, 2012Looks like it's fixed. Someone give it a final test and I'll be ready to release it.
https://dl.dropbox.com/u/18947504/Orebfuscator.jar
@kroko1992
Ram measurements are not as simple as you think. It usually take some, and returns it to java. Then it's up to java whether to free it or leave it. Though usually if you have 2GB i believe is enough for 50slot
-
View User Profile
-
Send Message
Posted Dec 3, 2012hallo i want to make a 50slot server. can anyone tell me how much ram it take with this plugin when its full?
-
View User Profile
-
Send Message
Posted Dec 3, 2012Okay guys, just one last fix to come, something about a memory leak.
-
View User Profile
-
Send Message
Posted Dec 3, 2012Just updated about an hour ago. This seems to correct issues my server was having with /login lag (using authme reloaded), and chat/command lag after warping. My only complaint is chunks load too fast now and give quite a nice upload spike on login/warp. Not really a complaint tho. Just means your plugin is smokin fast now. :)
-
View User Profile
-
Send Message
Posted Dec 3, 2012Latest experimental working fine.
-
View User Profile
-
Send Message
Posted Dec 2, 2012@godgodgodgo
All right, that's one confirmation. Please also test for new chunk generation and see if they get the unobfuscated newly generated bug like before (just to make sure)
-
View User Profile
-
Send Message
Posted Dec 2, 2012@lishid
This version works just fine for me :D
-
View User Profile
-
Send Message
Posted Dec 2, 2012Here's a technical/detailed analysis of my new experimental version (since OFC experimental 1.7.4):
Previously, I've been using packets as a measure to intercept what CraftBukkit wants to send to the clients. In order to fix the Sign text bug, the Entity invulnerability bug, and all the problems caused by chunk packet being sent after the other ones, I needed to delay the network queue until i'm done processing the chunk packets. Now, I intercept CraftBukkit from even creating the Chunk packets and entity/sign/etc update packets, and queuing the chunks to a thread for each player off the main thread to process those chunks as needed. As they are finished processing, TileEntity updates, sign updates, entity movement, etc are then sent.
This approach ensures that the network thread and the main thread is not lagged while chunks are being obfuscated, and the packets are sent in the right order.
-
View User Profile
-
Send Message
Posted Dec 2, 2012@Puremin0rez
Sorry, forgot :P
https://dl.dropbox.com/u/18947504/Orebfuscator.jar
-
View User Profile
-
Send Message
Posted Dec 2, 2012@lishid
Link? Or same as previous builds.
-
View User Profile
-
Send Message
Posted Dec 2, 2012New experimental version!
This one has a much more optimized chunk queue and multithreading.
@alanthya
Could you have a try at my new version?
-
View User Profile
-
Send Message
Posted Dec 2, 2012@Zilacon
disable cache.
-
View User Profile
-
Send Message
Posted Dec 2, 2012The latest update has crashed my server 3 times now...
java.lang.OutOfMemoryError: Java heap space at net.minecraft.server.NBTTagIntArray.load(SourceFile:29) at net.minecraft.server.NBTBase.b(SourceFile:96) at net.minecraft.server.NBTTagCompound.load(NBTTagCompound.java:50) at net.minecraft.server.NBTBase.b(SourceFile:96) at net.minecraft.server.NBTCompressedStreamTools.a(SourceFile:75) at com.lishid.orebfuscator.cache.ObfuscatedCachedChunk.Read(ObfuscatedCachedChunk.java:75) at com.lishid.orebfuscator.obfuscation.Calculations.Obfuscate(Calculations.java:201) at com.lishid.orebfuscator.obfuscation.Calculations.ComputeChunkInfoAndObfuscate(Calculations.java:161) at com.lishid.orebfuscator.obfuscation.Calculations.Obfuscate(Calculations.java:47) at com.lishid.orebfuscator.hook.OrebfuscatorNetServerHandler.sendPacket(OrebfuscatorNetServerHandler.java:50) at net.minecraftserverhook.NetServerHandlerProxy.sendPacket(NetServerHandlerProxy.java:112) at com.lishid.orebfuscator.hook.OrebfuscatorNetServerHandler.sendPacket(OrebfuscatorNetServerHandler.java:53) at net.minecraft.server.EntityPlayer.j_(EntityPlayer.java:170) at net.minecraft.server.World.tickEntity(World.java:1458) at net.minecraft.server.World.entityJoinedWorld(World.java:1420) at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:569) at net.minecraft.server.World.playerJoinedWorld(World.java:1410) at net.minecraft.server.World.tickEntities(World.java:1288) at net.minecraft.server.WorldServer.tickEntities(WorldServer.java:463) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:578) at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:222) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:494) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:426) at net.minecraft.server.ThreadServerApplication.run(SourceFile:856)
I had to remove this until you guys fix whatever the issue is that's causing this, i really need this plugin to stop XRay'ers any help would be great thanks!
-
View User Profile
-
Send Message
Posted Dec 2, 2012@lishid
K... I'm running Oreb 1.7.3 - it seems that the ores aren't being obfuscated. I confirmed with an alt account with no special permissions. Not sure what to tell you, here's my config.
http://pastie.org/private/ns5howpzmpodmdray6rxaw
(Note the main world I've tested is Bastion)
-
View User Profile
-
Send Message
Posted Dec 2, 2012@lbb601
For now, nothing. Earlier versions of the plugin uses ProtocolLib to help manage some packet instructions but the 1.7+ versions now uses a different queue that ProtocolLib does not touch anyways, so if not necessary, then you don't really need it.For now that is.
-
View User Profile
-
Send Message
Posted Dec 2, 2012How do we benefit from installing protocalLIB with this plugin?
-
View User Profile
-
Send Message
Posted Dec 2, 20121.7.3 is a stable release for MC 1.4.4 and MC1.4.5.
It contains fixes for lag issues in 1.7.2.
Here's the download link: https://dl.dropbox.com/u/18947504/Orebfuscator/Permalink/Orebfuscator.jar
-
View User Profile
-
Send Message
Posted Dec 2, 2012@LordKainzo
Same here. I went on his server and apparently it was running Engine 1.
Will wrap up and release to public soon.
Thanks for the confirmation.