DamnHim
[i] Graphical presentation comes when project is accepted
What's DamnHim
DamnHim is a plugin that allow players to report another player how's cheating, insulting, or doing something bad when moderators are away.
Moderators can see the number of reports that is in the waitlist when they come in the server and have fast access to the report list.
DamnHim can tempban when a player is too much reported.
For example, you have a server that have everyday 30 players connected, and suddently a player come and make troubles, and you've configured DamnHim for tempban 600 seconds (10 min) a player that has been reported 10 times. 10 of your players reported him, he's tempbanned.
NOTE : tempban function requires essentials !
Features
- Report a player
- See how is reported
- See who reported who
- Tempban a player who have too much reports
- Message admins when they login with the number of reports in wait
- And more!
Commands
- /damnhim - this is the main command. Aliases : dh, damn
- /dh version - get some information about the plugin
- /dh reload - reload the configuration file of the plugin
- /dh lang <file> - use the file <file> as the language file. File must be a correct file without its extension and placed in /plugin/damnhim/lang. By default, the languages french and english are installed. Just type /dh lang french or /dh lang english for generate the file.
- /dh reasons - list the available reasons for reporting users. Useless when useReasons is disabled in the config.
- /dh list - list the reports
- /dh info <player> - list the reports about <player>
- /dh info <player> <reporter> - detail the <reporter>'s report about <player>
- /dh clear <player> - clear reports about <player>
- /report <player> <reason> - report a player with a <reason>. If useReason is disabled, <reason> can be everything, like /report Hawezo This is just a test
How to report a player
It's (very) simple.
Just type the command /report [player] [reason].
For example, if the player is named Hawezo and useReasonList is set to false on the configuration, you can type :
/report Hawezo I think this guy is cheating on the survival world
But if useReasonList is set to true, you MUST remplace [reason] by a reason in the useReason list.
For example, if the player is Hawezo too but the list is :
reasonList: - Spam - Cheating - Insult - Hack - Pouet
You can type /report Hawezo Spam
But you can't type /report Hawezo Something else
Configuration file
languageFile: english #The language file in the folder /damnhim/lang/ useReasonList: true #If true, the reports reasons must being in the list reasonList reasonList: - Spam - Insults - Cheat - Hack tempbanOnReports: true #If true, user that have been reported x times will be tempbanned during n seconds reportsToTempban: 8 #The x part of the previous explaination :) tempbanDuration: 600 #The n part of the previous explaination :) avertReportedPlayer: true #If true, players that have just been reported will be notified permCannotBeReported: true #If true, players that have the permission damnhim.bypass (or operator) can't be reported tellPlayerTheyWereCleared: true #If true, when a moderator clears a player report file, this player will be notified
Permissions
damnhim.*: default: op description: Full access to DamnHim damnhim.report: default: true description: Allow /report command damnhim.admin: default: op description: Allow administration to DamnHim damnhim.bypass: default: op description: Users cannot report his user damnhim.getreports: default: op description: Allow user to get reports informations. Useful for moderators that are non-op
Languages files
For having default language files, go to the language file page.
This page contains informations about these files and the default files, english and french.
Known problems
- Sometimes, op do not receive the message when a player is reported
- When a vanished player logs in, it generates an error (nullPointerException). Thanks to DrkMatr1984 :)
To do
- Own tempban system
- Fix known issues
- Change YAML report files to SQL (suggested by Cannafix)
- Any idea ?
Tags
Report, reporter, reports, admin, tempban, report command, easy to use, Hawezo, Nicecraft
@DrkMatr1984
Hi, thanks for your return ! I'll fix that as soon as possible :) Thanks for this fix suggestion, I think I'll do what you say ^^
@Hawezo
[DamnHim] Task #1313 for DamnHim v0.103 generated an exception java.lang.NullPointerException at fr.nicecraft.damnhim.DamnHim$1.run(DamnHim.java:93) [?:?]
Hi! Your plugin is a GREAT idea! Anyway, I found an error. If a player logs in as vanished it creates a nullpoint exception. I'd say just check for null before passing the value at line 93 there and you should be fine. Other then that you could try to show the player at PlayerLoginEvent, get the data that you need, and then rehide them quick.
@Cannafix
Hi, thanks for the return :) I'm new to Java plugin development, so I don"t know how to create a backend, and I don't see how it could be used, because each user have a file ? :/ But I keep the idea for later ^^
And the tempban is on the todo list.. :) Thanks again !
Hi. the plugin is nice, but i am missing some features like MySql backend and a custom tempban command so it will work with all ban systems :-)