Punishments
Zander gives your staff a consistent, accountable way to manage rule violations across Discord and the website. Every action is logged, punishments can expire automatically, and players always have a path to appeal — keeping your moderation fair and transparent.
📸 Screenshot: The public punishment log at /punishments showing active bans and warnings with issue dates and reasons
Discord Punishments
Discord punishments are issued using the /punish slash command. The issuing user must have their Minecraft account linked and the appropriate LuckPerms permission.
Punishment Types
| Type | Command | Duration | Description |
|---|---|---|---|
| Warning | /punish warn | Permanent | Formal warning logged against the user |
| Kick | /punish kick | — | Removes the user from the Discord guild immediately |
| Temporary Ban | /punish tempban | Required | Bans for a specified duration |
| Permanent Ban | /punish ban | Permanent | Bans indefinitely |
| Temporary Mute | /punish tempmute | Required | Mutes in chat and voice for a specified duration |
| Permanent Mute | /punish mute | Permanent | Mutes indefinitely (chat and voice) |
Duration format: <number><unit> — for example: 1h (1 hour), 7d (7 days), 2w (2 weeks).
All punishments support an optional evidence URL and a silent flag to suppress the public log message.
📸 Screenshot: The /punish command with subcommand options visible in Discord's command picker
Lifting Punishments
| Action | Command | Permission |
|---|---|---|
| Unban | /punish unban <user> <reason> | zander.discord.punish.ban |
| Unmute | /punish unmute <user> <reason> | zander.discord.punish.mute |
Temporary punishments are also lifted automatically when they expire (handled by punishmentExpiryCron).
Viewing History
/punish history accepts a Discord user, Minecraft username, or Discord tag/ID and returns the full cross-platform punishment record.
Configuration
Discord punishment settings live in config.json:
"discord": {
"punishments": {
"logChannelId": "CHANNEL_ID",
"appealBaseUrl": "/appeal",
"permissions": {
"can_warn": "zander.discord.punish.warn",
"can_kick": "zander.discord.punish.kick",
"can_ban": "zander.discord.punish.ban",
"can_mute": "zander.discord.punish.mute",
"can_view_history": "zander.discord.punish.history"
},
"requireDmSuccess": false
},
"roles": {
"muted": "ROLE_ID"
}
}
Set requireDmSuccess: true if you want punishment commands to fail silently when a DM cannot be delivered to the user.
Web Punishments
Web punishments restrict a user's access to the Zander website. They are issued and managed from Dashboard → Web Punishments (requires zander.web.punishment.manage).
📸 Screenshot: The web punishments dashboard showing active punishments with type badges, issue dates, and a "Lift" button
Punishment Types
| Type | Effect |
|---|---|
| Warning | Warning recorded on the account — no access restriction |
| Temporary Ban | Prevents the user from logging in to the website for the specified duration |
| Permanent Ban | Permanently blocks website login |
Issuing a Punishment
- Click Create in the Web Punishments dashboard.
- Enter the target username, punishment type, reason, and duration (for temporary bans).
- Save — the punishment takes effect immediately and the user is notified via Discord DM.
Lifting a Punishment
Locate the active punishment in the dashboard and click Lift. Only ACTIVE punishments on the WEB platform can be lifted.
For Players — Appeals
If you believe a punishment was issued unfairly, you can appeal at /appeal.
Discord Punishment Appeals
- Navigate to
/appealand locate your punishment. - Enter a clear reason for your appeal and submit.
Appeal rules:
- Only you can appeal your own punishment.
- You cannot submit a duplicate appeal while one is still pending.
- Inactive punishments cannot be appealed.
Your appeal will be reviewed by staff, who may approve or reject it with optional notes.
Web Punishment Appeals
Web punishment appeals are handled through the ticket system. Head to /appeal and your request will be routed into a dedicated appeal support ticket for staff review.
Public Punishment Log
The /punishments page shows a public log of active punishments, keeping your moderation transparent and accountable to your community.