SMP Punishments | Voice & Mute & Bans v1.1.2

Fast, modern, punishment suite for Spigot, Paper, and Folia. Supports Voice Chat.
New Project (6).jpg
1776815673860.png

SMP Punishments
Minecraft Punishments Plugin for DonutSMP-Style Servers

Fast, modern, configurable ban, mute, kick, IP-ban, history, and moderation GUI suite for Bukkit, Spigot, Paper, and Folia.

Overview

SMP Punishments is a modern Minecraft punishments plugin built for SMP servers, DonutSMP-style servers, and staff teams that need more than basic punishment commands.

This plugin is designed to cover the full moderation workflow in one place:
  • temporary and permanent bans
  • temporary and permanent mutes
  • kick actions
  • freeze actions
  • IP bans and IP unbans
  • public punishment ID lookup
  • ban, mute, and player history tools
  • GUI-based punishment flow
  • SQLite and MySQL storage
  • shared-database network-ready setup
  • PlaceholderAPI support
  • Discord webhook support
  • Simple Voice Chat mute blocking

If you are searching for a Donut Punishments plugin, DonutSMP Punishments, Minecraft ban plugin, Minecraft mute plugin, Paper punishments plugin, Folia punishments plugin, or a GUI moderation plugin for SMP servers, SMP Punishments is built to deliver that moderation style with cleaner configuration, stronger day-to-day usability, and a more complete staff workflow.

Why SMP Punishments

Many punishment plugins stop at basic commands.

SMP Punishments is built as a full Minecraft moderation suite with real daily-use features:
  • pre-login ban checks
  • mute chat enforcement
  • muted command blocking
  • voice chat mute blocking
  • GUI player selection
  • GUI reason selection
  • public punishment IDs
  • configurable punishment screens
  • history and audit visibility
  • shared-database support for multi-server setups
  • staff notifications for blocked join attempts

This makes it a strong fit for:
  • DonutSMP-style servers
  • survival SMPs
  • economy servers
  • practice servers
  • PvP servers
  • Paper networks
  • Folia servers
  • staff-heavy moderated communities

In-Game Screenshots


Ban player GUI for SMP Punishments

Minecraft ban screen with punishment ID and appeal URL


Mute list and punishment confirmation chat output


Core Features

SMP Punishments combines ban management, mute management, kick tools, freeze tools, IP punishment support, GUI moderation, history lookup, and staff visibility tools in one plugin.

It is built for owners searching for:
  • Minecraft punishments plugin
  • DonutSMP punishments
  • ban mute kick plugin
  • IP ban plugin
  • Paper moderation plugin
  • Folia moderation plugin
  • SMP moderation plugin
  • staff punishment GUI plugin

Ban System

SMP Punishments supports both temporary and permanent bans.

Included:
  • ban by player name
  • IP ban support
  • pre-login join checks
  • configurable broadcast format
  • configurable ban screen
  • appeal URL support
  • history lookup
  • active ban lists
  • public punishment IDs

Default shipped ban reasons include:
  • Advertising
  • Attempting to crash the server
  • Bug abuse
  • Cheating
  • Doxxing
  • Duping
  • NSFW
  • Racism

Examples of shipped default durations:
  • Cheating = 7d
  • Bug abuse = 14d
  • Advertising = 30d
  • Duping = 30d
  • Doxxing = permanent

Mute System

Mutes support both temporary and permanent behavior.

Included:
  • chat mute enforcement
  • command blocking for muted players
  • configurable mute message
  • configurable mute broadcast
  • optional Simple Voice Chat blocking
  • mute history lookup
  • active mute lists

Two mute behavior modes are supported:
  • CANCEL — message is blocked and player is informed
  • IGNORE — message is hidden from others while sender still sees it

Muted command control supports both:
  • BLACKLIST
  • WHITELIST

Default blocked examples in the shipped config:
Code:
/msg
/tell
/w
/whisper
/r
/reply
/mail send

Default shipped mute reasons include:
  • Advertising
  • Argument starting
  • Background noise
  • Baiting
  • Begging
  • Bypassing filter
  • Caps
  • Channel misuse
  • Character spam
  • Disrespect
  • Doxxing
  • Ear rape
  • Hate speech
  • Mic spam
  • NSFW
  • Off topic
  • Ping spam
  • Racism
  • Self promotion
  • Slurs
  • Spam
  • Threats
  • Trolling

Kick System

Kicks are fast, configurable, and integrated into the same punishment workflow.

Included:
  • kick command
  • kick reason presets
  • configurable broadcast
  • configurable kick screen
  • appeal URL placeholder support

Default shipped kick reasons:
  • Advertising
  • Disrespect
  • Spam
  • Showcase

Freeze System

Freeze lets staff temporarily lock a player in place during moderation situations.

Included:
  • freeze toggle command
  • movement blocking
  • permission bypass support
  • staff workflow compatibility

GUI Moderation Workflow

SMP Punishments includes a fast GUI moderation system for staff who want to punish players visually instead of relying only on commands.

Included:
  • player selector GUI with heads
  • reason selector GUI for bans, mutes, and kicks
  • configurable menu titles and layout settings
  • staff-friendly visual punishment flow
  • player punishment stats shown in GUI lore

This is especially useful for servers looking for a DonutSMP-style punishments GUI with cleaner staff flow and easier training for moderators.

History and Lookup

Staff can inspect punishments quickly through history and public ID lookup tools.

Included:
  • full history by player
  • ban-only history
  • mute-only history
  • punishment lookup by public ID
  • active ban list
  • active mute list
  • clear active bans
  • clear active mutes

Hooks and Integrations

SMP Punishments includes optional integrations for modern server stacks.

Supported hooks:
  • PlaceholderAPI
  • Simple Voice Chat
  • Discord webhook

Bundled language files:
  • English
  • Spanish
  • German
  • French
  • Italian
  • Portuguese
  • Russian

Storage and Network Mode

SMP Punishments supports both SQLite and MySQL.

Use SQLite for:
  • single SMP servers
  • simple installs
  • local punishment storage

Use MySQL for:
  • shared punishment storage
  • multi-server setups
  • cross-server punishment visibility
  • network-ready moderation environments

This makes SMP Punishments suitable both as a local Minecraft punishments plugin and as a shared-database moderation system for larger Paper or Folia environments.

Commands

Code:
/smppunishments
/punishments
/sp
/smpp

/ban <player> [duration] <reason>
/tempban <player> [duration] <reason>

/banip <player|ip> [duration] <reason>

/unban <player>
/pardon <player>

/unbanip <ip>

/mute <player> [duration] <reason>
/tempmute <player> [duration] <reason>

/unmute <player>

/kick <player> <reason>

/freeze <player>
/ss <player>
/stopchat <player>

/history <player>
/punhistory <player>

/banhistory <player>

/mutehistory <player>

/banlist
/listbans

/mutelist
/listmutes

/clearbans

/clearmutes

/searchid <id>
/puninfo <id>
/baninfo <id>
/muteinfo <id>

/notify

Permissions

Core admin
Code:
smppunishments.*
smppunishments.admin
smppunishments.notify

Punishment commands
Code:
smppunishments.ban
smppunishments.banip
smppunishments.unban
smppunishments.unbanip
smppunishments.mute
smppunishments.unmute
smppunishments.kick
smppunishments.freeze

History and lookup
Code:
smppunishments.history
smppunishments.history.ban
smppunishments.history.mute
smppunishments.searchid
smppunishments.list.bans
smppunishments.list.mutes
smppunishments.clear.bans
smppunishments.clear.mutes

Bypass
Code:
smppunishments.bypass.mute
smppunishments.bypass.freeze

Duration control
Code:
smppunishments.duration.permanent
smppunishments.duration.30d
smppunishments.duration.90d
smppunishments.duration.180d
smppunishments.duration.365d

GUI
Code:
smppunishments.gui

Usage Examples

Temporary ban
Code:
/ban Steve 7d Cheating

Permanent ban
Code:
/ban Steve permanent Duping

IP ban
Code:
/banip Steve 30d Advertising

Temporary mute
Code:
/mute Alex 2h Disrespect

Permanent mute
Code:
/mute Alex permanent Racism

Kick
Code:
/kick Alex Spam

Freeze
Code:
/freeze Alex

Lookup punishment by ID
Code:
/searchid FV0XV0

Show player history
Code:
/history Steve
/banhistory Steve
/mutehistory Steve

Configuration

SMP Punishments is built to be configured from files, not hardcoded.

Main config — config.yml

Code:
storage:
  type: SQLITE
  sqlite-file: data.db
  mysql:
    jdbc-url: "jdbc:mysql://127.0.0.1:3306/smp_punishments?useSSL=false&allowPublicKeyRetrieval=true&characterEncoding=utf8"
    username: "root"
    password: "change-me"
    maximum-pool-size: 8
    connection-timeout-ms: 10000
    idle-timeout-ms: 600000
    max-lifetime-ms: 1740000

network:
  enabled: false
  server-id: ""
  server-name: "survival-1"
  sync-poll-interval-ticks: 20
  sync-expiration-ms: 10000
  stale-cleanup-multiplier: 10

hooks:
  placeholderapi: true
  simple-voice-chat: true
  discord-webhook:
    enabled: false
    url: ""
    username: "SMP Punishments"
    avatar-url: ""

appeal-url: "https://discord.gg/yourserver"
client-language-fallback: "en"
check-join-ban-on-prelogin: true
freeze-block-movement: true
log-debug: false

mute:
  mode: CANCEL
  commands:
    mode: BLACKLIST
    list:
      - "/msg"
      - "/tell"
      - "/w"
      - "/whisper"
      - "/r"
      - "/reply"
      - "/mail send"
  notify-format: "<red>You are muted for <white>%reason%</white> <gray>(%time_left%)</gray>"

limits:
  default-max-duration: "1y"
  permission-max-durations:
    smppunishments.duration.30d: "30d"
    smppunishments.duration.90d: "90d"
    smppunishments.duration.180d: "180d"
    smppunishments.duration.365d: "1y"

menus:
  player-selector:
    enabled: true
    title-ban: "<red><bold>Select player to ban"
    title-mute: "<yellow><bold>Select player to mute"
    title-kick: "<gold><bold>Select player to kick"
    size: 54
    previous-slot: 45
    next-slot: 53
    back-slot: 49
  reason-selector:
    title-ban: "<red><bold>Select ban reason"
    title-mute: "<yellow><bold>Select mute reason"
    title-kick: "<gold><bold>Select kick reason"
    size: 54
    back-slot: 49

format:
  use-minimessage: true
  placeholderapi-in-messages: true

Ban config — bans.yml

Code:
settings:
  allow-permanent: true
  default-duration: "30d"
  broadcast: "<gray>[<red>Ban<gray>] <white>%target%</white> <gray>by</gray> <white>%actor%</white> <gray>for</gray> <yellow>%reason%</yellow> <gray>(%duration%)</gray>"
  screen:
    - "<red><bold>You are banned from this server!"
    - "<gray>Banned on: <white>%created_at%"
    - "<gray>Reason: <yellow>%reason%"
    - "<gray>Ban ID: <white>#%id%"
    - "<gray>%appeal_line%"
  appeal-line: "Appeal at: %url%"
reasons:
  ADVERTISING:
    display: "Advertising"
    duration: "30d"
  ATTEMPTING_TO_CRASH_SERVER:
    display: "Attempting to crash the server"
    duration: "30d"
  BUG_ABUSE:
    display: "Bug abuse"
    duration: "14d"
  CHEATING:
    display: "Cheating"
    duration: "7d"
  DOXXING:
    display: "Doxxing"
    duration: "permanent"
  DUPING:
    display: "Duping"
    duration: "30d"
  NSFW:
    display: "NSFW"
    duration: "10d"
  RACISM:
    display: "Racism"
    duration: "20d"

Mute config — mutes.yml

Code:
settings:
  allow-permanent: true
  default-duration: "1h"
  broadcast: "<gray>[<yellow>Mute<gray>] <white>%target%</white> <gray>by</gray> <white>%actor%</white> <gray>for</gray> <yellow>%reason%</yellow> <gray>(%duration%)</gray>"
  voice-chat-blocked-message: "<red>Your Simple Voice Chat audio is blocked while muted."
reasons:
  ADVERTISING:
    display: "Advertising"
    duration: "7d"
  ARGUMENT_STARTING:
    display: "Argument starting"
    duration: "2h"
  BACKGROUND_NOISE:
    display: "Background noise"
    duration: "30m"
  BAITING:
    display: "Baiting"
    duration: "2h"
  BEGGING:
    display: "Begging"
    duration: "1h"
  BYPASSING_FILTER:
    display: "Bypassing filter"
    duration: "6h"
  CAPS:
    display: "Caps"
    duration: "15m"
  CHANNEL_MISUSE:
    display: "Channel misuse"
    duration: "1h"
  CHARACTER_SPAM:
    display: "Character spam"
    duration: "1h"
  DISRESPECT:
    display: "Disrespect"
    duration: "2h"
  DOXXING:
    display: "Doxxing"
    duration: "permanent"
  EAR_RAPE:
    display: "Ear rape"
    duration: "3h"
  HATE_SPEECH:
    display: "Hate speech"
    duration: "permanent"
  MIC_SPAM:
    display: "Mic spam"
    duration: "2h"
  NSFW:
    display: "NSFW"
    duration: "12h"
  OFF_TOPIC:
    display: "Off topic"
    duration: "30m"
  PING_SPAM:
    display: "Ping spam"
    duration: "3h"
  RACISM:
    display: "Racism"
    duration: "permanent"
  SELF_PROMOTION:
    display: "Self promotion"
    duration: "3h"
  SLURS:
    display: "Slurs"
    duration: "permanent"
  SPAM:
    display: "Spam"
    duration: "1h"
  THREATS:
    display: "Threats"
    duration: "12h"
  TROLLING:
    display: "Trolling"
    duration: "2h"

Kick config — kicks.yml

Code:
settings:
  broadcast: "<gray>[<gold>Kick<gray>] <white>%target%</white> <gray>by</gray> <white>%actor%</white> <gray>for</gray> <yellow>%reason%</yellow>"
  screen:
    - "<red><bold>You have been kicked!"
    - "<gray>Reason: <yellow>%reason%"
    - "<gray>Appeal: <white>%url%"
reasons:
  ADVERTISING:
    display: "Advertising"
  DISRESPECT:
    display: "Disrespect"
  SPAM:
    display: "Spam"
  SHOWCASE:
    display: "Showcase"

English language file — lang/en.yml

Code:
prefix: "<gray>[<aqua>SMPPunishments<gray>] "
messages:
  no-permission: "<red>You do not have permission."
  player-only: "<red>Only players can use this."
  player-not-found: "<red>Player <white>%player%</white> was not found."
  player-never-seen: "<red>Player <white>%player%</white> never joined this server."
  invalid-duration: "<red>Invalid duration: <white>%input%</white>"
  duration-too-long: "<red>Max allowed duration for you is <white>%max%</white>"
  permanent-not-allowed: "<red>Permanent punishments are not allowed here."
  punishment-created: "<green>%type% applied to <white>%target%</white> <gray>(#%id%)</gray>"
  punishment-removed: "<green>%type% removed from <white>%target%</white>."
  punishment-not-found: "<red>No punishment found for <white>%target%</white>."
  punishment-id-not-found: "<red>No punishment found for ID <white>#%id%</white>."
  reloaded: "<green>SMP Punishments reloaded."
  muted-chat-blocked: "<red>You are muted for <white>%reason%</white> <gray>(%time_left%)</gray>"
  muted-command-blocked: "<red>You cannot use that command while muted."
  freeze-enabled: "<yellow>%target%</yellow> is now frozen."
  freeze-disabled: "<green>%target%</green> is no longer frozen."
  gui-open-hint: "<gray>Tip: left click to select."
  history-header: "<aqua>History for <white>%target%</white> <gray>(%count%)</gray>"
  list-header: "<aqua>%type% list <gray>(%count%)</gray>"
  webhook-failed: "<red>Discord webhook failed. See console."
  active-yes: "<green>Yes"
  active-no: "<red>No"
  permanent: "Permanent"
  unknown: "Unknown"
  notify-enabled: "<green>Staff notifications enabled."
  notify-disabled: "<yellow>Staff notifications disabled."
  notify-ban-attempt: "<red>Blocked join attempt</red> <gray>|</gray> <white>%player%</white> <gray>(%uuid%)</gray> <gray>| IP:</gray> <white>%ip%</white> <gray>| Match:</gray> <white>%source%</white> <gray>| Ban:</gray> <white>#%id%</white> <gray>| Reason:</gray> <white>%reason%</white>"

Join Notifications and Staff Monitoring

SMP Punishments includes live notification messaging for blocked join attempts.

This is useful for staff who want visibility when:
  • a banned player attempts to rejoin
  • an IP match is triggered
  • a punishment ID needs to be referenced quickly
  • staff want live moderation visibility

The default notify format includes:
  • player name
  • UUID
  • IP
  • match source
  • ban ID
  • reason

Installation

  1. Place the plugin jar in your plugins folder.
  2. Start the server once.
  3. Edit config.yml, bans.yml, mutes.yml, kicks.yml, and language files as needed.
  4. Choose SQLite or MySQL storage.
  5. Set your appeal URL.
  6. Configure moderation reasons and durations.
  7. Grant permissions to your staff groups.
  8. Restart the server or use /smppunishments reload.

Optional:
  • Install PlaceholderAPI if you want placeholder support.
  • Install Simple Voice Chat if you want voice mute blocking.
  • Configure Discord webhook if you want punishment logs sent externally.

Recommended Use Cases

SMP Punishments is a strong fit for:
  • survival SMP servers
  • Donut-style SMP servers
  • networked setups using shared MySQL storage
  • staff-heavy moderated communities
  • servers that need cleaner punishment screens and better history tools
  • servers that want GUI moderation in addition to CLI commands

What Makes This Resource Valuable

This resource is not positioned as a tiny utility plugin.

It is a full punishment suite with:
  • real command coverage
  • real configuration depth
  • real moderation workflow
  • real GUI flow
  • real history and lookup tools
  • real network-ready storage support
  • real hooks for modern server stacks

If you want a punishment system that is modern, configurable, practical for staff, and suitable for serious SMP operations, SMP Punishments is built for exactly that.

SMP Punishments
Fast moderation. Clean workflow. Configurable punishment system.

Latest reviews

Good plugin and the developer is very helpful with everything!
LinsaFTW
LinsaFTW
Thank you so much !!!
good plugin and good service
LinsaFTW
LinsaFTW
Thank you !!!
Buy a license now
$4.99
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
Lifetime
Share and earn
Refer this resource and earn a 20% commission.
1,064 Views
16 Purchases
12 Downloads
Apr 16, 2026 Published
Jul 5, 2026 Updated
5.00 star(s)
Average rating (2)
18.8 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Chat
  1. Staff
Game mode
  1. Survival
  1. Factions
  1. Skyblock
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
  1. 1.15
  1. 1.14
  1. 1.13
  1. 1.11
  1. 1.10
  1. 1.9
  1. 1.8
  1. 1.7
Supported languages
  1. English
  1. Spanish
  1. Russian
  1. German
  1. French
  1. Portugese
Creator
Owner
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Host a lag-free Minecraft or Hytale server in minutes.
Get 25% off your first order with our link.
Recommended for you
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 45 ratings
3,135 purchases
The Ultimate Anti-Bot, Anti-VPN and High-Performance BungeeCord Fork for Minecraft Servers
5.00 star(s) 174 ratings
3,570 purchases
Smart performance plugin to limit Redstone contraptions and fix exploit lag machines.
5.00 star(s) 22 ratings
1,547 purchases
Stack Mobs | Optimizer | Particle Effects | Instant Kill | Asynchronous | No Lag | High Performance
5.00 star(s) 8 ratings
381 purchases
Paper 1.8.8 Fork | Security | Performance | Stability | Patches | Knockback | Tick Loop | Redstone
5.00 star(s) 39 ratings
492 purchases
Share and earn
Refer this resource and earn a 20% commission.
1,064 Views
16 Purchases
12 Downloads
Apr 16, 2026 Published
Jul 5, 2026 Updated
5.00 star(s)
Average rating (2)
18.8 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Chat
  1. Staff
Game mode
  1. Survival
  1. Factions
  1. Skyblock
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
  1. 1.15
  1. 1.14
  1. 1.13
  1. 1.11
  1. 1.10
  1. 1.9
  1. 1.8
  1. 1.7
Supported languages
  1. English
  1. Spanish
  1. Russian
  1. German
  1. French
  1. Portugese
Creator
Owner
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Host a lag-free Minecraft or Hytale server in minutes.
Get 25% off your first order with our link.
Recommended for you
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 45 ratings
3,135 purchases
The Ultimate Anti-Bot, Anti-VPN and High-Performance BungeeCord Fork for Minecraft Servers
5.00 star(s) 174 ratings
3,570 purchases
Smart performance plugin to limit Redstone contraptions and fix exploit lag machines.
5.00 star(s) 22 ratings
1,547 purchases
Stack Mobs | Optimizer | Particle Effects | Instant Kill | Asynchronous | No Lag | High Performance
5.00 star(s) 8 ratings
381 purchases
Paper 1.8.8 Fork | Security | Performance | Stability | Patches | Knockback | Tick Loop | Redstone
5.00 star(s) 39 ratings
492 purchases
Top