Skip to content
netherfoam edited this page Feb 19, 2013 · 1 revision

Getting Started

  • Download MaxBans and place it in your Server\Plugins folder
  • Run your server and shut it down

Default Config

Check Server\Plugins\MaxBans\config.yml, it should look something like this:

lockdown: false
lockdown-reason: ""
    
max-warnings: 3
#3 days
warn-expirey-in-minutes: 4320 

default-reason: "Misconduct"
appeal-message: "No appeal website set :("

color:
    primary: f
    secondary: a

#This applies to kick, ban, and anything else.
kick-colors:
    #0-9,a-f are valid. Also any Bukkit ChatColor is valid (Eg RED, AQUA, DARK_GRAY)
    message: f #"You have been banned for:"
    reason: a #"Misconduct"
    regular: f #"By"
    banner: a #"Netherfoam"
    time: a #4 hours 59 minutes remaining.

chat-commands:
    - me
    - say

#Should we notify players with maxbans.notify whenever a banned player tries (fails) to join?
notify: true
#Should we verify names have the letters (A-Z,a-z,0-9 and _) only and are valid?
filter-names: true

#Should we use the DNS blacklist?
dnsbl:
    #Should we use this? Setting it to false disables DNSBL entirely.
    use: true
    #The DNSBL servers we should use to look up.  More servers = Slower results.
    #Each server takes approx 4 seconds to respond.  Use http://dnsbl.info to find
    #More servers, if you like.
    #DNSBL results are cached for 1 week, then expire (Are deleted).
    #This is how MaxBans checks for proxied IPs
    # 1.  Have we looked the IP up on DNSBL before, and has it not expired? If so go to 3
    # 2.  Start IP lookup, this takes a few seconds...
    # 3.  If the IP is not a proxy, stop checking, they're allowed, do not proceed to step 4.
    # 4.  Take appropriate action (Kick, notify) if any.
    servers:
    - bl.spamcop.net
    - sbl.spamhaus.org
    #Should we notify players with maxbans.notify when a player is joining with a proxy IP?
    notify: true
    #Should we kick players who are discovered to have proxy IPs?
    kick: false

database:
    mysql: false
    user: root
    pass: passwd
    host: localhost
    port: 3306
    name: maxbans

Lockdowns

lockdown: false
lockdown-reason: ""

When the server is in "lockdown" mode, players without maxbans.lockdown.bypass permissions will be kicked. This is good for when bots rapidly join and leave your server trying to cause lag. The lockdown-reason is the message displayed to players trying to log in. This is changed using the command /lockdown [on/off] [Reason] - The default reason is "Maintenance".

Warning System

max-warnings: 3
warn-expirey-in-minutes: 4320 

After receiving max-warnings, a player will be banned for an hour. Warnings will stay on a players record until warn-expirey-in-minutes has passed since the warning was given.

Default Reason

default-reason: "Misconduct"

When your staff are too lazy to supply a message, this is the reason the player will be given. Example: "/kick newguy101" will become "/kick newguy101 Misconduct"

Appeal Message

appeal-message: "No appeal website set :("

When a player is disconnected when they try to connect, they will be told they cannot connect (they're banned), and then this message will be added below it. Supports color codes like &a and &4. Added in 1.2.

Colors & Chat Commands

color:
    primary: f
    secondary: a

#This applies to kick, ban, and anything else.
kick-colors:
    #0-9,a-f are valid. Also any Bukkit ChatColor is valid (Eg RED, AQUA, DARK_GRAY)
    message: f #"You have been banned for:"
    reason: a #"Misconduct"
    regular: f #"By"
    banner: a #"Netherfoam"
    time: a #4 hours 59 minutes remaining.

chat-commands:
    - me
    - say

The color is the color of the MaxBans messages. By default, it is white (primary) and light green (secondary). The chat-commands list is a list of all commands that could be used to bypass mutes, for example, essentials uses the command /me to send an "emote" through chat. This is not picked up by normal chat handling, and is a special case - You must put the commands in this list.

The kick-colors define the color of the kick message sections - You can recolour it how you like, by highlighting the time, reason, banner, etc. I personally believe in sticking to White and Green for it (Looks much neater than rainbow apocalypse), or pure white, but the feature was requested.

A diagram for the kick colours is available here: http://dev.bukkit.org/server-mods/maxbans/images/2-disconnection-colors/

Notifications & Name Filtering

#Should we notify players with maxbans.notify whenever a banned player tries (fails) to join?
notify: true
#Should we verify names have the letters (A-Z,a-z,0-9 and _) only and are valid?
filter-names: true

If notify is set to true, when a banned player tries to join, anyone with maxbans.notify as a permission node will be told that the player failed to join. It will highlight the thing that is banned - For example, if they're IP banned but not banned, the message will be: "NewGuy101 (127.0.0.1) tried to join, but is banned!" - Their IP is red, meaning their IP is banned.

If filter-names is set to true, it will make sure a-z, A-Z and _ are the only allowed characters in a players name. It will also prevent players joining with blank names.

The DNSBL (DNS Blacklist)

#Should we use the DNS blacklist?
dnsbl:
    #Should we use this? Setting it to false disables DNSBL entirely.
    use: true
    #The DNSBL servers we should use to look up.  More servers = Slower results.
    #Each server takes approx 0.5 seconds to respond.  Use http://dnsbl.info to find
    #More servers, if you like.
    #DNSBL results are cached for 1 week, then expire (Are deleted).
    #This is how MaxBans checks for proxied IPs
    # 1.  Have we looked the IP up on DNSBL before, and has it not expired? If so go to 3
    # 2.  Start IP lookup, this takes a few seconds...
    # 3.  If the IP is not a proxy, stop checking, they're allowed, do not proceed to step 4.
    # 4.  Take appropriate action (Kick, notify) if any.
    servers:
    - bl.spamcop.net
    - sbl.spamhaus.org
    #Should we notify players with maxbans.notify when a player is joining with a proxy IP?
    notify: true
    #Should we kick players who are discovered to have proxy IPs?
    kick: false

First of all, DNSBL is kind of advanced - But sure whips those proxies!

What is DNSBL?

DNSBL is a list of proxy and spammer IP's, freely available on the web. The actual website, http://dnsbl.info/ provides details on this, as well as a list of "servers" which you can query. When querying these servers, it returns whether or not the given IP is known as a spammer. Do not simply add all of these servers to the list! The more there are, the more false positives (and innocent players kicked!) that you receive. Also, it wastes time (Even if the lookups are ASync)

  • Setting "use" to false, will disable this feature entirely.
  • Servers - The list of servers to lookup IP's on. The default two work well enough for me. Adding more will mean more strict, but slower and more false positives!
  • notify - This will tell players with maxbans.notify permissions when a player is discovered to be using a proxy.
  • kick - Should we kick a player as soon as we discover they're using a proxy?

Now, the first time a player joins from a new IP address, they won't be kicked immediately. They will be logged in for a few seconds, and once the result comes back - If they're found to be using a proxy - they will be kicked/others notified based on the settings. The result of this is remembered for a week, to save having to do many lookups.

Database Settings

database:
    mysql: false
    user: root
    pass: passwd
    host: localhost
    port: 3306
    name: maxbans

This is a typical database setting for MySQL. At time of writing, there is no way to convert SQLite <-> MySQL. MySQL is also less thoroughly tested (I use SQLite, is why).

  • mysql: If this is false, SQLite will be used instead. None of the following settings will be used.
  • user: The username to connect to the database as. Usually root.
  • Pass: The password for the above username to connect with.
  • Host: The IP of the server this is on. "localhost" means the same computer that Bukkit is running on. But you could direct it to a website if you like.
  • Port: The port to connect. Most MySQL installs are running on port 3306.
  • Name: The name of the database. This must be created BEFORE running MaxBans with MySQL, otherwise the connection will fail.

End of configuration section.

Clone this wiki locally