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 Jul 3, 2012dynamicban.* perms are not working for those who have them, dynamicban and commands for it only work for ops.
so no way to give certain members specific perms.... when will that be fixed as it was reported way back and surely must be pretty high up on the list to get working as perm issues should be no?
using GroupManger
-
View User Profile
-
Send Message
Posted Jul 3, 2012Fix the ban hammer has spoken. ✔ Does that mean the tempban bug is going to be fixed in the next update?
-
View User Profile
-
Send Message
Posted Jul 3, 2012@Hans6666
It will be a separate command, because if not, it'll lead to issues with the database system (what if there no values of the ip for a player?)
-
View User Profile
-
Send Message
Posted Jul 3, 2012@nejcneo
Adding that, and You probably used the wrong unit. Try this /dbip <name> 1d
-
View User Profile
-
Send Message
Posted Jul 3, 2012thats a good idea @nejcneo or maybe a new command for this? /fullban [name] ^^
-
View User Profile
-
Send Message
Posted Jul 3, 2012Hey can you add IPBan + Ban together (For offline servers) (You can set it in config.yml) So I will type: /db <player> - This will ban his account - This will even ban his IP
------Because now I always have to type 2 commands: /db, /dbip.And btw there is some error with tempBan, tempMute, tempStuff. I ban them for 1 day and they can just join anytime without saying "you are temp banned"
-
View User Profile
-
Send Message
Posted Jul 1, 2012@Hans6666
Banning a country isn't added yet, the commands are all above under the "Preview Build" section, just do -help on any command and it'll explain what you need to know. For example, /dtb -help or even /dtbip -manual -help.
-
View User Profile
-
Send Message
Posted Jul 1, 2012wheres is a tutorial for dynamicban beta? i want to test it on my local server but i dont know for example how to ban a country etc. did you remove the warn and mute function in version 2 or is is this because its still a beta? and they get added when v2 is finished?
-
View User Profile
-
Send Message
Posted Jul 1, 2012@snowy007
Added weeks, will release another preview build
@kitsune4295
I added ban reasons, by who and at what time in the recent bans, and in the player/address standing, warn and kick will be logged.
@DrFusion
Haha, told you so :)
-
View User Profile
-
Send Message
Posted Jun 30, 2012@xDrapor
damnit lol, i knew that was the culprit
-
View User Profile
-
Send Message
Posted Jun 30, 2012i have a feature suggestion... as a server owner, i want to be able to see player's war, kick, and ban reasons... and who warned, kicked, or banned a player
and that feature and this plugin will be perfect
-
View User Profile
-
Send Message
Posted Jun 30, 2012@snowy007
Already have it in dynban 1.2.5 (even as much as months), and days are present in dynban2 , weeks aren't yet, i might include it however!
-
View User Profile
-
Send Message
Posted Jun 30, 2012Just a question, and if the answer is 'no' than take this as a suggestion. :P Looking at the description. (I haven't updated yet) We can now use '5h' for 5 hours, 'm' for minutes and 's' for seconds. (why would i ban someone for a few seconds? xD ) But what about 'd' for days or 'w' for weeks? Whenever i tempban someone, its usually for a few days or weeks.
-
View User Profile
-
Send Message
Posted Jun 29, 2012@DrFusion
You need vault to run my plugin.
-
View User Profile
-
Send Message
Posted Jun 29, 201201 [SEVERE] Could not load 'plugins/DynamicBan.jar' in folder 'plugins' org.bukkit.plugin.UnknownDependencyException: Vault at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:195) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:207) at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:183) at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:53) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:156) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:422) at net.minecraft.server.ThreadServerApplication.run
-
View User Profile
-
Send Message
Posted Jun 29, 2012Preview build is up, test it on your private servers! I noticed that, throughout the development of DynamicBan 1.x, I never really released any preview builds, hence, bugs we're not squashed before the release of any update. Hence, in DynamicBan 2, to make public builds as stable as possible, I will released preview builds, and I ask that the community helps me out and tests these builds on their PRIVATE servers, such as local servers.
Thank you very much!
xDrapor
-
View User Profile
-
Send Message
Posted Jun 29, 2012@GoF3
Hm, that won't be possible, as the account "Xephos" will be registered on minecraft.net as premium, so even if I somehow query the database such as premium servers do (which will require permission from Mojang, probably) then he will show up as a "Premium" account.
And thanks, one of my friends came up with the name for me :)
-
View User Profile
-
Send Message
Posted Jun 29, 2012Hey! First, i have a idea for ur plugin: When a player joins, DynamicBan send a message to online adminstrators if the player cracked is or premium. I think, this is really nice, if "Xephos" joins. So, we can check, if it's the original Xephos or a cracked one.
I really like ur name :D How u have a idea for xDrapor?
GoF3
-
View User Profile
-
Send Message
Posted Jun 28, 2012@Psithief
Soon enough I will :) I just got a few bugs to fix and then I'll upload it to my repo, and don't worry, I got people who are really good at SQL (i.e KoolSource and TechyKid3).
-
View User Profile
-
Send Message
Posted Jun 28, 2012@xDrapor
Could you please put your SQL work on your GitHub repo (preferably not in the master branch)?
I'm interested in using your plugin, but I am picky about how people use databases. If yours has any flaws I'd like to see for myself and maybe send a set of pull requests.
(I'm experienced with databases)