File Details
[INDL] Xray-detected_1.1.0.jar
- R
- Feb 7, 2026
- 67.46 KB
- 2.0K
- 1.20.1
- Forge
File Name
indl_xray_detected-1.1.0.jar
Supported Versions
- 1.20.1
Curse Maven Snippet
Changelog v1.1.0
🔐 Security
- Network Packet Validation: Added input validation with max 256 chars per string and 10 packs limit
- Input Sanitization: Dangerous characters are now filtered from reports
- Rate Limiting: Players limited to 1 report per 30 seconds, max 10 per session
🔍 Detection
- SHA-256 Hash Database: Instantly detect known X-Ray textures by their unique hash
- Self-Learning System: Detected textures are automatically added to the hash database
- pack.mcmeta Analysis: Scan pack descriptions for suspicious keywords
- Custom Hash File: Add your own hashes via
config/xraydetected/known_hashes.txt
⚡ Performance
- Async Scanning: Scans now run on a dedicated thread pool (no main thread lag)
- Smart Cache: Skip re-scanning unchanged resource packs
- ZIP Entry Limit: Configurable limit prevents lag from malicious oversized packs
🛡️ Strike System
- Progressive Warnings: Players get fair warnings before kick/ban
- Configurable Thresholds: Set strikes needed for kick (default: 2) and ban (default: 3)
- Auto-Reset: Strikes reset after configurable time (default: 1 week)
- Persistent Storage: Strikes saved to
config/xraydetected/strikes.json
🛠️ New Commands
/xraydetected scan <player>- Force immediate rescan on a player/xraydetected stats- View global detection statistics/xraydetected strikes <player>- View player's strike count/xraydetected strikes <player> clear- Reset player's strikes
📊 Statistics
- Track total scans, detections, kicks, and bans
- View most frequently detected packs
- Daily statistics with persistent storage
⚙️ New Config Options
[detection]
useHashDatabase = true
analyzePackMcmeta = true
[performance]
maxZipEntries = 5000
useScanCache = true
[strikes]
useStrikeSystem = true
strikesBeforeKick = 2
strikesBeforeBan = 3
strikeResetHours = 168

