COWMODSКаталог модов

Viper AntiXray

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

7,3 тыс.3обновлён 1 окт. 2026 г.
УправлениеТехнологииУтилиты

Описание

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 for per tick packet precisison, to eliminate fake ore discovery even on high ping. 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

ModeNameBehaviorPerformanceBest For
1HideReplace all fully obscured (no air around) blocks from hiddenBlocks with blocks from replacementBlocksLowest CPUBudget servers, basic protection
2MultiplyReplace all blocks from hiddenBlocks and replacementBlocks with random blocks from hiddenBlocksMedium CPUHigh-value economies, anarchy
3Smart (Recommended)Works very similar to engine mode 2, but works better with slow connectionsMedium CPUGeneral 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

Enhance your server setup! Check out my other server-side mods over at : Fabric Server Essentials


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

OptionTypeDescription
enabledboolIf set to true, anti-xray will be active in the specified world
engineModeintCan be 1, 2, or 3 see Engine Modes
maxBlockHeightintControls the max height at which blocks should get obfuscated
updateRadiusintControls how many blocks away from shown blocks obfuscation should start (if your players see fake ores, increase this value)
lavaObscuresboolIf true, blocks next to lava will get obscured
hiddenBlocksstring[]List of blocks to hide (Engine mode 1) or list of blocks to use for obfuscation (Engine mode 2/3)
replacementBlocksstring[]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.

TriggerConditionActionRecovery
Low TPSTPS < 18.0 for 10sMode 32, Mode 21TPS > 19.5 for 30s upgrade
High PingAvg ping > 250msMode 32, Mode 21Ping < 200ms for 60s upgrade
Packet QueueAsync queue > 80%Immediate downgradeQueue < 40% upgrade
MemoryHeap > 85%Mode 31 immediatelyHeap < 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 (161616) 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.

CommandExampleDescription
/viperantixray addhidden <block>addhidden minecraft:copper_oreAdd to hidden list
/viperantixray removehidden <block>removehidden minecraft:copper_oreRemove from hidden list
/viperantixray addreplacement <block>addreplacement minecraft:dirtAdd to replacement list
/viperantixray removereplacement <block>removereplacement minecraft:dirtRemove from replacement list
/viperantixray listhiddenShow current hidden blocks
/viperantixray listreplacementsShow current replacement blocks
/viperantixray reloadHot-reload config.toml
  • Supports tags: #c:ores, #minecraft:deepslate_ores, #viperantixray:honey_pots
  • Negation: !#tag removes from list (processed left-to-right)

Commands Reference

CommandAliasesPermissionDescription
/viperantixray/vx, /antixrayviperantixray.adminShow help
/viperantixray statusstviperantixray.adminEngine status, TPS, queue, workers
/viperantixray inspect [on|off|toggle]insviperantixray.inspectToggle X-ray vision
/viperantixray audit <player>audviperantixray.adminShow mining stats & suspicion
/viperantixray auditlistaudlviperantixray.adminTop 20 suspicious players
/viperantixray addhidden <block>ahviperantixray.adminAdd to hidden list
/viperantixray removehidden <block>rhviperantixray.adminRemove from hidden list
/viperantixray addreplacement <block>arviperantixray.adminAdd to replacement list
/viperantixray removereplacement <block>rrviperantixray.adminRemove from replacement list
/viperantixray listhiddenlhviperantixray.adminList hidden blocks
/viperantixray listreplacementslrviperantixray.adminList replacement blocks
/viperantixray reloadrlviperantixray.adminHot-reload config
/viperantixray alertsalviperantixray.alertsView honeypot triggers
/viperantixray versionverShow 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

ScenarioPlayersModeTPS ImpactHeapAvg Chunk Latency
Vanilla survival203<0.5%+12 MB1.2 ms
High pop8030.8%+28 MB2.1 ms
Chunk load storm5031.2%+15 MB3.4 ms
Async + Culling10030.6%+35 MB1.8 ms
TNT chain (100+)3031.5%+8 MB4.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.yml viperantixray-fabric.toml)
  • Engine modes 1:1 compatible
  • Dimension IDs: world minecraft:overworld, world_nether minecraft:the_nether, etc.

From Orebfuscator / EngineMode2 / AntiXray (Bukkit)

  • Engine modes map directly
  • Block lists: copy hidden-materials hiddenBlocks, replacement-materials replacementBlocks
  • 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.

Галерея

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

Последние версии

Все версии →
release

Viper AntiXray 1.0.3

1.0.3
1 окт. 2026 г.240Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
Engine mode 3 now behaves exactly like mode 2 (per-block fake ores).
release

Viper AntiXray 1.0.3

1.0.3
1 окт. 2026 г.703Minecraft: 26.2fabric
Скачать
Что нового
Engine mode 3 now behaves exactly like mode 2 (per-block fake ores).
release

Viper AntiXray 1.0.3

1.0.3
1 окт. 2026 г.1,1 тыс.Minecraft: 26.3fabric
Скачать
Что нового
Engine mode 3 now behaves exactly like mode 2 (per-block fake ores).
release

Viper AntiXray 1.0.2 with bugfixes

1.0.3
1 окт. 2026 г.1 тыс.Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric
Скачать
Что нового
Fixes startup crash (wrong entrypoint package) and makes engine mode 3 behave exactly like mode 2.
release

Viper AntiXray 1.0.2

1.0.2
30 сент. 2026 г.23Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric
Скачать
Что нового
Version alignment re-release (no code changes since 1.0.1).
release

Viper AntiXray 1.0.2

1.0.2
30 сент. 2026 г.14Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
C2ME/VMP hardening: palette hooks are now scope-guarded so async chunk IO can never crash serialization.
release

Viper AntiXray 1.0.2

1.0.2
30 сент. 2026 г.15Minecraft: 26.2fabric
Скачать
Что нового
C2ME/VMP hardening: palette hooks are now scope-guarded so async chunk IO can never crash serialization.
release

Viper AntiXray 1.0.2

1.0.2
30 сент. 2026 г.29Minecraft: 26.3fabric
Скачать
Что нового
Fixes server-tick crash (unbound ScopedValue) in disabled worlds. Record-safe packet hooks, Poplar camouflage for Dappled Forest, C2ME/VMP-hardened palette hooks.
release

1.0.0

1.0.0
17 сент. 2026 г.446Minecraft: 26.3fabric
Скачать
Что нового
- **Support for 26.3**
release

Viper AntiXray 1.0.1

1.0.1
24 июл. 2026 г.1,3 тыс.Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric
Скачать
Что нового
## What Was Added (11 Features — All *Separate Modules*, Core Engine **Untouched**) * **Honey-Pot / Fake Ore Traps** — Fake ores only X-rayers see; mining flags player, alerts ops, Discord webhook * **Mining Analytics** — Tracks Mining Efficiency Ratio; impossible ratios auto-flag with suspicion rating * **Proximity & Raycast Decaying** — Dynamic LOS obfuscation saves ~40% bandwidth * **Adaptive Engine Modes** — Auto-downgrades Mode 3→2→1 if TPS < 18 or ping > 250ms * **Async Thread Pool** — Offloads chunk obfuscation off main thread; configurable workers * **Sub-Chunk Culling** — Only processes sub-chunks at/below player Y-level * **Sound & Light Concealment** — Mutes Amethyst/Sculk/Lava sounds for fully-encased blocks * **Explosion & Vein-Miner Protection** — Batch-reveals hidden ores in single packet * **Built-in Dimension Profiles** — Overworld/Nether/End/Deep Dark + modded dims (Aether, Twilight Forest, Betweenlands) * **In-Game Admin Inspection** — `/viperantixray inspect` toggles vision instantly for ops * **Live Block List Editing** — `/viperantixray addhidden|removehidden|listhidden|reload` with instant hot-reload --- **Previous release was broken** (wrong author, missing version metadata, bloated zips). This is a **complete rebuild from source** with all fixes applied. 🐍