promotional bannermobile promotional banner
premium banner
Advanced server-side anti-cheat that detects X-Ray resource packs by scanning client-side models and textures.

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.

Ejemplo1

image


� 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 whitelist in the config file.
  • v1.1.0 requires deleting your old config file to generate the new options.