BlazeBans/Start here
First setup
BlazeBans works out of the box, but seven settings decide whether it fits your server. Change these before staff start using it, because some of them are awkward to change once records exist.
1. Server identity
In settings.yml:
server:
id: "survival"
display-name: "Survival"
scope: "server"id is the key stored on every punishment and must be unique per server. display-name is what players and staff see. scope decides whether a punishment issued here applies everywhere by default (global) or only here (server).
Single server, no proxy: set scope: "global". It is simpler, and there is no second server for a local punishment to mean anything against.
Network: keep scope: "server" and let staff use --scope server:global for network-wide bans, or set it to global if that is your default. Full detail in Servers and scope.
2. Appeal link
punishments:
appeal-url: "https://yourserver.com/appeal"This fills {appeal_url} on ban screens and in mute messages. The default is https://example.com/appeal, and a banned player reading that is the most common thing people forget to change.
3. Storage
database.yml defaults to SQLite, which is right for a single server. Change it only if you run a network or already have a database server. See Database.
4. Staff hierarchy
Stop staff punishing each other. If you run LuckPerms, map your groups to weights in settings.yml:
staff-hierarchy:
group-weights:
helper: 10
moderator: 50
admin: 100
owner: 1000A staff member can only punish someone whose weight is at or below their own. BlazeBans reads primary and inherited groups from LuckPerms directly, so no extra permission nodes are needed. Without LuckPerms, grant blazebans.weight.<number> instead.
Console ignores hierarchy entirely.
5. Duration limits
Cap how long each rank can punish for:
duration-limits:
tiers:
- permission: "blazebans.duration.junior"
max: "7d"
- permission: "blazebans.duration.moderator"
max: "30d"
- permission: "blazebans.duration.admin"
max: "permanent"Grant one node per rank. The highest matching tier wins, so an admin who also holds the junior node still gets permanent. Staff with no tier at all are unlimited, which is why these are worth setting before handing out blazebans.command.ban.
6. Permissions for staff
The minimum useful moderator set:
blazebans.command.ban
blazebans.command.mute
blazebans.command.warn
blazebans.command.kick
blazebans.command.unban
blazebans.command.unmute
blazebans.command.history
blazebans.command.lookup
blazebans.command.punishgui
blazebans.staff.notify
blazebans.duration.moderatorblazebans.admin grants administrative access and should stay with owners. The complete list is in Permission reference.
7. Templates
Open the web editor and adjust the default templates to your rules:
/blazebans editorThe defaults ship with sensible reasons and durations for a general survival server. If your rules differ, changing them now means staff never learn a set of reasons you later remove. Templates also drive the punish GUI, so this is the same job as configuring that.
Optional, but usually worth it
Discord webhooks. Punishments posted to a staff channel give you a searchable log outside the game. Set up in Discord webhooks.
AutoMod. Off by default. Turn it on once you have decided what should be filtered, in AutoMod.
Theming. The plugin uses BlazeStudios orange by default. Ten colour values in messages/en_us.yml change the whole thing. See Messages and theming.
Then read this
Best practices covers how to actually run the plugin day to day, starting with the habit worth building first: having staff use /punish so BlazeBans applies the right punishment and duration from your ladders rather than leaving it to whoever is online.
Applying changes
Most changes take effect with a reload, no restart needed:
/blazebans reloadThe exception is command names and aliases under commands: in settings.yml. Those register with the server at startup, so changing them needs a full restart.
Reload reports what actually changed, file by file. If a file has an error, BlazeBans keeps the working configuration rather than half-applying the broken one.

