BlazeBans/Punishing players
Proof
Evidence attached to the record it justifies. A punishment with a screenshot on it survives an appeal argument; one without it comes down to whose memory you trust.
Attaching proof when punishing
/ban Steve 30d Cheating --proof https://imgur.com/a/exampleOne URL, no spaces. It is checked before it is saved: anything containing whitespace, <, >, quotes, or backslashes is rejected rather than saved. A bare domain gets https:// added.
A URL sitting loose in the reason is also picked up, so /ban Steve 30d Cheating https://imgur.com/a/example works. Use --proof anyway. It keeps the link out of the stored reason text, which is what appears on the ban screen.
Adding proof afterwards
/proof add <player> <url>Attaches evidence to the player's most recent applicable punishment. Needs blazebans.command.proof.add.
This covers the common case: something urgent happens, a moderator punishes first, then uploads the clip and attaches it a minute later.
Viewing proof
/proof view <player>Lists every stored proof entry for that player with its ID and the punishment it belongs to. Needs blazebans.command.proof.view.
Proof also appears on the player's profile menu, on the record in /history, and as an "Open proof" button on the Discord embed.
Removing proof
/proof remove <player> <proof_id>The ID comes from /proof view. Needs blazebans.command.proof.remove, which is worth keeping to senior staff: removing evidence should be a deliberate, traceable act rather than something any moderator can do.
Requiring proof
Templates can demand evidence before they can be used:
templates:
ban:
General-Cheating:
duration: 30d
reason: Cheating
proof-required: trueThis is gated behind a global switch that ships off:
experimental:
proof-requirements:
enabled: trueBoth have to be on. With the global switch off, proof-required on a template is ignored.
It is disabled by default on purpose. Blocking a punishment because a moderator has not uploaded a clip yet is the wrong tradeoff when someone is actively griefing. Turn it on once your team has the habit of recording first, and use it on the templates where evidence genuinely matters rather than on all of them.
Staff with blazebans.proof.bypass are not blocked. Grant it to administrators who need to act during an incident.
In the punish GUI
When a required template is selected in the punish GUI, a prompt appears before the confirmation step. On 1.21.6 and newer that is a native dialog with a text field; on older servers and clients it falls back to a chat prompt where typing cancel backs out.
An empty or invalid URL is refused with a message showing an acceptable format.
What to link
BlazeBans stores a URL and nothing else. It does not host, mirror, or archive anything, so the link is only as durable as the service behind it.
Use somewhere that keeps files: a Discord attachment in a private staff channel, an image host you control, or your own storage. Screenshots pasted into a channel that gets purged leave you with a dead link on the record and no way to recover it.

