Punishment
Punishment provides server staff with basic commands to moderate and keep the server in order. From warning to banning, Punishment has a range of helpful features to deal with players depending on the offence they make.
Bukkit - view plugin on bukkit.org
Spigot - view plugin on spigot.org
Sponge - view plugin on spongepowered.org (coming soon)
Punishment Discord Server - need quick support or have a suggestion? Come pop by!
Punishment Source Code - fork, pull, clone, everything you need is here!
Punishment Plugin Metrics - all those snazzy statistics!
Features
- Warning - Warn a player with a custom message. Warning a player will send them the custom message as a formal warning.
- Muting - Mute a player with a custom duration. Muting a player prevents them from sending chat messages. The player will remain muted upon disconnecting and re-connecting to the server.
- Freezing - Freeze a player with a custom duration. Freezing a player prevents them from moving, breaking blocks, placing blocks, interacting with the world, and running chat commands. The player will remain frozen upon disconnecting and re-connecting to the server.
- Jailing - Jail a player in a custom location with a custom duration. Jailing a player prevents them from breaking blocks, placing blocks, interacting with the world, and running chat commands. The player will remain jailed upon disconnecting and re-connecting to the server.
- Kicking - Kick a player with a custom message. Kicking a player will disconnect them from the server and display to them the custom message.
- Banning - Ban a player with a custom duration and message. Banning a player will disconnect them from the server and display to them the custom message, as well as prevent them from re-connecting to the server until the duration has expired or they have been manually unbanned. Banning supports SQLite and MySQL databases.
- Notes - Staff members can create, delete, view, and manage custom player notes to help keep track of players long-term.
- Tickets - Players can create support tickets that will be displayed to all online staff members. Staff members can claim, delete, view, and manage these tickets to help handle player support.
- Command Immunity - Prevent your Admins and higher ranks from being punished by lower ranks.
- Command Logging - Tired of searching through your server.log for things? All Punishment commands that are issued are logged under punishment.log for easy access.
- Language File - Completely customise almost all messages and colour codes within Punishment.
Installation
Drag and drop Punishment.jar into your servers plugin directory.
Configuration
View the default configuration here.
Commands
View the list of available commands here.
Permissions
View the list of available permissions here.
Language
Want to help translate Punishment and make it available in all languages? Simply grab the English lang.yml and upload your translated version to pastebin.com. Your help will be greatly appreciated!
Updates
Punishment will automatically search and notify you of any updates upon server start. If you wish to disable this feature, set the following Punishment config.yml setting: 'updates: false'
Metrics
Punishment utilises Metrics to collect useful information and sends it to mcstats.org. If you wish to disable this feature, set the following Punishment config.yml setting: 'metrics: false'
Planned Features
- /muteall, /freezeall, /kickall commands.
- IP bans.
- Improved /banimport to import bans from popular Bukkit plugins files/databases as well as import vanilla Bukkit bans.
- /banexport to export your bans to vanilla Bukkit bans as well as export a simple uuid list.
- Banned words and phrases.
- Add a 'strike' feature for staff members to give to players according to what offence they make. Strikes will accumulate and certain console commands can be run depending on the strike amount.
- Admin/Staff GUI menu.
- Config section to allow Punishment commands to be manually disabled.
- Command aliases to avoid conflicts with other plugins.
- Time parameter limits to avoid excessive punishment lengths.
@ClumsyJack
Interesting, I'll have to dig around and see what I can do. Thanks for letting me know.
@xDeeKay yup, I'm 1000% certain the MySQL info is correct and the MySQL server is on and working. Even when the console starts up, it says '[Punishment] Using MySQL database' and it has no errors. And when I say they don't get network banned, I mean that they only get banned on that server that you executed the command on and they don't get banned anywhere else.
@ClumsyJack
If you're certain the MySQL info is correct for both servers then that's all that should be required on your end. I haven't tested Punishment alongside BungeeCord but I'm fairly sure they should be compatible in the way you're trying to achieve.
When you say "they don't get network banned" do you mean the banned player is able to join the other server, or that they are not kicked from the server when banned?
Hey! I now have a BungeeCord network and I've put the MySQL info in each of the configs on the Spigot servers, but when I ban a player on one server, they don't get network banned! I don't know if I've configured it wrong or it's just not working. All help is highly appreciated, thank you :D
@Michael3038
Fair request, I'll add it to the to-do list. I plan on getting back into the swing of things for version 2.1.
In the config, can you let us disable certain commands? Like I have essentials and I don't want Punishment to override ban ipban etc
@mukulibukuli
The <jail> parameter is the name you want to give the jail. That jail will be set in the location you're currently standing.
What should i put in the <jail> part of setjail? i tried the coords but it says its incorrect usage PLZZZ HELP!!! ITS AN AWESOME PLUGIN BTW!!!!
OK, awesome :D
Yeah, I found another bug. Well, I thought the permanent ban thing worked, but it didn't. Players can still join after I did /ban (player) permanent (reason) and they weren't using hacks. So until this is fixed I'm just banning their IP for now from the essentials plugin. Thanks for your hard work that you're putting into this amazing plugin :D and I hope this bug will be fixed soon :P
@ClumsyJack
This must have been something I overlooked, thanks for letting me know! I've been holding off on 2.1 until bugs start to show and features come to mind, so this will definitely be fixed in 2.1. If you find any other issues, please let me know asap.
Oh yeah, I see. But when you permanent ban someone, on the time it's just an empty space, so like for example: "You have been BANNED! For Griefing by Clumsysaurus. Your ban will expire in: ." Is there a way you could change it to 'Never' in 2.1? Or were you already planning that?
I reallllllllllllllllllllllllllllllllllllly love this plugin, and I have noticed some bugs, but after they're squashed this plugin will be as good as new <3
@ClumsyJack
Thanks, glad you like it! You can currently permanently ban a player by using the string "permanent", "perma", "perm", or "p" where the 'time' argument goes, for example: /ban xDeeKay permanent Griefing
Permanency for the rest of the commands will most likely come in 2.1.
Awesome plugin! Really useful. But could you add an option to perm mute/ban? Thanks
@xDeeKay To be honest I hadn't experimented with the ticket system you had in place until last night so I was totally unaware that it was a scoreboard ran system. Usually I'm not a big fan of visible scoreboards, but considering its role - I like it. There's no feature within this plugin that isn't useful.
OK there have been some problems with my prefix tablist plugin alternative and I may have to revert back to ColoredTags, so the news of a conflict fix from your end is well appreciated!
Thank you and best of luck with 2.1!
@HorizontalJon
Hey, thanks for the feedback!
Yeah, Punishment will display any active tickets in a scoreboard to the right of your screen if you have the permission "punishment.ticket.staff". I believe my plugin sets the "main" scoreboard, which would conflict with any other plugin that sets the main scoreboard also. I believe the second plugin you tried was setting a new scoreboard rather than the main, therefore there were 0 conflicts.
This should be an easy fix, I'll go ahead and switch out the main scoreboard for a new scoreboard which should remove these conflicts you're having. This change should be active in version 2.1 :)
Hey DeeKay, I love this plugin and how its 'outside the box' to traditional methods of player punishments. I have found a little plugin conflict however with ColoredTags (http://dev.bukkit.org/bukkit-plugins/colored-tags/), which works on the basis of the scoreboard system. Is there a scoreboard system within Punishment that I simply am not aware of? I would like to use both, preferably. Most prefix in tablist plugins do use the scoreboard system (as far as I know) so if this problem is related to this I would like to know whether or not Punishment would always be affected by this conflict or not or if it is simply a single plugin conflict. Thanks!
Edit: OK I tried another prefix tablist plugin and there was no conflict this time. Still might be useful info to know though, for you?
After a long wait, Punishment 2.0 has finally been released with bountiful features! Make sure you check out the changelog for any necessary information, as well as the Commands and Permissions pages, as they have been updated quite significantly.
If you're upgrading to version 2.0 from version 1.6 and you have bans from your bannedplayers.txt file that you wish to convert, simply run the /banimport command and they will be automatically imported into the new ban database. This is a quick solution for old bans, and the /banimport command will be improved upon in future versions.
If English isn't your native language and you want to help me translate Punishment, check out the Language section above. I'm always looking for ways to improve Punishment, so your help will be greatly appreciated!
Lastly, apologies for such the long wait. This was a fairly large undertaking for me as I had to tear the plugin from the ground up and completely re-code everything. If you find any issues, please report them to me. You can quickly contact me for support over at my Punishment Discord Server, or if you're shy, alternatively you can leave a comment below or report the issue to my GitHub page.
Thanks, and enjoy!
Apologies for the very long delay in releasing 2.0, I've been very caught up with other things in my life that I had to put this on hold. Not to worry though, I'm continuing the update and it should be released very soon! Thank you for your patience and interest in the plugin, it's much appreciated!
Hey out of curiosity, are you still in the process of recoding this? I'm very interested in using it if you are :)
Thought I'd give a little update on the plugin and what's going on with it, for those that are interested.
I'm currently about 50% (give or take) through totally re-coding the plugin. It will be much more optimised and contain tons of new features than the current version.
Punishment 2.0 will include new features such as:
Do note, many of these features will become more fleshed out over time, and I can't guarantee they will all be in version 2.0, but you will definitely see them over time. I hope some of these features have interested you and that you will continue using Punishment! =)