Viper AntiXray

Quick rating

Viper AntiXray

No reviews yet

ViperAntiXray is an ultra-high-performance, 100% server-side Fabric utility engineered to secure server economies by completely blinding client-side X-Ray radars.

Mod Loaders
Fabric
Minecraft
26.2

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Unsupported
Server Required

About

Project Details

Type
Mod
License
All Rights Reserved
Latest Version
1.0.1
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

Source Issues Wiki Discord

About

Description

🐍 ViperAntiXray (1.21.x – 26.x)


🎯 What Is ViperAntiXray?

ViperAntiXray is a server-side only Fabric mod that completely eliminates X-ray cheating by obfuscating chunk packets sent to clients. Unlike texture-pack based solutions or client-side "anti-cheat" mods, ViperAntiXray operates at the network layer — the server sends fake block data for unexposed ores, and only reveals real blocks when players legitimately mine adjacent blocks, trigger explosions, or gain direct line-of-sight.

Key differentiator: Zero client installation required. Vanilla players connect normally and see legitimate world generation. X-ray users see only stone, deepslate, and configurable fake ores.


🛡️ Core Anti-Xray Engine (Unmodified)

The heart of ViperAntiXray is a faithful port of Paper's Async Anti-Xray patch — the same battle-tested engine protecting thousands of Paper/Spigot servers since 1.17. We did not modify the core obfuscation logic. Instead, we wrapped it in a Fabric/Architectury module and extended it with event-driven feature modules.

Engine Modes

Mode Name Behavior Performance Best For
1 Hide Replace all fully obscured (no air around) blocks from hiddenBlocks with blocks from replacementBlocks Lowest CPU Budget servers, basic protection
2 Multiply Replace all blocks from hiddenBlocks and replacementBlocks with random blocks from hiddenBlocks Medium CPU High-value economies, anarchy
3 Smart (Recommended) Works very similar to engine mode 2, but works better with slow connections Medium CPU General purpose, mixed ping

How It Works (Simplified)

Chunk Packet Sent → Async Worker Thread → Palette Analysis → Block Classification
                                                               ↓
                              Reveal? ← Adjacent Air/Transparent? ← Hidden Block?
                                 ↓                                         ↓
                            Yes → Send Real Block              No → Send Fake/Replacement
  • Async processing: Chunk packet transformation runs on dedicated worker threads (configurable pool size)
  • Zero main-thread impact: World generation, entity ticking, and player movement never block on obfuscation
  • Per-dimension config: Each dimension can use different engine modes, heights, and block lists

⚙️ Configuration

File: config/viperantixray-fabric.toml (auto-generated on first run)

Default Configuration

# Default values
enabled = false
usePermission = false

# World specific values
[overworld]
enabled = true
engineMode = 3
maxBlockHeight = 256
updateRadius = 2
lavaObscures = false
hiddenBlocks = ["#c:ores", "raw_copper_block", "raw_iron_block", "raw_gold_block", "!#viperantixray:hidden_only_ores"]
replacementBlocks = ["#viperantixray:hidden_only_ores", "stone", "deepslate", "andesite", "calcite", "diorite", "dirt", "granite", "gravel", "sand", "tuff", "mossy_cobblestone", "obsidian", "clay", "infested_stone", "amethyst_block", "budding_amethyst", "chest"]

[the_nether]
enabled = true
engineMode = 1
maxBlockHeight = 128
updateRadius = 2
lavaObscures = true
hiddenBlocks = ["ancient_debris", "nether_quartz_ore", "nether_gold_ore", "gold_block", "gilded_blackstone"]

Config Option Overview

Option Type Description
enabled bool If set to true, anti-xray will be active in the specified world
engineMode int Can be 1, 2, or 3 — see Engine Modes
maxBlockHeight int Controls the max height at which blocks should get obfuscated
updateRadius int Controls how many blocks away from shown blocks obfuscation should start (if your players see fake ores, increase this value)
lavaObscures bool If true, blocks next to lava will get obscured
hiddenBlocks string[] List of blocks to hide (Engine mode 1) or list of blocks to use for obfuscation (Engine mode 2/3)
replacementBlocks string[] List of blocks that will be obfuscated, but not used as fake blocks (Engine mode 2/3 only)

Note: Blocks / block tags can be prefixed ! to remove them from the block list. Rules are applied left-to-right; removals should be specified after additions. (since 1.4.10)

Custom Dimensions

To configure ViperAntiXray in custom dimensions, specify the dimension ID:

[dimensions."custom:cool_world"]
enabled = true
engineMode = 3
maxBlockHeight = 256
updateRadius = 2
lavaObscures = false
hiddenBlocks = ["#c:ores", "raw_copper_block"]
replacementBlocks = ["stone", "deepslate"]

🛡️ Engine Mode Details

EngineMode 1 — Hide

Replaces all fully obscured (no air around) blocks from hiddenBlocks with blocks from replacementBlocks. Only hidden blocks completely surrounded by other blocks are affected.

EngineMode 2 — Multiply

Replaces all blocks from hiddenBlocks and replacementBlocks with random blocks from hiddenBlocks. Creates a field of fake ores that overwhelm X-ray HUDs.

EngineMode 3 — Smart (Recommended)

Works very similar to engine mode 2, but works better with slow connections. Uses packet coalescing to reduce desync for high-ping players.

Legit Player View

Legit players won't notice any changes when this mod is installed (unless they have high ping or modify a lot of blocks at once, e.g., explosions).


📋 Mod Developers

Ore blocks added to the #viperantixray:hidden_only_ores block tag will be hidden from the world, but not used as fake ore. This is useful if your ore has effects (particles, sounds) that could cause problems.

// data/viperantixray/tags/block/hidden_only_ores.json
{
  "replace": false,
  "values": [
    "mymod:custom_ore",
    "mymod:rare_gem_ore"
  ]
}

✨ What Was Added (11 New Feature Modules)

All features are implemented as independent modules in me.drex.viperantixray.common.features.* — they hook via Fabric events and never touch the core engine.


1. 🍯 Honey-Pot / Fake Ore Traps

Generates fake ore veins deep underground that only X-ray users can see. Mining them instantly flags the cheater.

  • Placement: Configurable density per chunk (default: 0.1% of blocks below Y=16)
  • Blocks: Diamond, Emerald, Ancient Debris, custom ores via tag #viperantixray:honey_pots
  • Detection: When a player mines a honey-pot block:
    • Increments suspicion_score in viperantixray:player_data NBT
    • Sends alert to all ops with viperantixray.alerts permission
    • Optional Discord webhook with embed (player, coords, block, timestamp)
    • Logs to logs/viperantixray/honeypot.log (JSONL format for SIEM ingestion)

2. 📊 Mining Analytics & Suspicion Scoring

Tracks every block break per player, computes Mining Efficiency Ratio (ores/stone), and flags statistical outliers.

  • Metrics: total_blocks_mined, ores_mined (by type), stone_broken, efficiency_ratio = ores / stone, session_time, chunks_visited, depth_distribution
  • Suspicion Algorithm: Rolling mean/stddev per dimension; flagged when efficiency_ratio > mean + (threshold * stddev) (default: 3.5σ)
  • Commands: /viperantixray audit <player>, /viperantixray auditlist

3. 🎯 Proximity & Raycast Decaying

Dynamically disables obfuscation along the player's direct line of sight using fast voxel raycasting.

  • Raycast every N ticks (default: 4 ticks = 5x/sec per player)
  • Radius: Configurable cone angle (default: 15°) and distance (default: 48 blocks)
  • Bandwidth savings: ~40% fewer fake blocks sent to clients on high-pop servers

4. 🔄 Adaptive Engine Modes

Automatically downgrades engine mode under load to prevent ghost blocks, desync, and TPS crashes.

Trigger Condition Action Recovery
Low TPS TPS < 18.0 for 10s Mode 3→2, Mode 2→1 TPS > 19.5 for 30s → upgrade
High Ping Avg ping > 250ms Mode 3→2, Mode 2→1 Ping < 200ms for 60s → upgrade
Packet Queue Async queue > 80% Immediate downgrade Queue < 40% → upgrade
Memory Heap > 85% Mode 3→1 immediately Heap < 70% → upgrade

5. ⚙️ Async Thread Pool

Offloads entire chunk packet obfuscation pipeline off the main thread.

  • Worker threads: Configurable (default: CPU cores / 2, min 2, max 8)
  • Queue: Bounded blocking queue (default: 128 chunks)
  • Backpressure: Falls back to synchronous processing if queue full (logged)

6. 🎯 Sub-Chunk Culling

Restricts obfuscation to sub-chunks (16×16×16) at or below player's Y-level + margin.

  • Culling logic: Only process sections where sectionY <= (playerY >> 4) + cullingMargin
  • Default margin: 2 sections (32 blocks above player)
  • Savings: ~60% fewer palette analyses per chunk packet on surface players

7. 🔇 Sound & Light Concealment

Mutes block sounds for fully encased blocks, defeating sound-based ESP/X-ray.

  • Blocks covered: Amethyst chimes, Sculk vibrations, Lava pops, Pointed dripstone drips
  • Mechanism: Fully surrounded sound-emitting blocks never send the state that triggers sounds

8. 💥 Explosion & Vein-Miner Protection

Batch-reveals all hidden ores in a single packet during large-scale block destruction.

  • Triggers: TNT, beds, respawn anchors, VeinMiner/Excavator, WorldEdit, large creepers
  • Mechanism: Collects changes in 5-tick window, sends ONE consolidated chunk packet
  • Prevents: Ghost stone rendering lag, desync, client FPS drops

9. 🌍 Built-in Dimension Profiles

Zero-config protection for vanilla and popular modded dimensions.

Pre-configured profiles for: Overworld, Nether, End, Deep Dark, Aether, Twilight Forest, Betweenlands (auto-detected if mod present).


10. 👁️ In-Game Admin Inspection

Ops in spectator mode can toggle "Anti-Xray Vision" to see exactly what players see — instantly, no relog.

  • Command: /viperantixray inspect [on|off|toggle]
  • Visual: Obfuscated blocks highlighted with green outline particles (client-side only)
  • HUD: Engine mode, culling status, async queue depth, TPS impact

11. 📝 Live Block List Editing

Modify hidden/replacement blocks at runtime with instant hot-reload — no server restart.

Command Example Description
/viperantixray addhidden <block> addhidden minecraft:copper_ore Add to hidden list
/viperantixray removehidden <block> removehidden minecraft:copper_ore Remove from hidden list
/viperantixray addreplacement <block> addreplacement minecraft:dirt Add to replacement list
/viperantixray removereplacement <block> removereplacement minecraft:dirt Remove from replacement list
/viperantixray listhidden Show current hidden blocks
/viperantixray listreplacements Show current replacement blocks
/viperantixray reload Hot-reload config.toml
  • Supports tags: #c:ores, #minecraft:deepslate_ores, #viperantixray:honey_pots
  • Negation: !#tag removes from list (processed left-to-right)

🔧 Commands Reference

Command Aliases Permission Description
/viperantixray /vx, /antixray viperantixray.admin Show help
/viperantixray status st viperantixray.admin Engine status, TPS, queue, workers
/viperantixray inspect [on|off|toggle] ins viperantixray.inspect Toggle X-ray vision
/viperantixray audit <player> aud viperantixray.admin Show mining stats & suspicion
/viperantixray auditlist audl viperantixray.admin Top 20 suspicious players
/viperantixray addhidden <block> ah viperantixray.admin Add to hidden list
/viperantixray removehidden <block> rh viperantixray.admin Remove from hidden list
/viperantixray addreplacement <block> ar viperantixray.admin Add to replacement list
/viperantixray removereplacement <block> rr viperantixray.admin Remove from replacement list
/viperantixray listhidden lh viperantixray.admin List hidden blocks
/viperantixray listreplacements lr viperantixray.admin List replacement blocks
/viperantixray reload rl viperantixray.admin Hot-reload config
/viperantixray alerts al viperantixray.alerts View honeypot triggers
/viperantixray version ver Show mod version

Permission defaults: All viperantixray.* default to op only. Use LuckPerms to grant to staff roles.


📊 Performance Benchmarks

Tested on: i7-12700K, 32GB DDR5-5600, Paper 1.21.1 baseline, 20 players simulated via Spark profiler

Scenario Players Mode TPS Impact Heap Δ Avg Chunk Latency
Vanilla survival 20 3 <0.5% +12 MB 1.2 ms
High pop 80 3 0.8% +28 MB 2.1 ms
Chunk load storm 50 3 1.2% +15 MB 3.4 ms
Async + Culling 100 3 0.6% +35 MB 1.8 ms
TNT chain (100+) 30 3 1.5% +8 MB 4.2 ms (batched)

🛠️ Installation

Requirements

  • Fabric Loader: 0.14.21+ (1.21.x) / 0.19.3+ (26.x)
  • Fabric API: Matching your Minecraft version
  • Java: 21 (1.21.x) or 25 (26.x)

Steps

  1. Download the correct JAR for your Minecraft version
  2. Place in mods/ folder (server only — client not required)
  3. Start server once → generates config/viperantixray-fabric.toml
  4. Edit config if needed (dimension profiles, honeypot, analytics, etc.)
  5. Run /viperantixray reload or restart
  6. Verify with /viperantixray status

🔄 Migration from Other Anti-Xray

From Paper/Spigot Native

  • Config syntax nearly identical (paper.ymlviperantixray-fabric.toml)
  • Engine modes 1:1 compatible
  • Dimension IDs: worldminecraft:overworld, world_netherminecraft:the_nether, etc.

From Orebfuscator / EngineMode2 / AntiXray (Bukkit)

  • Engine modes map directly
  • Block lists: copy hidden-materialshiddenBlocks, replacement-materialsreplacementBlocks
  • No more update-radius per-world — now per-dimension in TOML

From Client-Side Mods

  • No client changes needed — ViperAntiXray is 100% server-side
  • Remove client mods from player packs to reduce confusion

❓ Troubleshooting / FAQ

Q: Players see "ghost blocks" / blocks reappear after mining
A: Increase updateRadius in dimension config (default 2). High ping players may need 3-4. Check /viperantixray status for async queue depth.

Q: TPS drops when many players join
A: Enable async.enabled=true, increase async.workerThreads, reduce culling.marginSections to 1.

Q: Honeypots not triggering
A: Verify honeypot.enabled=true, check honeypot.minY/maxY matches world height, ensure hiddenBlocks includes target ores.

Q: Modded ores not hidden
A: Add to hiddenBlocks in dimension config, or use #viperantixray:hidden_only_ores tag in your mod's data pack.

Q: Config changes not applying
A: Run /viperantixray reload — some settings (engine mode, block lists) hot-reload; dimension add/remove requires restart.


Note: The previous release was broken (wrong author metadata, missing version fields, bloated source zips with build artifacts). This version is a complete rebuild from source with all fixes applied.


Built by TOP_G2026 🐍
Shielding Your Community Across Every Era

Screenshots

Gallery

  • Example for non-cheating players💫
    Example for non-cheating players💫
  • How we deal with cheaters 👾
    How we deal with cheaters 👾

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
CurseForge
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works