Stat alerts and anticheats

Flag players whose stats normal play can't reach, like X-ray mining, and relay Grim and Vulcan to Discord.

Overview

Admin

Minecraft counts what every player does: blocks mined, playtime, advancements. Stat alerts compare those numbers against limits normal play stays under and post an alert to Discord when a player goes past one. They live on each server's Alerts page. An alert is a lead for your staff to check, not proof: Madsi doesn't run its own movement or combat checks, and leaves those to Grim and Vulcan, which it relays.

Turn on Watch this server to start. The first time, it switches on the three X-ray presets. Nothing reaches Discord until a rule has a channel; until then its alerts are kept on the Alerts page only.

Presets

Admin
PresetAlerts aboveOn at first
X-ray: diamond to stone40 diamond ore per 1,000 stone and deepslate in 24 hours, after 1,000 minedYes
X-ray: diamonds per hour200 diamond ore in 60 minutesYes
X-ray: ancient debris per hour40 ancient debris in 60 minutesYes
Mining speed: deepslate500 deepslate in 2 minutesNo
Mining speed: stone and netherrack1,400 stone-type blocks in 2 minutesNo
Playtime faster than the clockPlaytime growing faster than real timeNo
Advancements in bulk20 advancements in one minuteNo

These starting limits come from published mining rates, not a measurement on your server, so compare them with what your own players do and adjust. Edit a preset's limit, window and minimum sample with its pencil.

A rule doesn't post on the first reading over its limit. Each time a player is over it, the rule scores points, which halve every half window, and it posts once they add up, so one lucky cave doesn't fire it. An impossible value posts at once.

Your own rules

Admin

Build a rule from any count stat in Minecraft's catalog, adding several together if you like.

TypeWhat it measuresPlan
RateHow many in a window of up to 120 minutes, optionally only once the player has been online a whileBasic and Pro
RatioHow many per 1,000 of other stats (diamond ore per 1,000 stone), over up to 7 days, after a minimum samplePro
Impossible valueMore in one minute than the game allowsPro

Free servers can have up to 3 rules on at once, presets included; Basic 10; Pro has no limit. After a downgrade, custom rules of a type the plan doesn't include are paused first, then the newest rules past the limit. They come back on an upgrade.

Channels, pings and buttons

Admin

Each rule posts to its own channel, with roles and Discord users to ping. A per-player quiet time (15 minutes by default) stops a rule repeating itself, and when a player has had a set number of alerts in 24 hours the alert says so.

  • Look up: the player's numbers, privately.
  • Open in dashboard: the player's page on the Stats page, with their tracked stats, sessions and alerts.
  • Kick and Ban: the same checks as /mc-kick and /mc-ban.
  • Dismiss: marks the alert dealt with and quiets that rule for that player for 24 hours.

Look up and Dismiss need the Alerts team permission. Alerts can be dismissed from the Alerts page too.

Automatic kick or ban

Admin

A rule can kick or ban the player the moment it fires, for a number of minutes or for good. Nobody checks first, so keep it for a rule that can't misfire. Every rule starts as alert only.

Anticheats

Admin

Madsi relays Grim on Paper and Fabric and Vulcan on Paper. NeoForge has no anticheat Madsi can hook, so a NeoForge server gets stat rules only. The Alerts page shows which anticheats the server runs.

  • Flags post once a check's violation level reaches the level you set (20 by default), for every check or per check. At most one per player and check every 10 seconds.
  • Punishments: every kick and ban the anticheat issues.
  • Flags and punishments each get their own channel and pings.
  • A ban the anticheat issues goes through ban sync like any other console ban, as a ban by Grim or Vulcan.

Exemptions and vein miners

Admin

Players in creative or spectator mode, operators and vanished players are exempt by default; turn each off on the Alerts page. Bots are always exempt, and you can exempt players by name or UUID. Madsi keeps recording an exempt player's numbers, so nothing jumps when the exemption ends.

With a vein miner installed (VeinMiner, FTB Ultimine and similar), one swing breaks a whole vein, so Madsi multiplies mined-block rate limits by 3. The rule shows the raised limit and which mod raised it.

History and privacy

Admin

The Alerts page lists every alert with its numbers and what happened to it, filtered by status, source or player. Alerts are kept for the days you choose, up to 30 on Free, 90 on Basic and 365 on Pro, then deleted. The recent readings rules work from are kept for 2 hours.

Only the owner, and team members given the Alerts permission, can see alerts or change the rules. A player can download or delete the alerts about them from their account page, once they have proved their Minecraft account by signing in with Microsoft.