Orebfuscator

Demonstration 1

Orebfuscator - Anti X-RAY:

Version: 3.0.4

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.

http://forums.bukkit.org/threads/38385

Configuration Guide

https://github.com/lishd/Orebfuscator/wiki/How-to-properly-configure-Orebfuscator

FAQ

https://github.com/lishd/Orebfuscator/wiki/FAQ

DOWNLOAD

Dropbox link removed due to Bukkit regulations. Latest version should be on BukkitDev, if not, then the dropbox link is still in the forum thread.

Please also download ProtocolLib and install it in the plugins folder. Download 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.

Usage

Install: Copy "Orebfuscator.jar" to your plugins folder, and restart/reload your server.

Configuration

See this: https://github.com/lishd/Orebfuscator/wiki

Commands

See this: https://github.com/lishd/Orebfuscator/wiki

Permissions

See this: https://github.com/lishd/Orebfuscator/wiki

Source Code

Here you go! (Hosted on Github)

Metrics

  • This plugin utilises 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.

Auto-Updater

  • This plugin uses an Auto-updater to fetch the latest version from BukkitDev automatically. It can be disabled in the configuration file.

Thanks!

  • AFFORESS, major help on code optimization and spout support!
  • raphfrk, helped with packet processing
  • Many donators!

Bugs

  • None ATM

TODO

  • A command that generates the world cache for the existing chunks.

Changelog

Version 3.0.4
  • Fixed NPE on events, auto-disable Spigot built-in Orebfuscator.
Version 3.0.3
  • Removed updater, fixed ProtocolLib compatibility issue, fixed ProximityHider giving bad block meta
Version 3.0.2
  • Fixed always think blocks are transparent.
Version 3.0.1
  • Fixed event exceptions.
Version 3.0.0
  • Updated to MC1.8/MC1.8.1.

Full history: https:github.com/lishd/Orebfuscator/wiki/Version-History

Images

Demonstration

Demonstration

CPU testing with Initial radius and Caching:

Demonstration

A quick donation is always appreciated :D

Donate!

.

http://forums.bukkit.org/threads/38385

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of HubToo HubToo Jan 26, 2015 at 23:13 UTC - 0 likes

    Hello again. I downgraded to version v2.1.7, apparently the last to support Minecraft 1.7.10. Now there are no errors on startup.

    However, right after a player logs in the game, i get the following warning in the server log:

    [13:22:38] [Server thread/ERROR]: [OFC] java.lang.NoSuchFieldException: chunkCoordIntPairQueue
    [13:22:38] [Server thread/WARN]: java.lang.NoSuchFieldException: chunkCoordIntPairQueue
    [13:22:38] [Server thread/WARN]:        at java.lang.Class.getDeclaredField(Class.java:2062)
    [13:22:38] [Server thread/WARN]:        at com.lishid.orebfuscator.utils.ReflectionHelper.setPrivateFinal(ReflectionHelper.java:58)
    [13:22:38] [Server thread/WARN]:        at com.lishid.orebfuscator.internal.v1_7_R4.PlayerHook.HookChunkQueue(PlayerHook.java:125)
    [13:22:38] [Server thread/WARN]:        at com.lishid.orebfuscator.hook.OrebfuscatorPlayerHook.onPlayerJoin(OrebfuscatorPlayerHook.java:45)
    [13:22:38] [Server thread/WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [13:22:38] [Server thread/WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    [13:22:38] [Server thread/WARN]:        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [13:22:38] [Server thread/WARN]:        at java.lang.reflect.Method.invoke(Method.java:483)
    [13:22:38] [Server thread/WARN]:        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:334)
    [13:22:38] [Server thread/WARN]:        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    [13:22:38] [Server thread/WARN]:        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:507)
    [13:22:38] [Server thread/WARN]:        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:492)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.server.management.ServerConfigurationManager.func_72377_c(ServerConfigurationManager.java:352)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.server.management.ServerConfigurationManager.a(ServerConfigurationManager.java:218)
    [13:22:38] [Server thread/WARN]:        at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:173)
    [13:22:38] [Server thread/WARN]:        at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:448)
    [13:22:38] [Server thread/WARN]:        at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:21)
    [13:22:38] [Server thread/WARN]:        at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
    [13:22:38] [Server thread/WARN]:        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
    [13:22:38] [Server thread/WARN]:        at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169)
    [13:22:38] [Server thread/WARN]:        at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:244)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:173)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:980)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:423)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:798)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:658)
    [13:22:38] [Server thread/WARN]:        at java.lang.Thread.run(Thread.java:745)
    

    And after that, as long as the player stays logged in, i have these kind of things (repeated 2888 times!):

    [13:31:33] [Netty IO #0/ERROR]: [OFC] java.lang.NoSuchFieldException: e
    [13:31:33] [Netty IO #0/WARN]: java.lang.NoSuchFieldException: e
    [13:31:33] [Netty IO #0/WARN]:  at java.lang.Class.getDeclaredField(Class.java:2062)
    [13:31:33] [Netty IO #0/WARN]:  at com.lishid.orebfuscator.utils.ReflectionHelper.getPrivateField(ReflectionHelper.java:27)
    [13:31:33] [Netty IO #0/WARN]:  at com.lishid.orebfuscator.internal.v1_7_R4.Packet51.setPacket(Packet51.java:40)
    [13:31:33] [Netty IO #0/WARN]:  at com.lishid.orebfuscator.internal.v1_7_R4.PlayerHook$OutboundChannelHandler.write(PlayerHook.java:85)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:688)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:717)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:893)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:239)
    [13:31:33] [Netty IO #0/WARN]:  at net.minecraft.network.NetworkManager$1.run(NetworkManager.java:198)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:348)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
    [13:31:33] [Netty IO #0/WARN]:  at java.lang.Thread.run(Thread.java:745)
    [13:31:33] [Netty IO #0/ERROR]: [OFC] java.lang.NoSuchFieldException: f
    

    Any idea? Is it working anyway, or should i revert to Spiggot antixray?

    Best regards,

  • Avatar of HubToo HubToo Jan 25, 2015 at 14:43 UTC - 0 likes

    Hello, I get the following message when i launch my server:

    [15:20:08] [main/INFO]: Forge Mod Loader version 7.10.85.1236 for Minecraft 1.7.10 loading
    [15:20:08] [main/INFO]: Java is OpenJDK 64-Bit Server VM, version 1.8.0_25, running on FreeBSD:amd64:10.1-RELEASE, installed at /usr/local/openjdk8-jre
    [15:20:14] [Server thread/INFO]: Starting minecraft server version 1.7.10
    [15:20:14] [Server thread/INFO]: MinecraftForge v10.13.2.1236 Initialized
    [15:20:17] [Server thread/INFO]: This server is running Cauldron-MCPC-Plus version git-Cauldron-MCPC-Plus-1.7.10-1.1236.06.212 (MC: 1.7.10) (Implementing API version 1.7.10-R0.1-SNAPSHOT)
    [15:20:22] [Server thread/INFO]: [Orebfuscator3] Loading Orebfuscator3 v3.0.4
    [15:20:22] [Server thread/INFO]: [Orebfuscator3] Enabling Orebfuscator3 v3.0.4
    [15:20:22] [Server thread/ERROR]: Error occurred while enabling Orebfuscator3 v3.0.4 (Is it up to date?)
    java.lang.NullPointerException
            at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:105) ~[launchwrapper-1.11.jar:?]
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:387) ~[PluginClassLoader.class:git-Cauldron-MCPC-Plus-1.7.10-1.1236.06.212]
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:211) ~[PluginClassLoader.class:git-Cauldron-MCPC-Plus-1.7.10-1.1236.06.212]
            at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_25]
            at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_25]
            at com.lishid.orebfuscator.internal.MinecraftInternals.isBlockTransparent(MinecraftInternals.java:30) ~[?:?]
            at com.lishid.orebfuscator.OrebfuscatorConfig.generateTransparentBlocks(OrebfuscatorConfig.java:120) ~[?:?]
            at com.lishid.orebfuscator.OrebfuscatorConfig.isBlockTransparent(OrebfuscatorConfig.java:105) ~[?:?]
            at com.lishid.orebfuscator.OrebfuscatorConfig.setBlockValues(OrebfuscatorConfig.java:338) ~[?:?]
            at com.lishid.orebfuscator.OrebfuscatorConfig.load(OrebfuscatorConfig.java:411) ~[?:?]
            at com.lishid.orebfuscator.Orebfuscator.onEnable(Orebfuscator.java:57) ~[?:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[JavaPlugin.class:git-Cauldron-MCPC-Plus-1.7.10-1.1236.06.212]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:368) [JavaPluginLoader.class:git-Cauldron-MCPC-Plus-1.7.10-1.1236.06.212]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:410) [SimplePluginManager.class:git-Cauldron-MCPC-Plus-1.7.10-1.1236.06.212]
            at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:415) [CraftServer.class:git-Cauldron-MCPC-Plus-1.7.10-1.1236.06.212]
            at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:349) [CraftServer.class:git-Cauldron-MCPC-Plus-1.7.10-1.1236.06.212]
            at net.minecraft.world.storage.SaveHandler.initBukkitData(SaveHandler.java:459) [ayq.class:?]
            at net.minecraft.world.storage.SaveHandler.func_75757_d(SaveHandler.java:136) [ayq.class:?]
            at net.minecraft.world.World.<init>(World.java:350) [ahb.class:?]
            at net.minecraft.world.WorldServer.<init>(WorldServer.java:153) [mt.class:?]
            at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:356) [MinecraftServer.class:?]
            at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:329) [lt.class:?]
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:620) [MinecraftServer.class:?]
            at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25]
    

    So i'm using the last version (3.0.4) of Orebfuscator, but on a 1.7.10 server instead of a 1.8.1. Should i use the 2.1.7 version for CB 1.7.9-R0.2?

    Do i have a problem because some of the mods i'm using are declaring new blocks unknown to Orebfuscator? (i use the Lord of the Rings mod, and More Player Models mod)

    Is it a side issue with the Spiggot included in my Cauldron server, as i see that it seems to include an anti xray feature? (currently disabled in my case: anti-xray: enabled: false)

    And, finally, is there a simple way of knowing if it works?

    Thanks in advance for your help!

    Best regards,

    Last edited Jan 25, 2015 by HubToo
  • Avatar of Si7VdeR Si7VdeR Jan 21, 2015 at 15:09 UTC - 0 likes

    Works fine on my server, no laggs.

    Is there a permission so I can still X-Ray myself ?

    Like a permission to not send the packages to a person ?

  • Avatar of HoxyDay15 HoxyDay15 Jan 21, 2015 at 14:45 UTC - 0 likes

    @Chevels: Go

    do you know how i can change all the blocks to air it is better on blocks if you can help me with that i will be happy :)

  • Avatar of Chevels Chevels Jan 20, 2015 at 23:34 UTC - 0 likes

    @MarioG1: Go

    Thank you for your advice, but in my case it did not change anything. It seems that there was not much to do to regain the fluidity before the 1.8 :/ If I reduced the list "RandomBlocks:" could it improve something?

  • Avatar of HoxyDay15 HoxyDay15 Jan 20, 2015 at 18:02 UTC - 0 likes

    Hey,i have so much lags with this plugin (1.8) and i want to change the blocks to air i diable AntiTexturePackAndFreeCam and i changed the random block to 100 and its still not work

    Last edited Jan 20, 2015 by HoxyDay15
  • Avatar of MarioG1 MarioG1 Jan 19, 2015 at 20:02 UTC - 0 likes

    @lishid: Go

    I know that AntiTexturePackAndFreecam has nothing to do with block ID's. But if you disable AntiTexturePackAndFreecam you still have air blocks under ground with the default settings. If you remove 129 (Emerald Ore) the air blocks are gone. I also tried this with other blocks with ID's > 100.

    @Bobcat00: Go

    I did some testing with AntiTexturePackAndFreecam and vanilla mc on my PC:

    AntiTexturePackAndFreecam ON and default Random blocks 490 FPS AntiTexturePackAndFreecam ON and Random blocks with ID's < 100 540 FPS AntiTexturePackAndFreecam OFF 622 FPS

    On an strong PC you won't notice any difference but people with slow pc might get problems.

    Last edited Jan 19, 2015 by MarioG1

    ETG Clan

    Visit us at www.etg-clan.at

  • Avatar of lishid lishid Jan 16, 2015 at 15:16 UTC - 0 likes

    @MarioG1: Go

    That's not the case.

    Disabling AntiTexturePackAndFreecam basically means no random air blocks are generated. This has nothing to do with block IDs, other than sending some of the blocks (randomly selecting some) to being an air block instead of whatever the random block generator would.

  • Avatar of Bobcat00 Bobcat00 Jan 16, 2015 at 10:34 UTC - 0 likes

    @MarioG1: Go

    I thought the random air blocks caused FPS lag only for people running hacked clients. In other words, people running legit Minecraft won't have additional FPS lag from this plugin.

    Last edited Jan 16, 2015 by Bobcat00
  • Avatar of MarioG1 MarioG1 Jan 16, 2015 at 06:36 UTC - 0 likes

    @Chevels: Go

    The FPS lag is caused by random blocks with an id > 100 because they are send as air to the client.

    Disable AntiTexturePackAndFreecam and remove all blocks with an id > 100 from teh random blocks list, reload ofc and clear the cache. The lag should be gone.

    Last edited Jan 16, 2015 by MarioG1

Facts

Date created
Sep 24, 2011
Categories
Last update
Jan 08, 2015
Development stage
Mature
Language
  • enUS
License
GNU General Public License version 3 (GPLv3)
Curse link
Orebfuscator
Downloads
1,585,837
Recent files

Authors