What each config.yml option does, in plain language. The file lives in plugins/GuardAC/; changes apply with /guard reload. New options are merged into your config automatically on updates.
The three settings that matter most: where to connect, with which key, and whether to ban automatically.
ai.api-keyYour personal key from the dashboard. Without it the plugin does not analyze anyone.
ai.serverThe GuardAC cloud address. Domain only - the API path is appended automatically. No need to change it.
ai.only-alerttrue - staff get alerts but nobody is punished automatically. false - the punishment ladder from punishments.yml is live.
Set it to true for the first days: watch the alerts and make sure you like the detections before trusting automation with bans.
localeLanguage of every plugin message: en or ru.
GuardAC never bans for one suspicious moment. Every combat window fills a buffer, calm play drains it - punishment only comes when the buffer overflows.
ai.buffer.flagHow much the buffer must accumulate before the player is flagged. Lower = faster reaction but higher risk of mistakes.
ai.buffer.decreaseHow much the buffer drains per clean window. Higher = an honest player recovers from a random spike faster.
alerts.min-hit-confidenceShow a hit to staff only when the model is at least this confident (default 75).
alerts.min-hitsOne alert per N confident hits: x3, x6, x9... A lone random spike stays silent.
alerts.soundAlert sound for staff: enabled, type (any Bukkit sound), volume and pitch. Defaults to a soft note-block pling.
alerts.suspiciousAn early heads-up when a player's buffer starts climbing - before a full detection. Fires once, no spam.
Every analyzed window = one request from your plan's daily limit. These settings decide how often the plugin asks the cloud.
ai.stepAfter the first full window - how many new ticks before the next check. Smaller = more frequent checks and more quota used.
ai.min-movementMinimum total camera movement in a window before it is worth analyzing. Skips players who barely move their crosshair.
ai.continuoustrue - analyze aim all the time, not only in combat. Uses far more quota; enable only if you know you need it.
punishments.ymlThe punishment ladder by violation level (VL): alerts at low VL, then kick/tempban/ban. Every line is a normal console command.
punishment.min-tpsDelay punishments while server TPS is below the bar: lag distorts movement data. Alerts still go out.
animations.*The show before a ban: pig, explosion, meteor, cage and more. auto-on-ban plays a random animation before any real ban.
drop-inventory: true scatters the inventory at the finale - turn it off if you don't want that on temp bans.
vl-decay.*Violation level slowly decays over time so an old flag doesn't haunt a player forever.
fingerprint.*Aim fingerprint: the plugin learns each player's personal style and reports a sharp mid-session shift (cheat toggled on, or a different person on the account). Informational only, never bans by itself.
persist-buffer.*Anti-relog: suspicion survives a disconnect. A quick reconnect restores the buffer as-is; after a long offline it fades gradually.
deep-scan.*/guard scan <name> - an on-demand deep check: the plugin collects the next N combat windows, runs every model of your plan and returns a verdict.
combat-suppression.*Soft in-combat measures against a suspect instead of an instant ban - everything recovers on its own. Off by default.
web-commands.enabledBans issued from the web dashboard: every server on your key picks the command up within a minute. Disable if you only moderate in-game.
cross-server.enabledAlerts between your servers: a detection on one server is shown to staff on all the others (relayed by the cloud, no proxy needed).
reputation.*Global reputation: detections on other GuardAC servers are shown to you when the player joins - and vice versa. report: false stops your contribution.
geyser.exempt-bedrockSkip phone/console players (Bedrock via Geyser): their aim works differently and the PC-trained model must not judge them.
auto-update.*The plugin downloads new versions from the official releases by itself and swaps the jar on the next server restart.