BlazeBans/Automatic enforcement
Ban evasion
Automatically ban a joining account when another account on the same stored IP already has an active ban.
Configuring it
In settings.yml:
punishments:
ban-evasion:
# Ban a joining account when another account on the same stored IP has an active ban.
enabled: false
# How long the automatic ban lasts.
duration: "permanent"
# Reason recorded on the automatic ban.
reason: "Ban evasion"
# Hide automatic bans from the public punishment broadcast.
silent: falseIt also needs IP storage:
privacy:
store-ip-addresses: trueWithout a stored address there is nothing to match against, and the feature does nothing regardless of its own switch.
How it works
When a player joins, BlazeBans checks whether any other account on their stored IP has an active ban. If one does, a BAN record is created for the joining account with the configured duration and reason, and they are removed with the normal ban screen.
The record is ordinary. It appears in /history, it can be revoked with /unban, and it counts toward the player's totals. Staff holding blazebans.staff.notify get an alert through the automod-ban-evasion-staff message.
Why it is off by default
Because it catches people who are not evading anything.
Two brothers share a computer. One gets banned for griefing. The other logs in that evening and is permanently banned for evasion, having done nothing. Same for shared houses, school networks, university halls, and anyone behind carrier-grade NAT on mobile data.
That is not a rare edge case. On a server with a young player base it is a weekly occurrence.
Making it usable
If you turn it on, three changes make the false positives survivable.
Do not make it permanent.
punishments:
ban-evasion:
duration: "7d"A genuine evader banned for a week comes back and gets caught again. An innocent sibling banned for a week is angry; banned forever, they are gone.
Make the reason explain itself.
punishments:
ban-evasion:
reason: "Automatic: another account on this connection is banned. Appeal if this is not you."The reason appears on the ban screen. Someone who has genuinely done nothing needs to know what happened and that appealing is worth their time.
Set an appeal URL that works.
punishments:
appeal-url: "https://yourserver.com/appeal"This is the setting that turns a false positive from a lost player into a five-minute support ticket. It is also the one most often left as https://example.com/appeal.
Keeping people out of it
Grant blazebans.bypass.ban to accounts that should never be caught, or add them to exempt.players. Both prevent the automatic ban.
Staff accounts are the obvious case. A moderator testing a ban on an alt should not lock themselves out.
The alternative
Detection without automation. Leave ban evasion off, keep IP storage on, and use /alts when something looks wrong.
/alts NewPlayerA moderator sees the linked banned account, sees that the new account joined an hour after the ban and went straight to the same behaviour, and bans it manually. That takes thirty seconds and does not catch anyone's brother.
This is the better default for most servers. Turn on automation when the volume of evasion makes manual review impractical, not before.
- Alts and IP tools for IP storage, hashing, and privacy
- AutoMod for automatic chat enforcement
- Hierarchy and exemptions for protecting specific accounts

