Skip to content

Configuration

joogiebear edited this page Jul 14, 2026 · 1 revision

Configuration

Everything lives in plugins/EconGuard/config.yml. Run /econguard reload after edits.

currency-symbol: "$"
notify-staff: true
discord-webhook: ""

database:
  file: "econguard.db"
  max-rows-per-player: 500

young-account:
  max-age-days: 3
  max-playtime-hours: 10

detection:
  large-transaction: 100000000.0
  young-incoming-transfer: 50000000.0
  velocity:
    enabled: true
    window-minutes: 30
    threshold: 250000000.0
  counterparty:
    enabled: true
    window-minutes: 60
    threshold: 500000000.0

Top-level

Key Meaning
currency-symbol Symbol used when formatting amounts in alert and console messages. Formatting only.
notify-staff Message online players with econguard.alerts when an alert or flag fires.
discord-webhook Optional Discord webhook URL for alerts and flags. Leave blank to disable.

database

Key Meaning
file SQLite file name, relative to plugins/EconGuard/.
max-rows-per-player Keep at most this many ledger rows per player (pruned on startup). 0 = unlimited.

See Storage.

young-account

Defines what counts as a "young" account. Two of the four detection signals only fire on young accounts — because wealth arriving with no time invested is the real RMT fingerprint, while a veteran selling a lucky drop is not suspicious.

Key Meaning
max-age-days An account first joined within this many days counts as young.
max-playtime-hours Or an account with less than this much online playtime counts as young.

Either condition qualifies — an alt that's technically 4 days old but has 20 minutes played is still young.

detection

Key Meaning
large-transaction Any single movement at/above this is logged as a large-transaction alert (all accounts).
young-incoming-transfer A young account receiving a single incoming transfer at/above this is flagged.
velocity.enabled Toggle the velocity signal.
velocity.window-minutes Rolling window for velocity.
velocity.threshold A young account gaining at/above this (incoming) within the window is flagged.
counterparty.enabled Toggle the counterparty-correlation signal.
counterparty.window-minutes Rolling window for correlation.
counterparty.threshold If the same payer funds the same receiver at/above this total within the window, both are flagged. 0 = off.

Each signal is explained in detail on the Detection Signals page.

The defaults are deliberately high

They're set for a server with a large currency supply. On a smaller economy they may never fire. Calibrate them against your own numbers — see the tuning section on Detection Signals.

Clone this wiki locally