Stop cheaters in their tracks! INDL Xray Detected is a powerful, lightweight anti-cheat solution designed to keep your server fair by detecting X-Ray resource packs in real-time.
Unlike simple name-checkers, this mod performs a deep scan of the client's resource pack structure. Even if a player renames their X-Ray pack to "Faithful" or "Default", our engine will find the hidden transparent textures and suspicious models.
/xray/ folders and transparent model definitions.

Each texture has a unique "fingerprint" called a SHA-256 hash. Even if a cheater renames their X-Ray pack, the hash remains the same!
stone.png (transparent xray texture) → Hash: "a3f8b2c1..."
piedra.png (same file renamed) → Hash: "a3f8b2c1..." ✅ DETECTED!
Texture Found
↓
Calculate SHA-256 Hash
↓
Exists in Database?
↓ ↓
YES NO
↓ ↓
🔴DETECTED🔴 Analyze Transparency
↓
Is Transparent?
↓
YES → Add hash + 🔴DETECTED🔴
NO → ✅ OK
When a suspicious transparent texture is detected, its hash is automatically added to the database. Next time, it's detected instantly without image analysis!
You can add your own hashes to: config/xraydetected/known_hashes.txt
# Format: hash,description
a3f8b2c1d4e5f6789...,Popular Xray Pack v2
b7c9d0e1f2a3b4c5...,Stone Transparent Texture
Without Hash DB: Analyzes every pixel (50-100 ms per texture, CPU intensive).
With Hash DB: Compares 64-character string (0.1 ms per texture, nearly no impact).
Instead of immediate punishment, the mod can use a fair warning system:
| Strike | Action |
|---|---|
| 1st | ⚠️ Warning message to player |
| 2nd | 🔴 Auto-kick (configurable) |
| 3rd | 🚫 Auto-ban (configurable) |
Strikes reset automatically after a configurable time period (default: 1 week).
| Command | Alias | Description |
|---|---|---|
/xraydetected help |
/xrd help |
Show help menu. |
/xraydetected status |
/xrd status |
View current mod configuration and status. |
/xraydetected list <player> |
/xrd list |
View a player's detection history. |
/xraydetected clear <player> |
/xrd clear |
Clear a player's detection history. |
/xraydetected kick <player> [reason] |
/xrd kick |
Kick a player from the server. |
/xraydetected ban <player> [reason] |
/xrd ban |
Ban a player from the server. |
/xraydetected reload |
/xrd reload |
Reload configuration and clear caches. |
/xraydetected scan <player> |
/xrd scan |
Force an immediate rescan on a player. |
/xraydetected stats |
/xrd stats |
View global detection statistics. |
/xraydetected strikes <player> |
/xrd strikes |
View a player's current strike count. |
/xraydetected strikes <player> clear |
/xrd strikes |
Reset a player's strikes to zero. |
Note: All commands require OP Level 2 or higher.
File Path: config/xraydetected-common.toml
The mod is highly customizable. You can decide if you only want to receive alerts or if the mod should take automatic action against cheaters.
[detection]
keywords = ["xray", "x-ray", "ore-finder", "cheat", "fullbright", "wallhack"]
whitelist = ["raytracing", "rtx", "seus", "bsl"]
scanPackContent = true
checkIntervalMinutes = 5
useHashDatabase = true # Detect known xray hashes instantly
analyzePackMcmeta = true # Scan pack descriptions for suspicious keywords
[performance]
maxZipEntries = 5000 # Limit ZIP scan depth (prevents lag from malicious packs)
useScanCache = true # Cache results to avoid redundant scans
[actions]
notifyAdmins = true # Alert OPs in real-time
autoKick = false # Automatically kick the player
autoBan = false # Automatically ban the player (USE WITH CAUTION!)
actionDelaySeconds = 10
[strikes]
useStrikeSystem = true # Enable progressive warnings
strikesBeforeKick = 2 # Strikes needed for auto-kick
strikesBeforeBan = 3 # Strikes needed for auto-ban
strikeResetHours = 168 # Reset strikes after 1 week
[logging]
logToFile = true
logToConsole = true
Track your server's security with /xraydetected stats:
whitelist in the config file.