DynamicBan

Announcement: Version 1.3.1 is not compatible with current spigot versions!
Announcement: Version 1.3.1 is not compatible with current spigot versions!
A workaround is being worked on.
- Posted on (10.10.2014) by DJ Addi
- Kick, ban, IP-ban or range-ban players
- Temporarily ban or IP-ban players
- Automatically punish players that are blacklisted by DNSBL services
- Warn players and execute commands after a certain amount of warnings
- Get notified when two players with the same IP adress join or compare IPs manually per command
- Lock IPs to a single name
- Recieve a list of all players and their IPs from the console
- Make players immune to all commands or whitelist them to protect them from bans
- Check a player's status including warnings, kicks, bans, temporary bans and more
- Send players information about their own warnings whenever they login
- Purge a player's data with a simple command
- Fully costumizable messages for everything including broadcasts
- Only explicit autocomplete for safer administration
- Update notifications

| Command | Arguments | Description |
|---|---|---|
| dp | [Name] | Displays details for the given player. |
| dk | [Name] [Reason] | Kicks the specified player. |
| db | [Name] [Reason] | Bans a player's name. |
| dbip | [Name] [Reason] | Bans a player's IP. |
| drb | [Name] [level:1/level:2/level:3] [Reason] | Bans a player's IP range. |
| dub | [Name] | Unbans a player's name.. |
| dubip | [Name] | Unbans a player's IP. |
| durb | [Name] | Unbans a player's IP range. |
| dst | [Name] (1/2) | View detailed information about warns and bans. |
| dtb | [Name] [Time eg. 1h:2m] [Reason] | Temporarily bans a player's name. |
| dtbip | [Name] [Time eg. 1h:2m] [Reason] | Temporarily bans a player's IP. |
| dim | [Add/Remove][Name] | Adds or removes a player's immunity to DynamicBan commands. |
| dwl | [Add/Remove][Name] | Adds or removes a player from the whitelist which protects the player from bans. |
| dw | [Name] [Reason] | Warns the specified player. |
| dpg | [Name] [data,warns,kicks] | Resets a player's data. |
| drl | Reload the DynamicBan data. | |
| dlist | View a list of online player's IPs. (Console only) | |
| dc | [Name] [SecondName] | Compare the IPs of the specified players. |
| dl | [IP] [Name] | Locks the specified IP to a name. |
| dul | [IP] | Unlocks the specified IP. |
| dm | [Name] [Time eg. 1h:2m] [Reason] | Mute the specified player. |
| dum | [Name] | Unmute the specified player. |

| Permission | Granted |
|---|---|
| operator or dynamicban.* | All commands |
| dynamicban.ban.player | db |
| dynamicban.ban.ip | dbip |
| dynamicban.ban.range | drb |
| dynamicban.immune.add | dim add |
| dynamicban.immune.remove | dim remove |
| dynamicban.whitelist.add | dwl add |
| dynamicban.whitelist.remove | dwl remove |
| dynamicban.purge | dpg |
| dynamicban.kick | dk |
| dynamicban.player.details | dp |
| dynamicban.player.standing | dst |
| dynamicban.reload | drl |
| dynamicban.tempban.player | dtb |
| dynamicban.tempban.ip | dtbip |
| dynamicban.unban.player | dub |
| dynamicban.unban.ip | dubip |
| dynamicban.unban.range | durb |
| dynamicban.warn | dw |
| dynamicban.mute | dm |
| dynamicban.unmute | dum |
| dynamicban.lockip | dl |
| dynamicban.unlockip | dul |
| dynamicban.check | Same-IP notifications |
| dynamicban.compare | dc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | # DynamicBan 1.3.1a - Comprehensive Administration System. config: check_for_updates: true # Do you want to check for updates? plugin_tag: '&0[&3DynamicBan&0]&f: ' # How do you want the plugin messages to be tagged? ('' to deactivate) broadcast_on_kick: true # Do you want to broadcast kicks? broadcast_on_ban: true # Do you want to broadcast bans? broadcast_on_ipban: true # Do you want to broadcast ipbans? broadcast_on_tempban: true # Do you want to broadcast tempbans? broadcast_on_iptempban: true # Do you want to broadcast iptempbans? broadcast_on_same_ip: true # Do you want to broadcast when two players have the same ip? broadcast_on_mute: true # Do you want to broadcast mutes? broadcast_on_unmute: false # Do you want to broadcast unmutes? broadcast_on_warn: true # Do you want to broadcast warnings? broadcast_on_rangeban: true # Do you want to broadcast rangebans? broadcast_on_unban: false # Do you want to broadcast unbans? warns_timeout: 72 # How many hours do you want to keep warnings? (0 to keep warnings permanently) warns_on_login: true # Should players be informed about their warnings after they logged in? warns_on_login_delay: 0 # By how many seconds should the warning notification be delayed? (0 to deactivate) connections_per_ip: 5 # How many connections do you want to allow per ip? (0 to deactivate) messages_per_ip: 3 # For how many connections from the same ip should the join and leave message be shown? (0 to deactivate) op_immune_bypass: false # Allows OPs to bypass the immunity of players. mute: blocked_commands: # When a player is muted, what commands should be disallowed? - msg - tell - r - er dnsbl_services: - zen.spamhaus.org - dnsbl.sorbs.net # Which DNSBL services do you want to be checked? dnsbl_result: none # What should happen when a blacklisted ip attempts to join? (none, kick, ban, ipban, notify) tempban_limits: dynamicban/tempban/limit/minute: 60 dynamicban/tempban/limit/hour: 3600 dynamicban/tempban/limit/day: 86400 # Do you want to define permission nodes to limit the maximum tempban length? allow_offline_players: true # Do you want to allow Bukkit to handle offline UUIDs if they don't have a normal one? enable_bukkit_bans: true # Do you want to enable the Bukkit bans as backup? convert_to_uuid: true # Do not change this! messages: # Variables are {SENDER}, {REASON} and {TIME} for temporary actions kick_message: "You have been kicked by {SENDER}. Reason: {REASON}" # The kick message. mute_message: "&cYou have been muted by {SENDER}. Time left: {TIME}" # The mute message. unmute_message: "&bYou have been unmuted by {SENDER}." # The unmute message. ban_message: "You have been banned by {SENDER}. Reason: {REASON}" # The ban message. tempban_message: "You have been temporarily banned by {SENDER}. Time left: {TIME}" # The tempban message. ip_tempban_message: "You have been temporarily ip-banned by {SENDER}. Time left: {TIME}" # The tempipban message. ip_ban_message: "Your IP has been banned by {SENDER}. Reason: {REASON}" # The ipban message. warn_kick_message: "You were kicked after multiple warnings." # The warnkick message. locked_ip_message: "That IP has been locked to another player." # The iplock message. ip_connections_message: "Too many players connected from your IP." # The iplimit message. rangeban_message: "Your IP-range has been banned by {SENDER}. Reason: {REASON}" # The rangeban message. muted_message: "&cYou cannot talk, you have been muted. Time left: {TIME}" # The message to send to the player when he/she is muted and attempts to send a message. muted_command_blocked: "&cYou cannot perform that command, you have been muted! Time left: {TIME}" # The message to send to the player when he/she is muted and attempts a blocked command. broadcast_messages: # Variables are {PLAYER}, {SENDER}, {REASON} and {TIME} for temporary actions kick_message: "&b{PLAYER} has been kicked. Reason: {REASON}" # The broadcast message when a player is kicked. mute_message: "&b{PLAYER} has been muted. Time: {TIME}" # The broadcast message when a player is muted. unmute_message: "&b{PLAYER}'s mute has been removed." # The broadcast message when a player is muted. ban_message: "&b{PLAYER} has been banned. Reason: {REASON}" # The broadcast message when a player is banned. tempban_message: "&b{PLAYER} has been temporarily banned. Time: {TIME}" # The broadcast message when a player is tempbanned. ip_tempban_message: "&b{PLAYER} has been temporarily ip-banned. Time: {TIME}" # The broadcast message when a player is iptempbanned. ip_ban_message: "&b{PLAYER} has been ip-banned. Reason: {REASON}" # The broadcast message when a player is ipbanned. warn_message: "&b{PLAYER} has recieved a warning. Reason: {REASON}." # The broadcast message when a player is warned. rangeban_message: "&b{PLAYER} has been range-banned. Reason: {REASON}" # The broadcast message when a player is rangebanned. unban_message: "&b{PLAYER}'s ban has been removed." # The broadcast message when a player is unbanned. other_messages: immune_message: "&cThat player is immune to your command!" # The message the commandsender will recieve if a player is immune. warned_message: "&c{SENDER} warned you. Reason: {REASON}." # The message to send to the player when he/she is warned. same_ip_message: "&b{PLAYER} logged in on the same IP ({IP}) as {OLDERPLAYER}." # The message to send to players with permission/op when the are two or more players with the same ip. dnsbl_ip_message: "&b{PLAYER}'s ip is blacklisted." warnings_message: "&cYou have been warned for the following reason(s):&b{WARNS}&cYou have {AMOUNT} warning(s)." # The message to send to players if warns_on_login is true. Each warning will be sent in a new line. default_reason: "&cUnspecified" # The default reason for everything. dnsbl_reason: "&cYour ip is blacklisted." # The default reason for DNSBL bans. |

- MySQL
Information on further development
Hey guys, DJ Addi here. With version 1.3.0 the plugin reached a point where I'd say it is more or less finished. If there are bugs or important features that require an update I will release a new version as fast as possible (without waiting for stuff to pile up). However, it is unlikely that new big features will be added (unless I really like them so keep the suggestions coming).
Stay tuned for updates on the release of DynamicBan 2.0.
Currently working on:
- Cleaning up database code, adding missing comments to other classes
- Moving ban-types to separate tables to allow future scalability (We cannot easily append missing fields, but we can add on missing tables if a new feature is added).
-
View User Profile
-
Send Message
Posted May 19, 2012Just found out that the Same-IP notification doesn't work if broadcast_on_same_ip is set to false. This might have already been wrong in one of the last updates. If this is intended then it is strange... but I guess it is not (because there is an important difference between notification and broadcast).
Also, the status message is weird again. "IP-Banned by DynamicBan" is not working anymore (it always tells No, even if he was ip-banned), the IP-Banned by Bukkit works fine. Additionally, it would be nice to have information about the IP ban shown as with the name ban. Which brings me to the next point, the information about a name ban always show null since the last update.
Finally, it is still possible to whisper when using HeroChat because I have no idea which command is triggered by @<Name> <Message>... I don't think that you can fix it, but I thought I'd let you know.
€: Forgot this one: The permission nodes dynamicban.immunity.add and dynamicban.immunity.remove won't work (as well as dynamicban.immunity.*). OP works, console works, dynamicban.* works.
Have fun,
Addi
-
View User Profile
-
Send Message
Posted May 19, 2012@ryvix
Aha, it has its fair share of bugs
-
View User Profile
-
Send Message
Posted May 19, 2012@Hans6666
Alright, I thought I fixed that, sorry! Will release a fix soon.
-
View User Profile
-
Send Message
Posted May 19, 2012found a new bug in the update: when i tempban a player for 10 sec, after 10 secs he is getting unbanned by dynamicban, but hes still banned by bukkit. but thanks anyway :)
edit: temp-ip-ban does work but normal ban not
-
View User Profile
-
Send Message
Posted May 18, 2012@xDrapor
It was for you. Too bad this website is near useless.
-
View User Profile
-
Send Message
Posted May 18, 2012@ryvix
Not sure if that reply was for me, but your welcome! :P
-
View User Profile
-
Send Message
Posted May 18, 2012@xDrapor
Thank you soooo much!
-
View User Profile
-
Send Message
Posted May 17, 2012@Hans6666
I already implemented that in the update. I just cant get the mute commands to be configurable... I made the config values, just wont work..
-
View User Profile
-
Send Message
Posted May 17, 2012today i relized that IP banning isnt working? o.0 i joined my server with a new name, so dynamicban created a new file, then i banned the ip of that player and i was able to rejoin the server? can you help me?
edit: AHHH i know why!! When i join with another account dynamicban creates a userfile for this account. but im stilll on this server. when i quit and try to rejoin the server, i get the message "you are ip banned". so maybe you can make it like this:
1. add the banned ips from dynamicban to bukkit banned-ips.txt
or
2. make it that the plugin first checks the ip and then let the player join...
because its stupid when a Pwnage-client user joins my server, spams with fakeaccs and when i want to ban the ip he can still rejoin everytime because he uses different account names, do you know what i mean? thanks
-
View User Profile
-
Send Message
Posted May 17, 2012thank you djaddi, didnt know that i can edit the commands of plugins. LOL. i disabled the /mute from essentials and edited the /unban like "Type /dub to unban a player" :D thanks for the tipp :)
-
View User Profile
-
Send Message
Posted May 16, 2012@djaddi
Thank you so much man. Also, school's been so hectic for me. I'm trying to finish the custom mute block commands and then I'll release the update..
-
View User Profile
-
Send Message
Posted May 16, 2012@imendel
That was "discussed" before. Spaces in nicknames are not enabled in (legal) Minecraft. That's why they won't be supported by this plugin (because it would take a lot of rewritten code to support them). If you are using a plugin like xAuth (which is highly recommended for an offline-mode server) you can exclude spaces from allowed nicknames (or simply allow only characters that can be used for online-mode, which are
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_And the work on autocomplete could take some time, other things definitely have more priority.
@Hans6666
Known because of Essentials? If Essentials is overriding the unban command, disable it in the plugin.yml (open the .jar with an archive editor and place a # in front of /unban in the plugin.yml). If that doesn't solve it, what message are you recieving when using /unban?
-
View User Profile
-
Send Message
Posted May 16, 2012another little "bug": i cant unban a player with /unban, it works only with /dub
would be great if that can work with /unban (known because of essentials)
thanks
-
View User Profile
-
Send Message
Posted May 15, 2012Some players are abusing the fact that DynamicBan isn't able to ban nicknames with spaces, I had to disable DynamicBan using Plugman to use Vanilla's command. You should work on auto-completing nicknames.
Thanks!
-
View User Profile
-
Send Message
Posted May 15, 2012@djaddi
I'm going to be adding that, probably..
-
View User Profile
-
Send Message
Posted May 15, 2012@ryvix
I didn't plan to update it after the license change, but once I clean up the code I'll be sure to!
-
View User Profile
-
Send Message
Posted May 14, 2012Can you please update your source code on github? Or is there somewhere else to get the latest source? Thanks!
-
View User Profile
-
Send Message
Posted May 14, 2012GroupManager still isnt working and i'm using CraftBukkit 1.2.5 R1.0 and DynamicBan 1.2.4 and Vault 1.2.15 and GroupManager 2.9.1 and i'm not getting any errors in the console please help me
-
View User Profile
-
Send Message
Posted May 13, 2012Noticed in the help it says:
/dpd - View a player's details.
But when I type /dpd it doesn't work. I have to use as posted above /dp
-
View User Profile
-
Send Message
Posted May 13, 2012What about a list of allowed or disallowed commands in the config? Costumization has a high value these days...