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 Jun 19, 2012is there anyway to have it display who the user was that kicked/banned example "Player was kicked by JamesTheAdmin Reason: sdkaskd"
Is there any way to ban a user without typing their full name. Its hard to ban players with names like askjfkjewkjrq2 when there is two or more spamming.
-
View User Profile
-
Send Message
Posted Jun 19, 2012@selfservice0
I've tested in with the latest builds of xAuth and Authme, Essentials. Everything works fine, Even when nocheatplus kicks a message is sent to my plugin. Seems good, check your configs/ conflicting plugins.
@snowy007
Agreed, I hate them too, but the best way to combat them is rolling back what they did, till they get frustrated. Haha.
-
View User Profile
-
Send Message
Posted Jun 19, 2012Don't you just hate those people that know how to change their global IP address...
One guy just kept joining. First as 'lol4231' and after being banned as 'lol4231revenge' under a different IP... And also some other names after that.
I have an admin on my server that is quite good with these things himself though. Next time he joins, his computer might not like the result. xD
No, i told him not to do that... Its a griefer but overheating his computer isn't worth it. Its annoying though that its possible to do this.
-
View User Profile
-
Send Message
Posted Jun 18, 2012It prevents all plugins (and bukkit) from kicking so there for authentication doesn't even matter.
Also, is there anyway to have it display who the user was that kicked/banned example "Player was kicked by JamesTheAdmin Reason: sdkaskd"
-
View User Profile
-
Send Message
Posted Jun 18, 2012@selfservice0
Explain? So the same account can be online twice? If you are running in offline-mode probably, use some authentication system. However, I'd recommend you run in online mode :) If this is not the case, let me know in detail what you mean so I can fix this issue.
Thanks, xDrapor
-
View User Profile
-
Send Message
Posted Jun 17, 2012Adding players to the immunity list allows multilogging with the same username.
-
View User Profile
-
Send Message
Posted Jun 16, 2012@xDrapor
No Problem :D the plugin is good and I use it on my server, so I ask anyway Im happy to use this plugin =) neither lose anything for asking xD
Thx for this plugin :)
-
View User Profile
-
Send Message
Posted Jun 14, 2012@Valdifer
That is not possible, sorry :(
-
View User Profile
-
Send Message
Posted Jun 14, 2012@Aangiix3
It already has it. I added /ban, /kick by default.
-
View User Profile
-
Send Message
Posted Jun 14, 2012@Aangiix3 open the jar with winrar or a similar programme and set your own aliases in plugin.yml, i added /ban, /mute /unban etc and disabled this commands in essentials
works fantastic!
a localization would be great for the help-list, i mean ingame
-
View User Profile
-
Send Message
Posted Jun 14, 2012Could you give us an option to change the commands, I'm not really used to write /db and /dk =(
I like the classic /kick and /ban. I am looking forward installing this because this Plugin has alot of potential.
-
View User Profile
-
Send Message
Posted Jun 14, 2012Nice plugin!!!
I will suggest one thing I'd rather, I do not know programming, but you could add Mac address ban?
I wish it were that :) but good too much to ask XD
-
View User Profile
-
Send Message
Posted Jun 14, 2012@Hans6666
Well, I plan to add the custom result system in 2.0. Spamming, well, I'll see, I have to think about it :)
-
View User Profile
-
Send Message
Posted Jun 14, 2012ahh sorry for the false-warning, another user unbanned the player so he could join againso i thought this is an error
another request: if a player has for exmaple 5 warns, he gets banned for example: warns-to-ban: 5 or every 3 warns an player gets banned for 24h and if you could add something to prevent spaming etc would also a great idea for further versionsand blacklisting special words..ok this were too much wishes :D
-
View User Profile
-
Send Message
Posted Jun 13, 2012@Hans6666
The (s) signifies that it might be a plural. Meaning, 1h, would be singular, 2h(s) would be plural. I should implement a system that replaces and detects singular and plural values, but that`s in 2.0. Your bans work fine, you can test it out on yourself:
First add immunity to yourself
Make sure you are an OP
Bypass your own immunity and tempban yourself
Your immunity should let you join the game.
-
View User Profile
-
Send Message
Posted Jun 13, 2012another bug: i cant tempban a player for hours etc only seconds, just ipban for hours when i type "/tempban name 2h" it shows "xx was temp banned. Time: 2h (s)
so he gets banned for seconds not hours.. /tempbanip name 2h works fine
-
View User Profile
-
Send Message
Posted Jun 13, 2012@Hans6666
Well, for now, OPs can bypass immunity. Sorry, Its just a worst case scenario solution (temporary). Thanks, I fixed the old page error.
-
View User Profile
-
Send Message
Posted Jun 13, 2012to add the player the immunity is not so good, because i cant kick and ban them
and i cant read the old thread: You don't have the permission to access the requested resource. It is either read-protected or not readable by the server.
If you find this to be in error, please notify the administrators.
-
View User Profile
-
Send Message
Posted Jun 13, 2012@ryvix
If the other plugin is spamguard, you`ll have to unban in spamguard itself. Have a look at the commands, i might try to integrate this later.
-
View User Profile
-
Send Message
Posted Jun 13, 2012@selfservice0
With my exams, not sure at this time.