Alt / ban-evasion detection (altguard)
You ban someone, and ten minutes later a fresh account with the same avatar walks back in. Altguard notices. When it’s on, every new member is checked against the people your server has already kicked or banned, and a confident match is banned again before they can settle in.
It runs entirely on your own server’s moderation history, never a shared list or cross-server network. That local-only design is the point, spelled out further down.
Who can switch it on: the server owner, or an admin with Manage Server. It’s off by default: turn it on with
/altguard mode: on.
FREE available on every plan · ADMIN only an admin or the owner can toggle it
How the detection works
When someone joins, altguard compares them against each prior offender on file and builds a match score out of 100. Signals stack:
- Reused custom avatar, the strongest signal. A joiner’s custom avatar that’s byte-for-byte the same image as a banned or kicked member’s is a heavy hit, people change usernames far more readily than profile pictures.
- Name similarity. A near-identical username or display name counts strongly;
a loosely similar one counts a little.
Toxic_Mikerejoining asToxicMike2won’t slip past on a name tweak alone. - Brand-new account. An account created within the last 7 days adds to the score, throwaway alts are usually freshly minted.
- Recent offence. If the original ban or kick was within the last month, the match weighs more heavily.
One weak coincidence won’t trigger anything, it takes a convincing combination.
Two outcomes: auto-ban or flag
- Confident match → auto-banned. Strong evidence (a reused avatar, or a near-identical name on a new account, at a high score) bans the alt automatically and posts a notice to your log channel.
- Weaker match → flagged for review. Suggestive but not conclusive signals take no action, altguard flags the join with its reasons and leaves the call to you.
An auto-ban needs the Ban Members permission and a role above the member. If altguard spots a confident match but can’t act, it says so and asks you to review manually.
The /altguard command
One command, three modes, turn detection on, off, or check where it stands.
Switch repeat-offender detection on or off, or check its status. When it's on, new members are checked against your server's own banned and kicked members, confident alt matches are auto-banned and posted to your log channel, weaker matches are flagged for you to review. Only an admin or the owner can change it.
| Argument | Type | Notes |
|---|---|---|
mode required | choice | on = start checking new joins, off = stop, status = show the current state and how many offender fingerprints are on file. |

Checking the status
/altguard mode: status tells you whether detection is on and how many prior
offenders your server has on file.

What a match looks like
When altguard catches something, it posts to your log channel (or staff chat if none is set). The notice shows the join, the match score, which prior offender it matches, the signals that fired, and the outcome, red for an auto-ban, amber for a flag to review.
A confident match, auto-banned

A weaker match, flagged for review

If you decide a flag is a genuine alt, removing them is a normal
/ban or
/kick away, and that
removal becomes part of the same local history altguard checks against next time.
Local to your server, and only your server
Altguard only ever looks at the bans and kicks made on your own server. It fingerprints the members you removed and checks new joiners against that list and nothing else, never a cross-server list, central database or shared threat network. An alt banned on someone else’s server but never on yours is invisible to altguard.
Two things follow:
- It builds from the moment you turn it on. A brand-new server with no ban or kick history has nothing to compare against yet; the list grows as you moderate.
- Soft-bans are excluded. A
/softbanis meant to let someone rejoin, so soft-banned members are not recorded as offenders and altguard won’t flag them when they come back.
Want protection that does span servers? That’s the cross-server, opt-in ThreatNet. Altguard is its local counterpart; the two are independent and you can run either, both, or neither.
See also
- Moderation & safety, bans, kicks, soft-bans and the rest of the removal toolkit that feeds altguard’s local history
- ThreatNet, the cross-server counterpart to altguard’s local-only checks
- Back to the Wiki hub