DTPunishment - A Unique Punishment Plugin - API 5/7


#1

DTPunishment


DTPunishment is a unique punishment plugin designed by myself for my community, DragonTechMC. It’s purpose is to reduce errors in punishment (incorrect or lack of scaling in punishments), reduce strain on the staff and help keep chat clearer while staff are indisposed. It includes a point based punishment system, automatic punishments and a chat filter.


For Sponge API 7 and 5 (May work on 6 - untested)


:tada: Features:

  • Ban Points
  • Mute Points
  • Chat Filter
    • Caps
    • Character spam
    • Message spam
    • Word Filter
    • Word replacer
  • Automatic Punishments

More information can be found on the wiki.


:arrow_down: Download

:mag: Wiki

:floppy_disk: Source


:x: Issues

Please post any issues you find on our Github.

:speech_balloon: Community Discord
:busts_in_silhouette: Community Website
:moneybag: Community Patreon


Contributors


For any questions or queries, do not hesitate to post below, PM me or message me on Discord (yepidoodles#5971).

Alice Sellars
DragonTechMC


Other Plugins by DragonTechMC:


AntiSwear v1.3.7
[Request] Recommended Plugins!
#2

We are already using DTPunishment, and it is the perfect plugin to help in chat moderation.

The configs are easy to use and highly configurable, and the mute/ban points help moderate the chat when our staff members are not online. This is also the only plugin I have found so far that provides a reliable chat filter for Sponge 5.2.0 (Outside of UltimateChat, which adds a whole lot of other stuff), and allows you to disable nearly every feature to prevent conflicts with other plugins and to cover their downfalls.

If you want a chat moderation plugin and you do not want a lot of the other chat features UltimateChat provides, I highly recommend this plugin.


#3

Is this fully compatible with Nucleus? I know some plugins were having issues with it, when it came to the chat.


#4

To a degree, depends what you mean.


#5

I just mean with formatting, and the likes. Unsure to what extend your plugin modulates the chat. Did you test it with Nucleus yet?


#6

It was created for my server which uses Nucleus, It doesn't format chat, only filters it.


#7

Are the mutepoints and banpoints set to be stored in a database? I'm testing it and no matter what, the mutepoints don't add up, just stays on 0.


#8

Although I'm not the author of this it looks like there is a configuration option to get it to store to a flat file instead of a database:

                // When we register the module, we need to satisfy the interface for the
		// data store
		// Choose it here based on the config
		if (config.database.enabled)
			binder.bind(DataStore.class).to(MySqlDataStore.class).in(Scopes.SINGLETON);
		else
			binder.bind(DataStore.class).to(FileDataStore.class).in(Scopes.SINGLETON);

However as seen in the source this defaults to false:

        @Setting(comment = "Use MySQL database store instead of config file based storage")
		public Boolean enabled = false;

So unless you've turned on that database config it looks like it should save files in:

Path playerData = configDir.resolve(String.format("data/%s.conf", player));

I'd check to see if there are some data/<player-name or uuid>.conf files inside your configuration directory. Maybe there are some errors trying to create these files in some logs?


#9

Yeah you were right, there's an error when it tries to create the flatfile. https://pastebin.com/r2T7LGcd


#10

What version of Sponge are you using? (including if you're using Forge or Vanilla)


#11

You can bypass this issue by creating a data folder in the dtpunishment folder (it doesn't seem to generate automaticly), should be fixed soon :slight_smile:


#12

I did that and it worked! Thank you :slight_smile: Think you could possibly add a permission node that would allow people to bypass the filter? Also for some reason, no matter the amount of mutepoints set to be added on players when they use too many caps, it gives them 4.


#13

Would you be able to post further issues/ suggestions on our Github? They're much easier to keep track of :slight_smile: Thanks

But as for the permission bypass? Why do you want it? All players should follow the rules, no matter their rank.

I'll test the Caps Mute Points on my server, see if I get the same thing.

EDIT: Nope, I don't have this issue, make sure you use /dtp reloadconfig if you change it while your server is online, if it still doesn't work then, post it on the Github.


#14

Found my issue for the mutepoints thingy, thank you for the fast help :stuck_out_tongue:


#15

Version 0.9.6 Release

  • Fixes the Data folder not being created

New suggestions will be added for next update :slight_smile:

  • Alice

#16

If anyone is interested in helping me maintain this, please add me on Discord yepidoodles#5971

Thanks :slight_smile:

  • Alice

#17

Hello everyone,

I commissioned @Eufranio to port this plugin to 1.12.2 for me, so the release is now available to everyone.

https://github.com/DragonTechMC/DTPunishment/releases/tag/1.0.0

Changelog:

  • Updated to 1.12.2
  • Usernames are now ignored by the filter (so you don’t get points for saying people’s name which are in all caps etc).
  • Fixed a bug where people’s usernames (which were changed) weren’t updating correctly.
  • Added an optional word replacer.
  • Added a directory change option for file storage (So servers can share info on the same machine).
  • Added a messages.conf so you can add your own translations.
  • Now ignores extra channels (such as Nucleus’ staff chat)

All credit for this update goes to Eufranio, you can find his dev post here.

If you find any issues, please report them via the issue tracker on Github.

Have a wonderful day :slight_smile:

Alice
DragonTechMC