tapscrollWIKI

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

plugins/Argus/config.yml
alerts:  min-stars: 4  deterrent-mode: false  discord:    enabled: false    webhook: ""
KeyDefaultWhat it does
min-stars4Minimum 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-modefalseShows monitored staff an action-bar notice when they take a logged action. The Panopticon effect — visible supervision suppresses abuse before it happens.
discord.enabledfalseSend high-threat alerts to a webhook.
discord.webhook""Channel webhook URL. Use a private staff channel; alerts name the member.

response

YAML
response:  freeze-at-stars: 0

freeze-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.

YAML
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
KeyDefaultWhat it does
low-staff-threshold1Acting while this many or fewer other staff are online counts as off-hours — the classic abuse window.
burst.window-seconds120Length of the burst window.
burst.threshold15Sensitive actions inside that window before burst_activity fires.
favouritism-threshold5Gives or teleports funnelled to the same player this often count as favouritism.
ban-abuse.window-minutes15A ban reversed by a different staff member inside this window flags the original banner. Self-reversals are ignored.
collusion.threshold3Item hand-offs to the same accomplice before collusion fires.
collusion.window-seconds30How long a drop stays "matchable" to a pickup.

scoring

YAML
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: 2

half-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

YAML
feedback:  sounds: true  effects: true

Sound 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

YAML
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

YAML
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.