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 6, 2013@lishid
But if i use engine mode 1 and have intial radius at 0 it will hide all ores from xrayers but there won't be fake ores?
-
View User Profile
-
Send Message
Posted Jan 6, 2013@deaddude22
No fake ores at all, actually, no ores will be seen until you click on them!
-
View User Profile
-
Send Message
Posted Jan 6, 2013@lishid
So i can use engine mode 1 but i need the intialRadius to be 0 for it to block all the ores? Will this cause fake ores for non xrayers?
-
View User Profile
-
Send Message
Posted Jan 6, 2013@tmtgr
It's going to lag legit players a lot.
@vicente947
Yes, Engine mode 1 needs InitialRadius 0 to hide all ores.
-
View User Profile
-
Send Message
Posted Jan 6, 2013@lishid
My server also runs out of memory in 1.8.3, but I'll try clearing cache and configs.
-
View User Profile
-
Send Message
Posted Jan 6, 2013With Engine Mode 1 they can see some ores?
-
View User Profile
-
Send Message
Posted Jan 5, 2013Hi lishid I was wondering if it's ok to add the ID for chest to the random blocks list. The reason for this is to stop most hackers using chestfinder to find underground bases.
-
View User Profile
-
Send Message
Posted Jan 5, 2013@MarioG1
That's an interesting idea. Will see what I can do for that.
@Zilacon
Already in code and will release with next version.
@wicked321
There's practically no code change from 1.8.2 to 1.8.3 that can cause more memory. All those few lines of optimization will surely reduce memory, at worst use the same amount, but not more.
Which means... Try restarting a few times, clear-cache, also try clear config.
-
View User Profile
-
Send Message
Posted Jan 5, 2013with 1.8.3 ive noticed an issue with ram usage shooting up within a matter of hours. like maybe 2-3 hours. i have 10gb ram dedicated to MC server and with just 10 players on, it wud shoot up to 10gb full and server wud crash. have not changed anything in config. switched back to 1.8.2 and ram usage is back to normal.
-
View User Profile
-
Send Message
Posted Jan 5, 2013@lishid
If possible i would disallow Compression: 0 as some may do that to turn compression off. When i did this it practically killed my server. Everyone who joined got instantly disconnected for "Disconnect.Overflow".
That being said, IS there a way to turn compression off completely? Because obviously this isn't how lol.
-
View User Profile
-
Send Message
Posted Jan 5, 2013I have an idea to improve the anit X-Ray in the nether or other dimension.
Can you add different random block define list for each map type because its useless if there are diamond ores in the nether or nether ores in the normal world and you can disable those blocks in some X-Ray hacks and this makes the anti X-Ray less effective.
-
View User Profile
-
Send Message
Posted Jan 5, 2013@cyclo666
That's possible. Chunk packets are quite large, and even with minimal compression, they're reduced by magnitudes. I shall limit compression to at least 1 then.
Thanks.
-
View User Profile
-
Send Message
Posted Jan 5, 2013CompressionLevel: 0 causes everyone to get disconnect.overflow as soon as they log on. Not a major problem. Putting it back to 1 works just fine.
-
View User Profile
-
Send Message
Posted Jan 5, 2013@MyPictures
@ronfkingswanson
I agree with MyPictures. If you have an SSD, it would be best to move Cache to a folder inside an HDD if possible. Orebfuscator writes quite often to the drive, which would degrade lifespan of an SSD quite quickly.
I'm planning on some optimizations such as async saving and also, something similar to Minecraft's world-saving (i.e. save chunk cache whenever the world chunk is saved)
@Marcbmann
Yes, those were taken with default engine.
@Puremin0rez
Could you explain? Is there any technology in newer SSDs that make frequent writing have minimal impact?
@ronfkingswanson
Using 0 or 1 are all viable solutions. For servers where people build most of their bases underground, I'd suggest a value of 1, but that is up to the server owner.
For the lag issue, well, ProximityHider has a huge list of blocks to go through whenever players move if you put any of the common blocks inside the list. This means that if you put coal, iron or anything like that, all of those blocks exposed to air will be candidate for ProximityHider, which will be a lot of blocks to go through every 0.5 second. This potentially clogs up CPU and make ProximityHider lag behind.
-
View User Profile
-
Send Message
Posted Jan 5, 2013so the proximity hiding is working great! Finally we have some effective protection against x-raying discovery of bases (crucial on an anarchy server).
I greatly increased the list of blocks to be hid by proximity. Still works great. At some point, I did something in my config that resulted in severe lag spikes for everyone on the server (not TPS dropping, or some cpu max, but constant, periodic spikes when walking around). I could not figure out what was wrong - but it happened only with proximity hiding on. I ended up trashing the config file and starting over, doing exactly the same things as before - but now I've got no more lag spikes... something to look into?
Also, is there any reason why it would be a bad idea to set the replacement block for the proximity hiding to "0" (air)? The visual oddity of having stone blocks everywhere suddenly turn into their proper form is jarring. But when they're just air, it simply seems like things are appearing when they're within rendering range. Very natural.
-
View User Profile
-
Send Message
Posted Jan 5, 2013@MyPictures
@ronfkingswanson
Probably too many read/writes - although I don't think that's a issue with newer ssds anymore.
-
View User Profile
-
Send Message
Posted Jan 4, 2013Maybe I'm doing something wrong, but I cannot get the plugin to function like it does in the images above. Were those images taken with the default configuration?
-
View User Profile
-
Send Message
Posted Jan 4, 2013@MyPictures
why should SSD not use the cache? working great here...
-
View User Profile
-
Send Message
Posted Jan 4, 2013@lishid you should probably make a note that users with SSD should disable the Orebfuscator cache. ;P
-
View User Profile
-
Send Message
Posted Jan 4, 2013@dotcurrency
Chests and other transparent blocks cannot be hidden by Orebfuscator's engines.
You need to use Orebfuscator's ProximityHider feature which is only in this dev version for now:
https://dl.dropbox.com/u/18947504/Orebfuscator.jar