Описание
***
[⚠️] **NOTE!** If you have any issues with the plugin, please report them on our Discord!
🔒 **AntiXray Plugin:** AntiXray is a lightweight anti-cheat plugin for Minecraft 1.21+ (Paper/Purpur) that prevents X-Ray cheating using ProtocolLib packet manipulation without modifying the actual world data.
👉 **Compatible with Java 21+ and Paper/Purpur 1.21.4+**
### **Features:**
🎮 **Player Experience:**
* **Legit players see everything normally** – ores visible from caves are rendered correctly with zero delay.
* **Ores reveal instantly when mining** – nearby ores are exposed automatically as you dig.
* **X-Ray cheaters see fake blocks** instead of valuable ores like diamonds, gold, and emeralds.
* **Lag-free** invisible packet protection.
⚙️ **Admin Commands (/antixray – alias: /ax – requires `antixray.admin` permission):**
* `/antixray reload` – Hot-reload `config.yml` and rebuild the NMS block registry without restarting the server.
* `/antixray status` – Display live cache metrics (size, hit/miss rate, and JVM/ProtocolLib status).
* `/antixray debug` – Show current debug logs status.
* `/antixray help` – Show command help menu.
🛡️ **Protection Engine:**
* **Configurable Hidden Blocks:** Choose which ores to protect (defaults: Diamond, Emerald, Gold, Iron, Coal, Lapis, Redstone, Copper, Ancient Debris, Nether Ores, etc.).
* **Engine Mode - LAYER:** Replaces ores that are completely covered on all 6 sides by solid blocks with stones/deepslate.
* **Engine Mode - OBFUSCATE:** Replaces hidden ores AND injects random fake ores into stone/deepslate to completely mislead X-Ray users.
* **Reveal Mechanism:** Ores become visible within a configurable `reveal-radius` (default: 2 blocks) when a block is broken nearby.
* **World Whitelist & Blacklist:** Explicitly enable or disable protection on specific worlds.
🔐 **Security:**
* **Packet-level Obfuscation:** Intercepts outgoing `MAP_CHUNK` packets using ProtocolLib and rewrites the bit-packed `PalettedContainer` byte array.
* **Bypass Permission:** Players with the `antixray.bypass` permission will see the real, unmodified chunk data (great for trusted admins).
* **Robust Protection:** Blocks all client-side X-Ray mods, texture packs, cheat clients, and custom shaders.
📦 **Requirements:**
* **Server:** Paper or Purpur 1.21.4+ (required for NMS Mojang mappings).
* **Java:** 21 or Java 25.
* **Dependency:** ProtocolLib 5.3.0+ (required).
⚡ **Performance & Optimization:**
* **Thread-safe LRU Cache:** Obfuscated chunk packet data is cached globally per chunk (`ChunkDataCache`) – chunks are processed once and served instantly to all players, minimizing CPU usage.
* **Read-Write Locking:** Thread-safe execution for multi-threaded packet handling.
* **Smart Boundary Checks:** Invalidates cache for adjacent chunks when a block is broken on chunk borders.
* **Minimal Memory Footprint:** Efficient cache invalidation on block break/place and TTL cleanups.
🚀 **Installation:**
1. Download and install **ProtocolLib** from SpigotMC or GitHub.
2. Place `ProtocolLib.jar` in your `plugins/` folder.
3. Place `antixray.jar` in your `plugins/` folder.
4. Restart your server to generate the default configuration.
5. Customize `plugins/AntiXray/config.yml` and run `/antixray reload`.