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 Mar 29, 2013Url to latest 2.X build is 404.
-
View User Profile
-
Send Message
Posted Mar 25, 2013@xDrapor
Good, rly good idea. Thx.
-
View User Profile
-
Send Message
Posted Mar 24, 2013@Bodyash
I would rather auto-detect Bungeecord somehow.
-
View User Profile
-
Send Message
Posted Mar 23, 2013@xDrapor
Try in new ver. do this in config.
bungeecord: true/false
-
View User Profile
-
Send Message
Posted Mar 23, 2013@Bodyash
Once I find out about the inner workings of the bungeecord project, I will let you know. As far as now, you can use the default minecraft ban ip function, I didn't override that to allow manual bannings in situations such as yours. When they first join the server you should get the raw ip. Kick them, let them join, watch console output, and ban that IP, sorry, but thats probably one of the only ways I can think of at the moment.
-
View User Profile
-
Send Message
Posted Mar 23, 2013@xDrapor
Thx ^^
But what i can do now? Cause DynBan can see another IP. Special commands? Maybe config or smthg?
-
View User Profile
-
Send Message
Posted Mar 23, 2013@Bodyash
Since it stores the initial IP, you could manually ban that. What bukkit sends me is what I use, however, last time I read about the ElasticPortalSuite, it functioned as a "proxy" system of somesort for cross-server communications.
I'll see what I can do eventually.
-
View User Profile
-
Send Message
Posted Mar 23, 2013bungeecord support? http://cs306806.vk.me/v306806094/6715/92mV_qHzHYQ.jpg 127.0.0.1 have all playes
But initial-ip is okay. http://www.spigotmc.org/threads/bungee-converting-ips-local-actual-after-connection.681/#post-10645 Bungeecord new function
/dbip bans all playes :c
-
View User Profile
-
Send Message
Posted Mar 22, 2013phew, I thought this plugin was dead.
-
View User Profile
-
Send Message
Posted Mar 22, 2013Finished SQL storage, table creation. Will commit the the code when I finish cleaning up stuff. Making good progress.
-
View User Profile
-
Send Message
Posted Mar 22, 2013I will begin developing a new update on the side of everything. You can follow progress on the github page.
-
View User Profile
-
Send Message
Posted Mar 22, 2013@Sheeperia
First of all I have to apologize, I considered the problem that you have to be cosmetic (the warns work fine, they just don't show up on /dst or login) and procrastinated it.
Try this. Let me know if it works. Note: This is a developer version. Unexpected explosions, bunnys, wars or alien invasions might occur. You can also set the timeout to 0 to keep warnings forever in this version. Unfortunately I don't have much time this weekend so the changes are untested.
-
View User Profile
-
Send Message
Posted Mar 21, 2013I have a big problem, the same problem as Sheeperia apperently.. We have had a warn system that has worked very well until one of the last updates. The whole system is built on that you can see your\other warns from inside the server, the last update broke that :/ The information is in the file, you just can't see them ingame..
Unfortunately this leads to us having to do ALOT of manual work just to get the information we need. I still have belief in that you will regain your activity on the development on this plugin and make this work again. But if I don't see any activity from you the next weeks I am afraid I will be forced to change ban\warn management plugin.
That will be a big dissappointment because this plugin has been great, the new offline warns really helped us alot and the ip-ban has helped us stop the bigger attacks on the server :) The way the commands and the info is layed out works well. Hope to see you back soon :)
-spetz
-
View User Profile
-
Send Message
Posted Mar 20, 2013@add5tar
The source code is way messier than I imagined, this was one of my first projects in Java. It was all procedural, barely any OOP, other than the default bukkit framework.
I have learnt ALOT since then. I also am fluent in SQL, however, I have lost interest in Minecraft development and have moved on to real projects.
I might make an update eventually, when I get some time, but as of now, @djaddi is doing a great job!
-
View User Profile
-
Send Message
Posted Mar 10, 2013Firstly, I really love your plugin! I have used it for a long time and rely on it daily! :D
I noticed the GitHub link doesn't work and was hope you wouldn't mind uploading the current source repo? I would love to make some improvements/bug fixes for my own server. Don't worry, I do not want to release my own version of your code. It would only be for my personal use on my own server. I'm also more than happy to provide change changes if you would like.
Thanks! :)
-
View User Profile
-
Send Message
Posted Feb 28, 2013@CatsyLady
It's at the top of the page ;)
"If you are using 1.x.x, please refer to this."
-
View User Profile
-
Send Message
Posted Feb 28, 2013I missing the list of commands ...
how i unban IP ban?
-
View User Profile
-
Send Message
Posted Feb 25, 2013@djaddi
Tried to set it to 100000, no change.
-
View User Profile
-
Send Message
Posted Feb 24, 2013What is the permission nodes?
-
View User Profile
-
Send Message
Posted Feb 23, 2013@Sheeperia
Just set the timeout to a high number instead of 0.