Skip to content

Checks

Every check scores players on its own. A flag adds to the score, and the score decays over 10 minutes. When it reaches max-score, the detection is confirmed: staff get an alert and, if reports are on, a report goes to the backend.

Check Looks at Status
movement Speed, flight, step height and fall damage against the server’s own physics stable
combat Reach, hit angle and attack rate stable
click-pattern Click timing over the last few seconds, to catch autoclickers beta

Checks compare moves against what the server expected after the player’s ping. Players above 300 ms get a wider margin, so lag spikes do not turn into flags.

Minigame worlds often change physics: higher jumps, knockback, elytra races. Give such worlds their own profile in profiles.yml:

parkour:
worlds: [parkour_*]
movement:
max-score: 40
pvp-arena:
worlds: [arena]
combat:
max-score: 10

Settings missing from a profile come from config.yml.

Players with berkutwatch.exempt are never checked. Since 0.9.0 you can exempt a single check with berkutwatch.exempt.<check>, for example builders with berkutwatch.exempt.movement.