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
I think that you need to add 1.2.1 to "Recent files".
It is too bad that you can't just make a spout extension plugin for this to prevent any blocks/items/mobs/users from rendering that are not line of sight of that clients avatar/user.
That would prevent them from seeing beyond any block(besides blocks such as water/air/glass) and could even increase the performance of the client since its only rendering the items/blocks/mobs/users in LOS.
If that all worked out people could take advantage of it such having x5 view distance and when they increase the height limit you could see the awesome creations. :)
Getting this on non-spout clients after a few moments on the server.:
java.io.IOException: Bad compressed data format at kh.a(SourceFile:62) at gt.a(SourceFile:146) at hc.e(SourceFile:190) at hc.c(SourceFile:10) at pa.run(SourceFile:77)
Ummm... There's something wrong with the plugin... Spams the console and crashes the client when anyone logs on. Server Log: http://pastebin.com/Bfcfq0sV OreBFuscator config: http://pastebin.com/E88pcVNJ
What engine mode do you guys recommend? I am getting lots of confused players when they see diamonds dissapearing.
Thanks :)
This version 1.1.4 is better, reduced the lag :)
I like mode 2 :D
No matter what I do to the config.yml, whenever I use /ofc reload; reload the server; or fully stop and restart the server; the config.yml regenerates to the default. Please fix.
Wish you had a ticket system, but, oh well.
Using Craftbukkit #1566, Spout #617, your latest Orebufuscator and bridge, I was unable to load any of the chunks within a large radius around any player.
This was in combination with ChunkScrambler, and NoLagg - both of which can be found on devBukkit.
@TechJawa
I don't see a problem...
@Katorone
There are options to disable obfuscation for worlds.
@domingo15
Engine mode 2 doesn't use too much more compared to engine mode 1. (the difference is not noticeable anyways)
Also, I've received this more than once. For one, you can't know when an ore is 'underground' for sure. You can only check for the ore being hidden by non-transparent blocks. Or you can use lighting to check, but then since you can see ore at light lv 0 (and yes you can, crank brightness to max) and you can't distinguish ore that's underground with ore that's exposed, you can't really do anything about it. One way is to hide ore that's in caves (light lv 0 check), but when you put a torch, it fucks up.
The ore visible in the screenshot is caused by them being exposed to caves and lava.
@alexander_gq
Screenshot plz...
@craftingminer
It seems like the world is not properly loaded or something is corrupt. I'm guessing a restart of the server should suffice, although I have no idea why it happens.
running plugin on my server, yesterday with 31 people online nothing exiting really happened. this morning the server crashed with only 4 people on it leaving this error: http://pastebin.com/Xu0uLpBd
My question is this due to Orbfuscator? i see it being mentioned in the error. And if yes is there a way to prevent this from happening again ?
If you couldn't see non-covered things behind transparent textures your glass windows wouldn't work.
Running Craftbukkit 1550 (1.0) and Orebfuscator 1.1.3, non-spout with the default config file, testing Zombe x-ray mod. When using highlight, ore appears to be obfuscated in one direction, though very nearby ore can still be distinguished. When using true x-ray, nothing seems to occur (ores and chests are still visible). Note: non op.
@Pteraspidomorphi
I don't understand. So if the server tells the client an ore block is actually stone because it's in the dark, then the client, whether using a transparent pack or a full-blown hack, will render the block transparent, effectively hiding it. So how is a transparent texture pack an effective workaround for this? Clients only know what the server tells them.
lishid, I see in your screenshots that some underground ore are still visible in mode 1. Is that because a torch is lighting-up the ore, or because of some issue with the plugin?
Will you please clarify engine mode 1 versus engine mode 2?
Which mode hides both ores which are not exposed to air AND ores which are in the dark? That's the one I want.
You should change EngineMode 1 so that when someone x-ray no ores can be seen underground until mined.
Its kind of useless to use EngineMode 1 because some can still x-ray the ores that are expose to the air and EngineMode 2 use to much CPU.
Awesome plugin! To safe some cpu cycles, would it be possible to disable this plugin in certain multiverse worlds? For instance, our spawn world or pixelart world doesn't need any obfuscation.
lishid explained to me yesterday that this method cannot protect against x-ray textures, which don't show ores (unless they are exposed to the air), only against x-ray hacks in the client that reveal all hidden ores.
having issues... doesn't seem to be working?
Orebfuscator status:
Plugin is: Enabled
EngineMode: 2
Executing Threads: 1
Processing Threads Max: 1
Disabled worlds:
And this is what I get. Running CB 1550 http://cl.ly/2n2n453b253Y0W2G3V3x/Untitled.png
Nobody has the '*' permission, and nobody is in ops.txt
Here is my config: http://pastie.org/2964841
Also, when I log off/back in I can see it start to try to hide the blocks for a moment, but then it stops and doesn't work?
lishid my friend, when I am using 2 or more threads the plugin has a high probability of kicking a user out of the server every time a chunk is generated (or so it appears) with the error: "internal exception: java.io.ioexception: bad compressed data format".
This doesn't happen when using only 1, but there are noticeable speed benefits to using multiple cores of our excellent server's CPU, so we'd be thankful if you could look into this.