FamilyJewels - Anti XRay
What is FamilyJewels?
FamilyJewels is a server-side plugin designed to be provide a certain level of protectection against X-Ray cheaters. Like other anti xray plugins, FamilyJewels modifies the block information before it is sent to the client. This technique doesn't save any modified block data to your world.
Unlike other anti-xray plugins FamilyJewels strives to provide an anticheat experience that does not impact a legitimate player in any way. Someone who is playing legitimately should never know that FamilyJewels is installed. Since we strive to have no impact on legitimate players, you may find that FamilyJewels is not as effective as other antixray plugins and some ores may still be visible in caves. We feel this is a fair trade off, but you are welcome to compare for yourself:
Any block that is not directly exposed to air will be sent to the client as smooth stone. When a player begins digging, any nearby blocks are updated and sent to the client which will cause them to appear before any blocks are broken. It is possible that some extremely laggy players will see smooth stone turn into ore immediately after digging, but this is rare.
Before you Install
- This plugin hooks the NetServerHandler and may not be compatible with other plugins that do the same (eg Spout).
- This plugin hooks directly into CraftBukkit to perform certain features not available to the API, as a result, it may break between Minecraft patches.
- This is not a pure Bukkit plugin and this will only work on pure CraftBukkit servers.
- While we have been running this plugin for several months on our server. there is always the possibility of world corruption or otherwise weird behavior. Use this plugin on a test server before deploying it to a production environment.
Issues and Feedback
Please report all issues and feedback with FamilyJewels at http://www.github.com/Minecarts/FamilyJewels/issues
While we personally have been running this plugin for many months, we cannot guarantee that it won't break your world. Please make backups.
Source Code
You can view and contribute to FamilyJewels at our github page: http://www.github.com/Minecarts/FamilyJewels/
@TheOneWhoOwns
What are you referring to?
could you please fix this.
2012-05-20 05:09:56 [INFO] [RestrictCreative] Disabling RestrictCreative v0.7.1 2012-05-20 05:09:56 [SEVERE] Error occurred while disabling RestrictCreative v0.7.1 (Is it up to date?) java.lang.ClassCastException: com.minecarts.familyjewels.NetServerHandlerHook cannot be cast to de.V10lator.RestrictCreative.V10NetworkManager
To risky -
@Munkyman587
FamilyJewels doesn't do any chunk loading or unloading, only obfuscation of chunks as they are sent to the client.I think I spotted a case where adjacent chunks might be loaded into memory when doing the obfuscation check. Did you test your TPS without GriefPrevention loaded?@kustomcraft
We're on the latest CB build and FamilyJewels is working just fine. There may be a compatibility issue with one of your existing plugins.
@Adrenalineq
We've been using this extensively on our server for many months and only just now decided to release it. We're not aware of any vulnerabilities with newer x-ray mods - though this should be a non-issue as the client will have no idea where ores are located due to obfuscation.
mhm this anti x-ray block newest xrays?, and do you test it at big servers?
Just wanted to toss this in... it seems like a combination of this and griefprevention causes TPS to fall to about 7-10. Is there any way to run the two? I noticed that "chunks in system memory" were absurd with the two plugins installed. Thanks =)
@only1man1
Just uploaded v 2.0.2 which should fix your issues with the blocks you mentioned (iron bars, glass panes, buttons, etc)
Umm,no idea im running some custom ones but heres the list thanks.
2012-05-02 13:05:52 [INFO] Plugins (46): BadWords, bPermissions, WorldEdit, ScheduledAnnouncer, NoCheatPlus, PqShout, PqWelcome, RestrictCreative, Vault, War, Stargate, Multiverse-Core, LogBlock, bShortcut, CapsGuard, LWC, WorldGuard, bChatManager, InfinitePlots, SimplyVanish, SignEdit, PreciousStones, LWCSign, MultipleLoginBlocker, LightDetector, AntiAdvertising, PqPlots, KcNoFly, BioMan, Lockette, BanAxe, CrystalMeth, SupplySign, InfiniteClaims, Votifier, CommandBlocker, MobDisguise, Bankcraft, bCoolDown, Essentials, ShowCaseStandalone, EssentialsSpawn, BlockHat, AntiShare, V10FenceRegios, ChestShop
@kustomcraft
Out of curiosity, are you running any other plugins that hook the NetServerHandler?
It seems this needs to be updated, to 1.2.5 RB2 its crashing my server with this error,
2012-04-29 23:03:08 [SEVERE] java.lang.NullPointerException 2012-04-29 23:03:08 [SEVERE] at net.minecraft.server.NetServerHandler.sendPacket(NetServerHandler.java:723) 2012-04-29 23:03:08 [SEVERE] at com.minecarts.familyjewels.NetServerHandlerHook.sendPacket(NetServerHandlerHook.java:52) 2012-04-29 23:03:08 [SEVERE] at net.minecraft.server.EntityTrackerEntry.updatePlayer(EntityTrackerEntry.java:235) 2012-04-29 23:03:08 [SEVERE] at net.minecraft.server.EntityTracker.updatePlayers(EntityTracker.java:146) 2012-04-29 23:03:08 [SEVERE] at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:556) 2012-04-29 23:03:08 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449) 2012-04-29 23:03:08 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) 2012-04-29 23:03:08 [SEVERE] Unexpected exception java.lang.NullPointerException at net.minecraft.server.NetServerHandler.sendPacket(NetServerHandler.java:723) at com.minecarts.familyjewels.NetServerHandlerHook.sendPacket(NetServerHandlerHook.java:52) at net.minecraft.server.EntityTrackerEntry.updatePlayer(EntityTrackerEntry.java:235) at net.minecraft.server.EntityTracker.updatePlayers(EntityTracker.java:146) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:556) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Thanks alot.
Thanks for this lighter alternative for antixray. My users went nuts having to "tap walls." While I can't speak to its effectiveness yet, I am happy that the legit user has less hassle. Keep up the work!
Cool! Someone finally made a fork of my plugin! (I know, I know, it's not a fork from my code, but the basics workings behind it is the exact same)
I really like how this is stripped down to the bare bones with simple coding. However, you should add some support with other stuff that replaces the NSH. A proxy class should work in your case.
Hopefully, you won't mind me getting some ideas in the future from your plugin if you actually come up with good/clever ideas.
i found a bug sometimes the ores and the blocked block IDs are visible like stone IF something is in fromt of them
i know that is your fix for the xray but can you please unblock the :slabs , doors , trapdoors , signs , stairs , chests , pressure plates , cakes , fences , buttons , levers , repeaters , torches /redstone torches , redstone , iron bars , glass planes
The block behind them looks like stone
some images. (block update causes update)
This happens ALL the time i log in
@spunkiie
What limitations are you referring to? If it doesn't degrade the legitimate player's experience, we will certainly consider it.
I was just trying to help improving the plugin.
OTC and Orebfuscator have both some limitations, if you could code your plugin to solve these limitation, you're not reinventing the whell, but improving it.
@spunkiie
Why not just use the plugins you mentioned? We're trying to solve a specific issue and use case here, not reinvent the wheel.
some blocks are not hidden, I think it's because they are exposed.
OTC and Orebfuscator have an option to hide ANY block regardless exposed or not, could you implement it ?
Good luck.
hmm ...
not the best but i like it most of the ores are gone
thanks