Configuration
Every option in Argus config.yml explained — what it changes, and what a sensible value looks like.
Argus v1.1.1Paper · Purpur · Folia-safe1.21 – 1.21.x
Argus ships one file: plugins/Argus/config.yml. Apply changes with /argus reload.
Storage is the exception
storage and network are read once at startup. Changing them needs a full server restart, not a
reload.
alerts
alerts: min-stars: 4 deterrent-mode: false discord: enabled: false webhook: ""| Key | Default | What it does |
|---|---|---|
min-stars | 4 | Minimum star rating (1–5) that triggers an in-game and Discord alert. Lower it to 3 on a large team, raise it to 5 if you only want emergencies. |
deterrent-mode | false | Shows monitored staff an action-bar notice when they take a logged action. The Panopticon effect — visible supervision suppresses abuse before it happens. |
discord.enabled | false | Send high-threat alerts to a webhook. |
discord.webhook | "" | Channel webhook URL. Use a private staff channel; alerts name the member. |
response
response: freeze-at-stars: 0freeze-at-stars auto-freezes a member the moment they reach that rating. A frozen member cannot
move or run commands until an admin runs /argus unfreeze. 0 disables it.
Start at 0
Run Argus for a week with auto-freeze off and watch which ratings your team actually produces. A threshold that freezes a legitimate admin mid-restore costs you more trust than it saves.
signals
This section decides when a signal fires. How much it then counts lives in scoring.weights.
signals: low-staff-threshold: 1 burst: window-seconds: 120 threshold: 15 favouritism-threshold: 5 ban-abuse: window-minutes: 15 collusion: threshold: 3 window-seconds: 30| Key | Default | What it does |
|---|---|---|
low-staff-threshold | 1 | Acting while this many or fewer other staff are online counts as off-hours — the classic abuse window. |
burst.window-seconds | 120 | Length of the burst window. |
burst.threshold | 15 | Sensitive actions inside that window before burst_activity fires. |
favouritism-threshold | 5 | Gives or teleports funnelled to the same player this often count as favouritism. |
ban-abuse.window-minutes | 15 | A ban reversed by a different staff member inside this window flags the original banner. Self-reversals are ignored. |
collusion.threshold | 3 | Item hand-offs to the same accomplice before collusion fires. |
collusion.window-seconds | 30 | How long a drop stays "matchable" to a pickup. |
scoring
scoring: half-life-hours: 72 weights: item_injection: 26 inventory_access: 14 economy_injection: 22 honeypot_triggered: 40 silent_abuse: 12 off_hours: 8 burst_activity: 10 favoritism: 16 collusion: 30 ban_abuse: 18 legitimate_moderation: 4 peak_activity: 2half-life-hours is how fast trust regenerates: the score halves every 72 hours of clean play by
default. Shorten it on a busy network where staff legitimately touch a lot; lengthen it if you want
history to stick.
The weights are points added to a 0–100 score. The defaults are tuned so that:
- a single honeypot trigger (
40) is instantly serious on its own - ordinary moderation (
legitimate_moderation: 4) is tracked but never damning - context signals (
off_hours: 8,peak_activity: 2) shade an action rather than define it
Read Threat score before you change these — the numbers interact.
feedback
feedback: sounds: true effects: trueSound and particle polish for the GUI, alerts and freezes. Purely cosmetic; turn off on a server where staff share a voice channel and the click sounds get annoying.
web-panel
web-panel: enabled: false port: 8787 bind: "0.0.0.0" token: ""A self-hosted rewind dashboard served straight from the plugin. Leave token empty and Argus
generates one and prints it to console at startup. Details and hardening advice on the
Web panel page.
gui.heads
gui: heads: arrow_left: "bd69e06e5dadfd84e5f3d1c21063f2553b2fa945ee1d4d7152fdc5425bc12a9" star_filled: "f2ba9ead97c8fb44b156ade9cb214ea912434a2cc47c4dec50f21021c75dd2d7" action_freeze: "ca4cb39b983f8aa61f3716f8a61713e2da93feeec3feb684807279ff8b1e22ac"Every GUI icon is a custom player head and can be reskinned. A value may be a texture hash
(the trailing part of a textures.minecraft.net URL) or a full Base64 value — grab either from
minecraft-heads.com. Leave a key empty to fall back to a plain vanilla item.
Reskinnable keys: arrow_left, arrow_right, star_filled, star_empty, tile_rating,
tile_why, tile_rewind, action_teleport, action_freeze, action_clear, action_kick,
action_refresh.
Changing heads needs a full restart, not /argus reload — the item stacks are built once when the
GUI classes load.
storage and network
Covered separately on Storage & network, because getting them wrong on a proxy is the one mistake that silently loses data.