Skip to content

Anti Abuse and RMT Detection

joogiebear edited this page Jul 14, 2026 · 1 revision

Anti-Abuse & RMT Detection

RoyalBank watches money entering and leaving the bank to surface laundering and real-money trading (RMT) — for example, a brand-new account suddenly parking a fortune, or a balance ballooning far faster than legitimate play allows.

It is a detection layer, not a prevention layer. It cannot see purse-to-purse /pay transfers (limit those in your economy plugin), but large deposits and rapid balance growth are strong signals, and it gives you an audit trail for enforcement.

Configuration

anti-abuse:
  large-transaction-alerts:
    enabled: true
    transaction-threshold: 100000000.0   # alert on any single deposit/withdraw >= this (0 = off)
    balance-threshold: 500000000.0       # alert when a balance first crosses this (0 = off)
  velocity-flagging:
    enabled: true
    window-minutes: 10
    growth-threshold: 1000000000.0       # gaining >= this within the window flags the account (0 = off)
  notify-staff: true
  discord-webhook: ""

The two signals

Large-transaction alerts

Fires an alert when:

  • a single deposit or withdrawal is at or above transaction-threshold, or
  • a bank balance first crosses balance-threshold.

Set either threshold to 0 to turn just that check off. These are informational — they tell you something big happened, worth an eyeball.

Velocity flagging

Fires a flag when an account's bank balance grows by at least growth-threshold within window-minutes. This catches money being parked fast — the fingerprint of laundering — rather than any single large-but-legitimate transaction.

A flag is heavier than an alert: it's recorded for later review and shows up in /bank admin flags.

Where alerts and flags go

  • The server console.
  • Online staff with royalbank.alerts — if notify-staff is true. They're also told the pending flag count when they join.
  • An optional Discord webhook — paste a webhook URL into discord-webhook to mirror alerts and flags into a channel. Leave blank to disable.

Reviewing flags

Command Action
/bank admin flags List flagged accounts
/bank admin flags clear Clear all flags
/bank admin transactions <player> Inspect a suspect's history before acting

Typical workflow: a flag fires → check /bank admin flags → run /bank admin transactions <player> to see the pattern → decide (warn, ban + rollback, or clear the flag as a false positive).

What this does and doesn't do

Does: limits the bank's usefulness as a safe "vault" for laundered money, and gives you a per-player audit trail for TOS enforcement.

Doesn't: stop RMT outright. The in-game half of an RMT deal looks like a legitimate gift, and RoyalBank can't see purse-to-purse pays at all. To actually cap the damage, also:

  • put a maximum on your currency,
  • add friction (limits, cooldowns, tax) to player-to-player transfers in your economy plugin, and
  • install EconGuard, which correlates bank activity with auction and shop activity across the whole suite — catching an RMT chain that launders through an auction sale before the money ever lands in the bank.

Tuning

The default thresholds are set high, for a server with a large currency supply. On a smaller economy they may never fire — calibrate them against what an unusual-but-legitimate transaction looks like on your server. A detector that flags twenty accounts a day gets ignored within a week, and an ignored flag is worth nothing.

Clone this wiki locally