- Setback System: Teleports flagged players to lastSafeLocation (opt-in per check) - TPS Lag Compensation: isServerLagging() helper, guards in Fly/Spider/Glide checks - Universal Buffer System: Buffer fields for Jesus/Reach/KillAura/Timer/FastPlace/Scaffold/FastEat - /xac debug command: Shows check-specific debug info for players - Public API: XACApi with isFlagged(), getViolationLevel(), getTotalViolations(), isBypassed() - Performance Metrics: /xac stats command with checks/flags/punishments tracking
186 lines
5.2 KiB
YAML
186 lines
5.2 KiB
YAML
name: XeroAntiCheat
|
|
version: 1.2.0
|
|
main: com.xeroth.xeroanticheat.XeroAntiCheat
|
|
author: Xeroth
|
|
description: Lightweight, accurate anti-cheat for Paper 1.21.x
|
|
api-version: 1.21
|
|
softdepend:
|
|
- ProtocolLib
|
|
|
|
commands:
|
|
xac:
|
|
description: XeroAntiCheat main command
|
|
usage: /xac <reload|status|punish|clearviolations|verbose|alerts|version>
|
|
permission: xac.command.version
|
|
aliases: [xeroanticheat, anticheat]
|
|
|
|
permissions:
|
|
|
|
# ── Wildcards ────────────────────────────────────────────────────────────
|
|
|
|
xac.*:
|
|
description: Grants all XeroAntiCheat permissions including bypass
|
|
default: false
|
|
children:
|
|
xac.admin: true
|
|
xac.bypass: true
|
|
|
|
xac.admin:
|
|
description: Grants all staff commands and alert access (does NOT grant bypass)
|
|
default: op
|
|
children:
|
|
xac.command.reload: true
|
|
xac.command.status: true
|
|
xac.command.punish: true
|
|
xac.command.clearviolations: true
|
|
xac.command.verbose: true
|
|
xac.command.alerts: true
|
|
xac.command.version: true
|
|
xac.alerts: true
|
|
|
|
# ── Commands ─────────────────────────────────────────────────────────────
|
|
|
|
xac.command.reload:
|
|
description: Reload XAC configuration
|
|
default: op
|
|
|
|
xac.command.status:
|
|
description: View a player's violation levels and ping
|
|
default: op
|
|
|
|
xac.command.punish:
|
|
description: Manually trigger a punishment for a player
|
|
default: op
|
|
|
|
xac.command.clearviolations:
|
|
description: Clear all violation levels for a player
|
|
default: op
|
|
|
|
xac.command.verbose:
|
|
description: Toggle verbose per-flag output for a specific player
|
|
default: op
|
|
|
|
xac.command.alerts:
|
|
description: Toggle receiving anti-cheat alerts in chat
|
|
default: op
|
|
|
|
xac.command.version:
|
|
description: Show the plugin version
|
|
default: true
|
|
|
|
# ── Alerts ───────────────────────────────────────────────────────────────
|
|
|
|
xac.alerts:
|
|
description: Receive alerts for all checks
|
|
default: op
|
|
children:
|
|
xac.alerts.movement: true
|
|
xac.alerts.combat: true
|
|
xac.alerts.misc: true
|
|
|
|
xac.alerts.movement:
|
|
description: Receive alerts for movement checks only
|
|
default: false
|
|
|
|
xac.alerts.combat:
|
|
description: Receive alerts for combat checks only
|
|
default: false
|
|
|
|
xac.alerts.misc:
|
|
description: Receive alerts for misc checks only
|
|
default: false
|
|
|
|
# ── Bypass ───────────────────────────────────────────────────────────────
|
|
|
|
xac.bypass:
|
|
description: Bypass all anti-cheat checks
|
|
default: false
|
|
children:
|
|
xac.bypass.movement: true
|
|
xac.bypass.combat: true
|
|
xac.bypass.misc: true
|
|
|
|
xac.bypass.movement:
|
|
description: Bypass all movement checks
|
|
default: false
|
|
children:
|
|
xac.bypass.speed: true
|
|
xac.bypass.fly: true
|
|
xac.bypass.jesus: true
|
|
xac.bypass.nofall: true
|
|
xac.bypass.timer: true
|
|
xac.bypass.spider: true
|
|
xac.bypass.glide: true
|
|
xac.bypass.phase: true
|
|
|
|
xac.bypass.combat:
|
|
description: Bypass all combat checks
|
|
default: false
|
|
children:
|
|
xac.bypass.killaura: true
|
|
xac.bypass.reach: true
|
|
xac.bypass.critical: true
|
|
xac.bypass.autoclicker: true
|
|
xac.bypass.velocity: true
|
|
|
|
xac.bypass.misc:
|
|
description: Bypass all miscellaneous checks
|
|
default: false
|
|
children:
|
|
xac.bypass.fastplace: true
|
|
xac.bypass.scaffold: true
|
|
xac.bypass.fasteat: true
|
|
xac.bypass.inventorymove: true
|
|
|
|
xac.bypass.speed:
|
|
description: Bypass SpeedCheck
|
|
default: false
|
|
xac.bypass.fly:
|
|
description: Bypass FlyCheck
|
|
default: false
|
|
xac.bypass.jesus:
|
|
description: Bypass JesusCheck
|
|
default: false
|
|
xac.bypass.nofall:
|
|
description: Bypass NoFallCheck
|
|
default: false
|
|
xac.bypass.timer:
|
|
description: Bypass TimerCheck
|
|
default: false
|
|
xac.bypass.spider:
|
|
description: Bypass SpiderCheck
|
|
default: false
|
|
xac.bypass.glide:
|
|
description: Bypass GlideCheck
|
|
default: false
|
|
xac.bypass.phase:
|
|
description: Bypass PhaseCheck
|
|
default: false
|
|
xac.bypass.killaura:
|
|
description: Bypass KillAuraCheck
|
|
default: false
|
|
xac.bypass.reach:
|
|
description: Bypass ReachCheck
|
|
default: false
|
|
xac.bypass.critical:
|
|
description: Bypass CriticalCheck
|
|
default: false
|
|
xac.bypass.autoclicker:
|
|
description: Bypass AutoClickerCheck
|
|
default: false
|
|
xac.bypass.velocity:
|
|
description: Bypass VelocityCheck (requires ProtocolLib)
|
|
default: false
|
|
xac.bypass.fastplace:
|
|
description: Bypass FastPlaceCheck
|
|
default: false
|
|
xac.bypass.scaffold:
|
|
description: Bypass ScaffoldCheck
|
|
default: false
|
|
xac.bypass.fasteat:
|
|
description: Bypass FastEatCheck
|
|
default: false
|
|
xac.bypass.inventorymove:
|
|
description: Bypass InventoryMoveCheck
|
|
default: false
|