Punishment Commands¶
Configured in plugins/DonutSMPCore/punishments/config.yml. Permission strings are configurable; defaults shown below.
Apply punishments¶
| Command | Aliases | Permission | Description |
|---|---|---|---|
/offend <player> <reason> [duration] |
ban |
donutsmpcore.punishments.ban |
Ban player |
/tempban <player> <reason> <duration> |
— | ban | Temporary ban |
/offendip <player> <reason> [duration] |
banip, ipban |
ban | IP ban (+ linked accounts) |
/altban <player> [reason] |
— | ban | Ban all alts |
/mute <player> <reason> [duration] |
— | donutsmpcore.punishments.mute |
Mute player |
/tempmute <player> <reason> <duration> |
— | mute | Temporary mute |
/muteip <player> <reason> [duration] |
ipmute |
mute | IP mute alts |
/kick <player> [reason] |
— | donutsmpcore.punishments.kick |
Kick player |
/warn <player> [reason] |
— | donutsmpcore.punishments.warn |
Warn player |
/unban <player\|id> |
— | ban | Unban |
/unmute <player\|id> |
— | mute | Unmute |
/pardon <id> |
— | ban | Pardon by offend ID |
/unwarn <player> |
— | warn | Remove warning |
Flags¶
Ban/mute commands support optional flags:
-s— silent (no broadcast)-N— no notification to player
Example: /offend -s PlayerName Cheating 7d
GUI¶
| Command | Permission | Description |
|---|---|---|
/punish <player> |
donutsmpcore.punishments.punish |
Punishment GUI |
When punish-gui.enabled: false in config, /punish shows command hints instead.
Lookup & history¶
| Command | Aliases | Permission | Description |
|---|---|---|---|
/check <offendId> |
— | staff | Lookup punishment by ID |
/checkban <player> |
— | staff | Check ban status |
/checkmute <player> |
— | staff | Check mute status |
/checkwarn <player> |
— | staff | Check warnings |
/warnings [player] |
— | staff | List warnings |
/banhistory <player> |
— | history | Ban history GUI |
/mutehistory <player> |
— | history | Mute history GUI |
/history <player> |
hist |
history | All history GUI |
/staffhistory <staff> [type] |
staffhist |
history | Staff action history |
/activebans |
— | admin | Active bans GUI |
/mutelist [page] |
activemutes |
admin | Active mutes GUI |
/staffstats [send] |
— | staff | Staff stats GUI |
Admin actions¶
| Command | Aliases | Permission | Description |
|---|---|---|---|
/undolast |
undo |
staff | Undo last punishment |
/modifypunishment <id> <reason> [duration] |
modifyban |
admin | Edit record |
/deletepunishment <id> |
— | admin | Delete record |
/prunehistory <player\|duration> |
— | admin | Prune old records |
/staffrollback <staff> [duration] |
— | admin | Roll back staff actions |
/punishmentsreload |
— | admin | Reload module |
Offend IDs¶
Each punishment gets an 8-character offend ID (e.g. ABCD1234):
Format: uppercase alphanumeric, no ambiguous characters (no 0, O, I, 1).
Configuration highlights¶
# punishments/config.yml
punish-gui:
enabled: false # command-based punishments by default
ip-ban:
enabled: true
store-addresses: true
ban-all-accounts-on-ip: false
See punishments/config.yml for messages, durations, GUI layouts, and permission overrides.