XRAYPROTECT | ADVANCED ANTI-XRAY IN SKRIPT
XRayProtect is an advanced Anti-XRay system developed in Skript.
Instead of simply hiding ores, it analyzes mining behavior, assigns a suspicion score, can display fake client-side ores to suspicious players, saves usable evidence, keeps a lifetime history, supports staff notes, and offers configurable progressive punishments.
The system is designed for Survival, SMP, Economy, Prison, Factions, Semi-RP servers, and more generally for any server that wants a smarter, more staff-friendly, and more configurable Anti-XRay system than a simple ore hider.
MAIN FEATURES
- Anti-XRay suspicion score
- Suspicion levels: low / medium / high / critical
- Suspicious mining detection on hidden ores
- Fake Vision for suspicious players
- Decoys for heavier cases
- TopLuck system
- Complete evidence history
- Lifetime player record
- Staff notes
- Staff panel
- Configurable progressive punishments
- Staff Auto-TP on highly suspicious players
- Fully customizable messages
- Configurable date / time format
HOW THE DETECTION WORKS:
XRayProtect does not punish a player simply because they find diamonds.
The Skript builds a suspicion score using several factors:
- hidden ore discoveries
- mining behavior
- abnormal ore chains
- suspicious camera movements
- unusual detours
- broken fake ores
- TopLuck ratios
FAKE VISION:
When a player reaches a certain threshold, XRayProtect can display fake ores that are only visible to that player.
These blocks:
- do not modify the real world
- are used to check if the player mines what they “should not be able to see”
- can be refreshed automatically
- are automatically cleaned when they are no longer useful
- the break is cancelled
- the fake ore is removed
- the fake ore counter increases
- the suspicion score increases
- evidence is saved
- punishments can be triggered
DECOYS:
The Decoy system adds an extra layer for even more suspicious players.
It is a more aggressive check than the classic Fake Vision system, useful when a player has already accumulated a high suspicion score.
TOPLUCK:
XRayProtect includes a TopLuck system.
It compares the number of rare ores found by a player with their overall mining activity.
This helps detect players who find too many valuable ores compared to the amount of normal blocks they mine.
By default, the system tracks:
- Diamond
- Gold
- Emerald
- Ancient Debris
- Lapis
STAFF TOOLS:
/XRAYCHECK <PLAYER>
Quick player check:
- score
- level
- mined fake ores
- last suspicious activity
- fake vision / decoy status
- daily / weekly total
- max TopLuck
/XRAYRECORD <PLAYER>
Detailed player record:
- current score
- suspicion level
- mined fake ores
- repeat offenses
- world / coordinates
- current tool
- enchants
- detailed TopLuck
/XRAYHISTORY <PLAYER>
Usable history,
- first detection
- resets
- punishments
- lifetime mined fake ores
- evidence
- staff notes
/XRAYSTAFFNOTE <PLAYER> <NOTE>
Adds a staff note to the player’s record./XRAYPANEL
Opens a staff panel with global system statistics.
PROGRESSIVE PUNISHMENTS:
The system does not instantly go for a permanent automatic ban.
By default:
- 3 fake ores → warning
- 5 fake ores → strong staff alert
- 6 fake ores → inventory clear
- 7 fake ores → kick
- 8 fake ores → tempban
STAFF AUTO-TP:
XRayProtect can notify selected staff members when a player becomes highly suspicious.
After a configurable delay, the selected staff member can be:
- warned
- automatically teleported
- optionally switched to spectator mode
DETAILED CONFIG.YML CONFIGURATION:
The config.yml file is the main system file.
This is where you configure:
- detection thresholds
- Fake Vision
- Decoys
- TopLuck
- punishments
- staff Auto-TP
- date / time format
1) TOPLUCK.THRESHOLDS:
This section defines the 4 TopLuck levels for each ore.
Example:
topluck:
thresholds:
diamond:
'1': 30
'2': 60
'3': 90
'4': 120
WHAT IT DOES
If a player mines many diamonds, they can increase their TopLuck level.
The higher the level, the more the system considers their mining behavior abnormal.
HOW TO CONFIGURE IT
- stricter → lower the values
- more tolerant → increase the values
ORES TRACKED BY DEFAULT
- diamond
- gold
- emerald
- ancient_debris
- lapis
2) DATETIME:
This section controls the date and time format saved in:
- evidence
- staff notes
- punishments
- player records
EXPLANATION
- pattern → display format
- locale → language / local style
- zone → time zone
USEFUL EXAMPLES
FRENCH 24H FORMAT:
datetime:
pattern: "dd/MM/yyyy, HH'h'mm"
locale: "fr-FR"
zone: "Europe/Paris"
Display:
02/05/2026, 23h19
US 12H FORMAT:
datetime:
pattern: "MM/dd/yyyy, hh:mm a"
locale: "en-US"
zone: "America/New_York"
Display:
05/02/2026, 11:19 PM
3) NOTIFY:
This section defines the main staff permission.
notify:
permission: antixray.notify
Players with this permission can receive alerts and use the main staff tools.
4) SAVE:
save:detect-interval-seconds: 60
This value defines how often the detection snapshot is saved.
HOW TO CONFIGURE IT
- more frequent → lower the value
- lighter for the server → increase the value
5) FAKEVISION:
Example:
fakevision:
spawn-chance: 18
min-dist: 22
max-dist: 34
keep-min: 3
target: 5
prune-behind: 20
EXPLANATION OF EACH OPTION:
- spawn-chance → chance for a valid block to become a fake ore
- min-dist → minimum distance between the player and a fake ore
- max-dist → maximum distance
- keep-min → minimum number of fake ores to keep in front of the player
- target → targeted amount of fake ores
- prune-behind → distance behind the player from which fake ores are removed
TIPS
To reduce server load:- lower target
- lower max-dist
- lower keep-min
- increase spawn-chance
- increase target
6) DECOY:
Example:
decoy:
spawn-chance: 12
min-dist: 20
max-dist: 28
This section controls the additional decoys triggered on more suspicious players.
TIPS
If you want to make the system lighter:- lower spawn-chance
- lower max-dist
7) THRESHOLDS:
Example:
thresholds:
medium: 12
high: 20
critical: 30
fakevision: 22
decoy: 28
EXPLANATION
- medium → player becomes medium suspicion
- high → player becomes high suspicion
- critical → player becomes critical suspicion
- fakevision → Fake Vision activation
- decoy → Decoy activation
EXAMPLE WITH THESE VALUES
- 1 to 11.99 → low
- 12 to 19.99 → medium
- 20 to 29.99 → high
- 30+ → critical
HOW TO CONFIGURE IT
- stricter → lower the thresholds
- more permissive → increase the thresholds
8) SANCTIONS.FAKE-BREAKS.SCORE-ADD:
Example:
sanctions:
fake-breaks:
score-add: 6
Each broken fake ore adds this amount to the Anti-XRay score.
HOW TO CONFIGURE IT:
- harsher → increase the value
- more progressive → lower the value
9) SANCTIONS.STAGES:
Example:
sanctions:
stages:
notice:
enabled: true
at: 3
staff_strong:
enabled: true
at: 5
clear_inventory:
enabled: true
at: 6
kick:
enabled: true
at: 7
command: "kick {player} {reason}"
tempban:
enabled: true
at: 8
command: "tempban {player} 30d {reason}"
EXPLANATION
- enabled → enables or disables the stage
- at → required number of fake ores
- command → command executed by the console
AVAILABLE PLACEHOLDERS
- {player}
- {reason}
EXAMPLE OF A STRICTER SETUP
notice:enabled: true
at: 2
staff_strong:
enabled: true
at: 4
clear_inventory:
enabled: true
at: 5
kick:
enabled: true
at: 6
tempban:
enabled: true
at: 7
10) AUTOTP:
Example:
autotp:
enabled: true
permission: antixray.autotp
require-optin: true
delay-seconds: 15
cooldown-seconds: 120
tp-y-offset: 5
force-spectator: false
EXPLANATION
- enabled → enables or disables Auto-TP
- permission → required permission
- require-optin → if true, staff must manually enable the option
- delay-seconds → delay before teleporting
- cooldown-seconds → prevents spam
- tp-y-offset → teleport height above the suspect
- force-spectator → automatically puts the staff member in spectator mode
RECOMMENDED PRODUCTION SETUP
autotp:enabled: true
permission: "antixray.autotp"
require-optin: true
delay-seconds: 4
cooldown-seconds: 120
tp-y-offset: 6
force-spectator: false
WHAT THE OTHER YAML FILES ARE USED FOR:
MESSAGES.YML
This is the translation / message customization file.In short:
Edit messages.yml to change the displayed texts.
DETECTPLAYER.YML
This is the current snapshot file.In short:
It keeps the current state of the monitored player.
XRAY_PLAYERS.YML
This is the lifetime player record file.
In short:
It stores the complete and permanent history of the player.
COMMANDS:
/xrayreload
/xrayrecord <player>
/xraycheck <player>
/xrayhistory <player>
/xraypanel
/topluck <player> <ore>
/xrayresetscore <player>
/topluckreset <player>
/xraystaffnote <player> <note>
/xrayfixnames [player]
/xrayautotp
INSTALLATION:
- Install Skript and the required addons.
- Place the .sk files into your scripts folder.
- Reload the pack.
- Configure config.yml.
- Edit messages.yml if you want to translate or customize the messages.
- Give antixray.notify to your staff.
- Give antixray.autotp to the selected staff members.
- Use the staff commands to monitor players.
FAQ:
IS THE SYSTEM HEAVY FOR THE SERVER?Like any advanced system made in Skript, it requires a minimum amount of optimization.
You can make it lighter by reducing distances, the number of fake ores, decoys, and the save frequency.
DOES XRAYPROTECT REPLACE A CLASSIC ANTI-CHEAT?
No, not completely.
XRayProtect is mainly an Anti-XRay detection, evidence, and moderation system. It is not designed to replace a general-purpose anti-cheat that handles all types of cheating.
DOES THE SYSTEM KEEP HISTORY EVEN AFTER A SCORE RESET?
Yes.
Even if the current score is reset, the lifetime player record keeps evidence, past punishments, staff notes, first detection, reset count, and the total number of mined fake ores.
WHAT HAPPENS IF THE TARGET IS NO LONGER AVAILABLE WHEN STAFF TP TRIGGERS?
The teleportation is cleanly cancelled.
The system already handles this case to avoid errors or useless teleports.
ARE STAFF NOTES REALLY SAVED IN THE PLAYER RECORD?
Yes.
Notes are saved in the player’s lifetime record with the author and time, and can be checked later in the history.
CAN THE DATE FORMAT BE ADAPTED TO MY COUNTRY?
Yes.
The config.yml lets you configure the pattern, locale, and time zone. You can display dates in 24-hour format, 12-hour format, or in a format adapted to your country.
IS THE SYSTEM DESIGNED TO HELP STAFF VERIFY BEFORE PUNISHING?
Yes.
The whole structure is built for that: quick check, full record, usable history, staff notes, detailed evidence, and strong suspicion alerts before the heavier punishment stages.
DOES THE SYSTEM AUTOMATICALLY AND PERMANENTLY BAN PLAYERS?
No.
The current logic is progressive. The system can warn, alert staff, clear the inventory, kick, or tempban, but permanent bans are not forced automatically in the default configuration.
DO FAKE ORES REALLY MODIFY THE WORLD?
No.
Fake ores and decoys are displayed client-side only to the suspicious player. The real world is not modified.
IS THE SYSTEM MADE TO PUNISH WITHOUT EVIDENCE?
No.
The goal of the Skript is precisely to provide concrete information to the staff: score, history, evidence, notes, stages, and verification tools.
