Paragon Anticheat
1.2The best free anticheat plugin. Anticheat plugin with modern checks for 1.21.11
Paragon Anticheat

Packet based anticheat for Paper 1.21.11. 63 checks, silent mod detection with per mod kicks on the very first join, seed protection, screenshare tools, raytrace anti xray plus anti freecam, and active mitigations that make cheats stop working instead of only flagging them.
Paragon watches packets, not clicks. Movement runs through a physics simulation, combat runs through statistics, and clients run through a silent translation probe that catches cheat mods with zero signs, zero editors and zero interaction. Built to be brutal on cheaters and invisible to legit players, on Java and Bedrock alike.
WHY PARAGON
MOD BLOCKER - Meteor, Wurst and 140 plus known mods get kicked on first join with the mod names on the screen (visible to those with permission).
FALSE FLAG RESISTANT - Buffered Checks, Ping Scaling, Lag Leniency and variance gates. One fast moment never punishes anyone. Only machine consistent repetition does. It's tuned to minimize false flags.
ACTIVE MITIGATIONS - Swap macro hits get cancelled, BoatFly ejects the driver, confirmed flyers get set back to verified safe ground, suspects quietly lose damage before the ban lands.
BEDROCK FRIENDLY - Geyser and Floodgate auto detection plus dot prefix matching when Floodgate is missing. Bedrock players skip mod scanning completely.
CLEAN CONFIG - The config is clean and very easy to edit and navigate, check it out yourself:
config.yml
# _____ _____
# ( ___ )------------------------------------------------------------------( ___ )
# | | | |
# | | ██▓███ ▄▄▄ ██▀███ ▄▄▄ ▄████ ▒█████ ███▄ █ | |
# | | ▓██░ ██▒▒████▄ ▓██ ▒ ██▒▒████▄ ██▒ ▀█▒▒██▒ ██▒ ██ ▀█ █ | |
# | | ▓██░ ██▓▒▒██ ▀█▄ ▓██ ░▄█ ▒▒██ ▀█▄ ▒██░▄▄▄░▒██░ ██▒▓██ ▀█ ██▒ | |
# | | ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒██▀▀█▄ ░██▄▄▄▄██ ░▓█ ██▓▒██ ██░▓██▒ ▐▌██▒ | |
# | | ▒██▒ ░ ░ ▓█ ▓██▒░██▓ ▒██▒ ▓█ ▓██▒░▒▓███▀▒░ ████▓▒░▒██░ ▓██░ | |
# | | ▒▓▒░ ░ ░ ▒▒ ▓▒█░░ ▒▓ ░▒▓░ ▒▒ ▓▒█░ ░▒ ▒ ░ ▒░▒░▒░ ░ ▒░ ▒ ▒ | |
# | | ░▒ ░ ▒ ▒▒ ░ ░▒ ░ ▒░ ▒ ▒▒ ░ ░ ░ ░ ▒ ▒░ ░ ░░ ░ ▒░ | |
# | | ░░ ░ ▒ ░░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ | |
# | | ░ ░ ░ ░ ░ ░ ░ ░ ░ | |
# | | | |
# | | Configuration File | |
# | | v1.0 - By Ascvnd! | |
# |___| |___|
# (_____) (_____)
#
plugin:
debug: false
database-logging: true
# Your Discord invite. It shows on kick and ban screens after
# "If false banned Appeal @". Leave it empty and the screens will
# just say to set it up instead.
discord-link: ""
broadcast-alerts: true
alert-channel: CHAT
alert-sound: true
alert-sound-type: block.note_block.pling
# Ping staff when something gets quietly stopped (a swapped hit that
# went nowhere, a flag softened by high ping, a flyer kicked out of a
# boat). No VL comes with these, it is just a heads up.
alert-on-mitigation: true
lag-compensation:
# Mitigate-only mode stays OFF (-1), on purpose. Turning it on means
# anyone above that ping stops collecting VL from every movement and
# combat check at once, and a cheater on a bad (or deliberately bad)
# connection becomes untouchable. Laggy-but-legit players are covered
# by the leniency multiplier below instead, which bends thresholds
# rather than switching enforcement off. Set a real ping to re-enable.
max-ping-for-movement: -1
max-ping-for-combat: -1
position-history-ticks: 20
# How much slack high ping players get on thresholds (past 150ms).
high-ping-leniency-multiplier: 1.5
high-ping-threshold: 150
bedrock-exempt-checks: []
# Bedrock players go through the same checks as everyone else. Only add
# a check here if legit Bedrock movement keeps tripping it on YOUR map.
punishments:
# The master switch. Turn it off and nobody ever gets kicked or banned,
# you just get detections and alerts. Handy while you learn the plugin.
enabled: true
ban-command: "ban %player% [Paragon] Cheating: %check% - If false banned Appeal @ %discord%"
kick-command: "kick %player% [Paragon] Kicked for %check%"
# What /paragon unban runs. Vanilla calls it "pardon", most ban plugins
# call it "unban". %player% is the name you typed, works offline too.
unban-command: "unban %player%"
# Kicks are remembered. Once someone has collected this many, the next
# punishment skips straight to a ban. 0 turns that off.
max-kicks-before-ban: 3
# Untags combat before kicking or banning (CombatLogX, CombatTagPlus,
# DeluxeCombat when they are around, plus a short bypass), so the
# punishment itself never causes a combat-log death.
combatlog-untag: true
# Breathing room between punishments for one player. A single lag spike
# can burst a pile of flags and must never chain-kick anyone.
cooldown-ms: 30000
# Fresh joins can't be punished for the first N seconds. This stops the
# nightmare loop where someone spawns somewhere the checks misread,
# gets kicked, rejoins and gets kicked forever. Alerts still fire.
join-immunity-seconds: 20
# Flip any check to `alerts-only: true` and it will flag and tell staff
# without ever kicking or banning. A few checks ship that way because they
# read timing or geometry the server can't verify exactly (where a target
# stood the moment a hit landed, how a client rotated between packets).
# Treat those as tips for your staff, and flip them to false once you
# trust them on your own players.
# Setback drags confirmed movement cheaters back along their own trail of
# spots that passed every check on solid ground. If they outran the trail,
# each setback walks them back by up to max-distance until they are on it
# again. Works at any ping, which is what makes ping games pointless, and
# buffered checks keep it away from legit players.
setback:
enabled: true
# How many blocks one setback step pulls back at most.
max-distance: 16.0
# ════════════════════════════════════════════════════════════════════
# MITIGATIONS ~ breaking the cheat, not just spotting it
# ════════════════════════════════════════════════════════════════════
# These don't just flag things, they make them stop working.
mitigations:
# Same-tick attribute swapping (vanilla bug MC-28289): swapping hotbar
# items in the same tick as an attack smuggles the old item's damage
# into the hit. That trick powers lunge-swap, breach and density swaps
# and mace stun-slam macros. With this on, hits landing inside the
# window after a swap get cancelled outright. Macro or manual, the
# exploit just does nothing.
attribute-swap-fix:
enabled: true
# 50ms is one game tick. Raise it to 100 to kill 2-tick swap tech too.
swap-window-ms: 50
# SMART - hits land normally until AutoSwap smells a real macro
# pattern (VL on the board), then swap-hits start getting
# cancelled until it fades. Your legit one-tick artists keep
# their tech, macros lose theirs. Also shrugs off high ping
# packet bunching instead of ghosting hits.
# ALWAYS - cancel every same-window swap hit, legit tech included.
# DETECT - watch and flag only, never touch a hit.
mode: SMART
# SMART only starts cancelling once autoswap VL reaches this. One flag
# is worth 3 VL, so this asks for TWO separate confirmed macro reads
# before anything gets cancelled. Lower it and a single coincidence
# (someone fast switching weapons mid-fight) eats their hits for a
# second or two, which is exactly the ghost-hit feeling this fix is
# here to prevent.
smart-min-vl: 6
checks:
# .... Movement ....
flight:
enabled: true
kick-vl: 40
ban-vl: 80
vl-decay: 3
velocity-leniency-ticks: 20
speed:
enabled: true
kick-vl: 50
ban-vl: 100
vl-decay: 3
# 1.0 = exactly expected speed, 1.20 = 20% tolerance for lag/knockback momentum
max-speed-multiplier: 1.20
step:
enabled: true
kick-vl: 25
ban-vl: 50
vl-decay: 2
# Vanilla lets you step 0.6 up. The extra 0.05 covers the server
# rounding its own math, nothing more.
max-step-height: 0.65
nofall:
enabled: true
alerts-only: true
kick-vl: 20
ban-vl: 40
vl-decay: 2
timer:
enabled: true
kick-vl: 20
ban-vl: 40
vl-decay: 2
# 1.15 means 15% headroom over 20 packets a second, enough for
# jitter and catch-up bursts without crying wolf.
max-timer-rate: 1.15
velocity:
enabled: true
kick-vl: 25
ban-vl: 50
vl-decay: 2
# How much of the server's knockback someone has to actually take.
# 0.55 is generous on purpose, lag eats knockback for breakfast.
min-velocity-acceptance: 0.55
phase:
enabled: true
kick-vl: 15
ban-vl: 18
vl-decay: 1
noslow:
enabled: true
kick-vl: 20
ban-vl: 40
vl-decay: 3
rotation:
enabled: true
kick-vl: 20
ban-vl: 45
vl-decay: 2
max-yaw-change: 360.0
# Extra aim math (sub-check C), OFF unless you feel brave. Rotations
# travel as 32-bit floats, so every sample carries rounding noise, and
# that noise folds a GCD toward zero for legit players exactly like it
# does for aimbots. You can't separate the two without watching your
# own players and tuning it yourself. A (bad pitch), B (NaN) and D
# (spinbot) don't care about this switch and always run.
gcd-check: false
# Only matters with gcd-check on. Lower gets mouthier.
gcd-sensitivity: 0.003
elytrafly:
enabled: true
alerts-only: true
kick-vl: 15
ban-vl: 35
vl-decay: 1
jesus:
enabled: true
kick-vl: 10
ban-vl: 25
vl-decay: 1
# Jump boosts add to the vanilla 0.42 hop. This reads the takeoff tick
# itself, the only moment the extra push shows before the movement
# prediction swallows it.
highjump:
enabled: true
kick-vl: 16
ban-vl: 32
vl-decay: 2
blink:
enabled: true
kick-vl: 8
ban-vl: 18
vl-decay: 1
clicktp:
enabled: true
kick-vl: 10
ban-vl: 20
vl-decay: 1
bunnyhop:
enabled: true
kick-vl: 12
ban-vl: 28
vl-decay: 2
# Says they are on the ground with nothing underneath. A slow,
# sneaky cousin of NoFall.
groundspoof:
enabled: true
kick-vl: 20
ban-vl: 40
vl-decay: 2
# Saves up movement ticks and dumps them in one burst. Looks like a
# teleport that politely keeps the packet rate at 20 a second so the
# Timer check stays asleep.
tickshift:
enabled: true
kick-vl: 20
ban-vl: 40
vl-decay: 2
# Flying boats and entity rides going uphill. Flags the driver and
# kicks them straight out of the seat.
boatfly:
enabled: true
kick-vl: 8
ban-vl: 20
vl-decay: 1
# .... Combat ....
reach:
enabled: true
alerts-only: true
# Reach plays by its own rules here, not the generic cancel-hit
# toggle. Only the hard-limit arm (blatant, no innocent story)
# ever takes a hit away. The soft arm, where normal target wiggle
# at real ping lives, only ever flags.
kick-vl: 12
ban-vl: 25
vl-decay: 1
# Spears get special treatment because vanilla does too: they reach
# 4.5 blocks (2.0 minimum) while everything else stops at 3.0. Held
# a *_SPEAR and the 4.5 floor applies itself, with a 5.6 hard cap.
# max-reach below is the everyday non-spear baseline, leave it be.
max-reach: 3.1
# A little extra rope per 50ms of ping.
ping-reach-leniency-per-50ms: 0.10
autoclicker:
enabled: true
kick-vl: 18
ban-vl: 35
vl-decay: 2
# Ceiling in clicks per second. 22 leaves room for butterfly clickers
# tapping near 20.
max-cps: 22
# How steady clicking may get before it looks bottled. Lower gets
# mouthier.
min-cps-variance: 0.25
sample-window: 40
killaura:
enabled: true
kick-vl: 12
ban-vl: 25
vl-decay: 1
max-attack-angle: 80.0
multi-target-detection: true
aimassist:
enabled: true
alerts-only: true
kick-vl: 20
ban-vl: 45
vl-decay: 2
# Same idea as the rotation GCD above, for aim instead. B (snap to a
# target) ignores this switch and always runs.
gcd-check: false
gcd-min-samples: 40
# Per-tick scoring against the player's own sensitivity fingerprint.
# Opt in only, and keep it alerts-only unless you love tuning.
gcd-mlsac: false
gcd-mlsac-error: 0.0005
gcd-mlsac-streak: 3
autoblock:
enabled: true
alerts-only: true
kick-vl: 10
ban-vl: 22
vl-decay: 1
hitbox:
enabled: true
kick-vl: 12
ban-vl: 25
vl-decay: 1
max-hitbox-expansion: 0.10
critical:
enabled: true
alerts-only: true
kick-vl: 10
ban-vl: 22
vl-decay: 1
# Totems are about rhythm, not speed. A macro replays its delay to the
# millisecond no matter how slow you set it, a human never does. The
# statistics arms wait for 10+ confirmed refills before saying a word.
autototem:
enabled: true
kick-vl: 15
ban-vl: 35
vl-decay: 1
# Quicker than this after a pop and it is basically a robot.
min-swap-time-ms: 80
monitor-window-ticks: 5
# B arm: inhuman click floor right after a pop.
type-b-min-ms: 40
type-b-max-ms: 250
# C arm: suspiciously steady average with almost no spread.
type-c-mean-ms: 200.0
type-c-max-diff-ms: 10.0
# D arm: refill gaps that keep landing on top of each other.
type-d-delta-ms: 100.0
type-d-max-ms: 845.0
# E arm: low wobble windows, confirmed a few times over.
type-e-sd-ms: 10.0
type-e-mean-ms: 500.0
type-e-min-samples: 5
type-e-windows: 3
angle:
enabled: true
alerts-only: true
kick-vl: 12
ban-vl: 25
vl-decay: 1
max-behind-angle: 90.0
# Weapon swap macros: swap, hit, swap back, faster than hands allow.
# Think auto spear and auto mace modules doing the work for you.
autoswap:
enabled: true
alerts-only: true
kick-vl: 15
ban-vl: 30
vl-decay: 2
# B arm: how steady the swap-hit-swap rhythm may get before it
# stops looking human.
cadence-stddev-ms: 25.0
# C arm: bouncing one slot pair (sword to mace and back) needs this
# many rounds to count. Scrolling walks lots of slots, and legit
# tech fires once a fight, never six rounds in a row.
osc-cycles: 6
osc-max-gap-ms: 150.0
# Hits with no arm swing behind them. That is a silent aura, full stop.
noswing:
enabled: true
alerts-only: true
kick-vl: 16
ban-vl: 32
vl-decay: 2
# Fake fall distance to steal the mace smash bonus while standing
# still (the mace one-shot trick). This one is high confidence: your
# server's own fall number flat-out contradicts our movement tracking,
# so ping doesn't save anyone here.
macedamage:
enabled: true
kick-vl: 16
ban-vl: 32
vl-decay: 1
# B arm: smashes from the exact same height over and over. Macros
# jump (or spoof) to the same centimeter, real terrain never repeats.
height-stddev: 0.15
# C arm: the breach and density swap smash. One quick swap-smash is
# honest tech, only robot-steady streaks get flagged.
swap-max-gap-ms: 120
swap-count: 5
swap-stddev-ms: 25.0
crystalaura:
enabled: true
kick-vl: 12
ban-vl: 28
vl-decay: 2
# E arm: place-to-hit reactions no human answers (needs a few of them).
type-b-fast-ms: 60
type-b-required: 4
# F arm: reactions landing on the same millisecond, window after window.
type-c-max-delay-ms: 1500
type-c-delta-ms: 5
anchoraura:
enabled: true
kick-vl: 10
ban-vl: 22
vl-decay: 1
bedaura:
enabled: true
kick-vl: 10
ban-vl: 22
vl-decay: 1
nohurtcooldown:
enabled: true
alerts-only: true
kick-vl: 12
ban-vl: 28
vl-decay: 2
# .... World work ....
scaffold:
enabled: true
kick-vl: 12
ban-vl: 28
vl-decay: 1
min-place-delay-ms: 55
rotation-check: true
pattern-check: true
# Catches blocks placed while moving that the eyes couldn't have
# aimed at (silent-aim scaffolds). Sitting still never counts.
sight-check: true
fastplace:
enabled: true
kick-vl: 12
ban-vl: 25
vl-decay: 2
max-places-per-second: 14
fastbreak:
enabled: true
kick-vl: 12
ban-vl: 25
vl-decay: 1
break-time-multiplier: 0.70
nuker:
enabled: true
kick-vl: 5
ban-vl: 12
vl-decay: 1
# Vanilla breaks one block a tick, so 20 a second is the honest max.
max-breaks-per-second: 22
# STOPPER: sits on mass-breaks while the pattern is hot, and always
# sits on breaks from impossible distance. False means watch and
# punish only.
mitigate: true
# Honest survival reach, eye to block middle, plus ping slack.
break-reach: 5.5
airplace:
enabled: true
kick-vl: 8
ban-vl: 18
vl-decay: 1
# Every right click, any item. Block and entity reaches past survival
# range get cancelled on the spot, no appeal.
interactreach:
enabled: true
kick-vl: 12
ban-vl: 25
vl-decay: 1
place-reach: 5.0
entity-reach: 3.5
block-reach: 5.0
# Digging with no honest dig behind it. PacketMine and instant AutoMine
# live here.
packetmine:
enabled: true
kick-vl: 12
ban-vl: 25
vl-decay: 1
# Mining luck that math says is impossible. Stays alerts-only because
# maps, friends and old explored caves are all honest explanations.
# A tip for staff, never an auto punishment.
xray:
enabled: true
alerts-only: true
kick-vl: 12
ban-vl: 25
vl-decay: 1
min-valuables: 6
window-minutes: 20
max-stone-per-valuable: 40.0
pace-count: 4
pace-max-gap-seconds: 45
# .... Movement extras ....
# Up walls with no ladder, vine or scaffolding helping.
spider:
enabled: true
kick-vl: 12
ban-vl: 28
vl-decay: 2
# .... Fresh combat (1.21 era + bots) ....
# Sprint surviving hit after hit is what KeepSprint modules do. Numbers
# game, so alerts-only until it earns your trust.
keepsprint:
enabled: true
alerts-only: true
kick-vl: 12
ban-vl: 28
vl-decay: 2
# Hitting through walls. Traced server side, no excuses.
throughwall:
enabled: true
kick-vl: 12
ban-vl: 25
vl-decay: 1
# Spear dash macros doing the lunging for you. Rhythm based, so it
# watches consistency and swap streaks, and stays alerts-only.
spearlunge:
enabled: true
alerts-only: true
kick-vl: 12
ban-vl: 28
vl-decay: 2
# C arm: lunge repl
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta