Description
[INDL] Xray Detected: The Ultimate Resource Pack Guardian
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.
🚀 Why choose INDL Xray Detected?
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.
🔍 Advanced Detection Engine
- JSON Model Analysis: Identifies hidden
/xray/folders and transparent model definitions. - Blockstate Surveillance: Scans for redirects to illegal transparent models.
- Smart Transparency Check: Analyzes PNG files for suspicious transparency on solid blocks like Stone, Deepslate, or Dirt.
- SHA-256 Hash Database:** Instantly detects known X-Ray textures by their unique hash signature.
- pack.mcmeta Analysis:** Scans pack descriptions for suspicious keywords like "xray", "cheat", or "wallhack".
- Deep Mod Support: Ready for the most popular mods including Aether, Biomes O' Plenty, and Create.
⚡ Key Features
- ✅ Automatic Scans: Runs instantly when a player joins and at configurable intervals.
- ✅ Real-Time Staff Alerts: Detailed notifications for OPs with the exact reason for detection.
- ✅ Bypass Proof: Detects X-Ray regardless of the filename.
- ✅ Zero Lag: Optimized code with async scanning and smart caching.
- ✅ Fully Configurable: Customize keywords, whitelist trusted packs, and set scan times.
- ✅ Progressive Strike System: Give players fair warnings before kick/ban.
- ✅ Smart Scan Cache: Avoid re-scanning unchanged packs for better performance.
- ✅ Global Statistics: Track total scans, detections, kicks, and bans.
- ✅ Admin Scan Command: Force a rescan on any player instantly.
- ✅ Rate Limiting: Prevents report spam and DoS attacks.


� SHA-256 Hash Detection (NEW in v1.1.0)
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!
Detection Flow
Texture Found
↓
Calculate SHA-256 Hash
↓
Exists in Database?
↓ ↓
YES NO
↓ ↓
🔴DETECTED🔴 Analyze Transparency
↓
Is Transparent?
↓
YES → Add hash + 🔴DETECTED🔴
NO → ✅ OK
Self-Learning Database 🧠
When a suspicious transparent texture is detected, its hash is automatically added to the database. Next time, it's detected instantly without image analysis!
Custom Hashes
You can add your own hashes to: config/xraydetected/known_hashes.txt
# Format: hash,description
a3f8b2c1d4e5f6789...,Popular Xray Pack v2
b7c9d0e1f2a3b4c5...,Stone Transparent Texture
Performance Comparison
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).
�🛡️ Progressive Strike System (NEW in v1.1.0)
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).
🛠️ Commands & Permissions
| 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.
⚙️ Configuration
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
📊 Global Statistics (NEW in v1.1.0)
Track your server's security with /xraydetected stats:
- Total scans performed
- Total detections
- Total kicks & bans
- Most frequently detected packs
- Daily statistics
⚠️ Important Notes
- Players must have the mod installed client-side for scanning to work.
- The mod acts as a "Trust System" for your community.
- False positives are rare and can be easily handled via the
whitelistin the config file. - v1.1.0 requires deleting your old config file to generate the new options.


