Skip to content

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):

/check ABCD1234
/pardon 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.