DonutPunishments v2.0

DonutPunishments: Cross-server kick, mute, tempmute, ban, tempban with MySQL support.
Added support for 1.13+
I have updated alot of things today.

Heres a list:
You now have a wipe command, so if you have a wipe command defined it will run that command when you /punish or /offend a player.

Cross server messages have been implemented (to use them you are required to have a redis database). If you have a pterodactyl panel you can host your own.

Ban exclude players:
You can now exclude players listed in the config.yml

I have added an unban/unmute wave command. you can do /punishments unbanwave/unmutewave. And it will unban/unmute all players that are currently banned/muted.

You will need to add these to your config.yml

YAML:
cross-server-messages: false # REDIS IS REQUIRED FOR THIS

redis:
  host: "127.0.0.1"
  port: 6379
  password: ""
  channel: "global-messages"


exclude_players:
  - player1
  - player2
  - player3
  - player4
  - player5
 
 
#Only use this if you have a command to wipe player data. You can use the placeholder %player% to use the player name
wipe-command: ""
Updated the plugin so that if the player changes their username they will not be unbanned
Added an auto punish alts feature

YAML:
license_key: "https://discord.gg/JttqRTAsyd"

cross-server-support: false # YOU MUST HAVE MYSQL FOR THE CROSS SERVER SUPPORT TO WORK
simple-voice-chat-support: false

database:
  type: "sqlite" # You can either use sqlite or mysql
  host: "127.0.0.1"
  port: "3306"
  database: "DonutPunishments"
  username: "DonutPunishmentsOnTop"
  password: "kf45mc is w"


auto-punish-alt: true
punish-command: "ban %player% 30d You have been banned for ban evading"

messages:
  ban-usage: "&cUsage: /ban <player> [duration] <reason>"
  unban-usage: "&cUsage: /unban <player>"
  not-banned: "&c%player% is not currently banned."
  not-muted: "&c%player% is not currently muted."
  unbanned: "&cUnbanned &f%player%"
  auto-punish: "&cAuto punished account %player% for joining while one of their alt accounts was banned"
  player-kicked: "&cKicked &f%player% &cwith reason: &f%reason%"
  player-banned: "&cTemporarily banned player &f%player% &cfor &f%duration% &cwith reason: &f%reason%"
  ban-alts-found: "&cWarning: Player &f%player% &chas these alt accounts: &f%alts%"
  player-punished: "&cPunishment executed with success. Offension: %offenses%"
  join-alert: "&c[DonutPunishments] &e%player% joined using the same IP as banned player(s): &c%banned%"
  player-perm-banned: "&cPermanently banned &f%player% &cwith reason: &f%reason%"
  mute-usage: "&cUsage: /mute <player> [duration] <reason>"
  player-muted: "&cMuted &f%player% &cfor &f%duration% &cwith reason: &f%reason%"
  voicechat-mute-message: "&cUnfortunately you are prohibited from using the voice chat due to active mute or previous punishment history."
  muted-chat-block: "&cYou are currently %duration% muted for: &f%reason%. &cThis will expire &f%expires%"
  player-not-found: "&cPlayer not found."
  unmuted: "&cUmuted &f%player%"
  ban-kick-message:
    - "&c%reason%"
    - "%expires%"
    - "&7Ban ID: &f%id%"
    - "&7You may be able to appeal this ban on\n&fdiscord.examplesmp.net"
  ban-kick-expires-line: "&7Time left: &f%expires%\n"
  error-sql: "&cA database error occurred."

# Enable or disable Discord webhook notifications for bans
enable-discord-webhook: false

# Discord webhook URL (only used if enabled)
discord-webhook-url: "your webhook url here"




reasons: # THiS IS USED FOR THE /punish AND THE /offend COMMAND
  hacking:
    type: "ban"
    duration: "15d"
    message: "You have been banned for cheating"

  xray/esp:
    type: "ban"
    duration: "30d"
    message: "You have been banned for xray/esp"

  bug abuse:
    type: "ban"
    duration: "30d" # LEAVE BLANK TO MAKE IT PERM
    message: "You have been banned for bug abuse"

  too much chat filters:
    type: "mute"
    duration: "30m"
    message: "You have been banned for setting off chat filters too much"

  abuse of voice chat:
    type: "mute"
    duration: "20d"
    message: "You have been banned for abuse of voice chat"
  donutpunishments is the best:
    type: "kick"
    duration: "69420d"
    message: "DonutPunishments is the best (https://builtbybit.com/resources/donutpunishments.69528/)"

Update your config.yml to this please.
2 simple bugs have been fixed

1. The mute listener, when a player talked in chat, before it would say they would be unmuted in like 4 months, when it was just like a 2h mute. Now it says the correct expire time
2. Fixed the ban id on the join whist banned message
3. Fixed the bug where if the player's ip changes, it would just add a new ip to the database, instead of changing the old one.
4. Added /alts command
5. Added a type to the punish/offend command, so you can choose if it is a mute, ban, or kick for example.


YAML:
reasons: # THiS IS USED FOR THE /punish AND THE /offend COMMAND
  hacking:
    type: "ban"
    duration: "15d"
    message: "You have been banned for cheating"

  xray/esp:
    type: "ban"
    duration: "30d"
    message: "You have been banned for xray/esp"

  bug abuse:
    type: "ban"
    duration: "30d" # LEAVE BLANK TO MAKE IT PERM
    message: "You have been banned for bug abuse"

  too much chat filters:
    type: "mute"
    duration: "30m"
    message: "You have been banned for setting off chat filters too much"

  abuse of voice chat:
    type: "mute"
    duration: "20d"
    message: "You have been banned for abuse of voice chat"
  donutpunishments is the best:
    type: "kick"
    duration: "69420d"
    message: "DonutPunishments is the best (https://builtbybit.com/resources/donutpunishments.69528/)"
Uploaded for new jar file
Updated to new license system
I have added simple voice chat support to the plugin so if the player is muted it will not allow them to speak.

You will need to add this to the config.yml

simple-voice-chat-support: false

and add this under messages:
voicechat-mute-message: "&cUnfortunately you are prohibited from using the voice chat due to active mute or previous punishment history."


I have also removed the Discord bot support as that was useless. The discord webhook support is still there though
Buy a license now
$7.50
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 11% commission.
4,956 Views
30 Purchases
53 Downloads
Jun 22, 2025 Published
May 12, 2026 Updated
5.00 star(s)
Average rating (8)
610.9 KB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. Gameplay
Game mode
  1. Survival & SMP
Game mode
  1. Survival
  1. Donut-like
Game mode (legacy)
  1. Survival
Supported software
  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
Supported languages
  1. English
Includes DRM
Yes
Source access (legacy)
Closed source & obfuscated
Creators
Recommended for you
A 1:1 Replica of the DonutSMP Season 2 sell with worth lore.
5.00 star(s) 9 ratings
61 purchases
A 1:1 DonutSMP tools plugin
4.50 star(s) 3 ratings
35 purchases
A actual replica of the DonutSMP shop
4.00 star(s) 2 ratings
29 purchases
A 1-1 DonutSMP Auction House (cross server support)
5.00 star(s) 7 ratings
26 purchases
The ONLY DonutSettings plugin out there
5.00 star(s) 2 ratings
18 purchases
Share and earn
Refer this resource and earn a 11% commission.
4,956 Views
30 Purchases
53 Downloads
Jun 22, 2025 Published
May 12, 2026 Updated
5.00 star(s)
Average rating (8)
610.9 KB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. Gameplay
Game mode
  1. Survival & SMP
Game mode
  1. Survival
  1. Donut-like
Game mode (legacy)
  1. Survival
Supported software
  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
Supported languages
  1. English
Includes DRM
Yes
Source access (legacy)
Closed source & obfuscated
Creators
Recommended for you
A 1:1 Replica of the DonutSMP Season 2 sell with worth lore.
5.00 star(s) 9 ratings
61 purchases
A 1:1 DonutSMP tools plugin
4.50 star(s) 3 ratings
35 purchases
A actual replica of the DonutSMP shop
4.00 star(s) 2 ratings
29 purchases
A 1-1 DonutSMP Auction House (cross server support)
5.00 star(s) 7 ratings
26 purchases
The ONLY DonutSettings plugin out there
5.00 star(s) 2 ratings
18 purchases
Top