BetterBanSystem icon

BetterBanSystem -----

BanSystem



BetterBanSystem Plugin

Welcome to the BetterBanSystem plugin! It was never easier to ban, mute or warn a user

Installation

1. Download the Plug-In latest version from SpigotMC or of the release tab from Github.
2. After downloading, move the Plug-In into your plugins folder of your Minecraft Server.
3. If you already downloaded a version, make sure to delete the old release file.
4. Restart your server.
5. After restarting the server, you can edit the config.yml file inside the generated Directory: plugins/BetterBanSystem/

Report Issues ⚠️

Have you found a bug, a vulnerability, or have some other issues? Join our discord MCDevStudios and create a ticket.

How to use

After the installation the Plug-In will create the basic config.yml File and the default language file inside plugins/BetterBanSystem/languages/ The default config will look like this:

Code (YAML):
chat:
  prefix
: "&6[&cBetterBanSystem&6]"
  language
: "en_US"

database
:
  type
: none

automod
:
  use
: true
  modules
:
    chat
:
      spamming
:
        use
: true
        maxMessages
: 5
        action
: "DELETE;WARN!3:reason=Spamming"
      duplicatedText
:
        use
: false
      capslock
:
        use
: true
      links
:
        use
: true
      badwords
:
        use
: true
        replaceWords
: true
        badWordList
: [ ]

warns
:
  autodelete
:
    use
: true
    time
: 60
    unit
: MINUTES
  actions
:
    3
: "mute %p 30min"
    5
: "timeban %p 1h"

permissions
:
  system
: SPIGOT

logging
:
  logfile
: true
  debug
: false

exempted-players
: [ ]
exempted-mute-players
: [ ]
exempted-warn-players
: [ ]
exempted-ips
: [ ]

mute
:
  blocked-commands
:
   - me
    - tell
    - msg
Config Explanation

Chat settings

You can set your own Prefix for every Message. Simply edit the line chat.prefix to what you want. If you don't want to print the prefix, simply edit the chat.prefix line to "none" or just leave it blank like ""

How to use the database tag?

If you want to use a Database for the bans,mutes and warns you can simply change the database.type to MYSQL, SQLITE or MONGODB If you want to see some examples for the specific database configuration, open the summarys
Code (YAML):
database:
  type
: SQLITE
  dbFile
: "path/to/your/database_file.db"
 
You don't need to create this File on your own. After restarting the server (not reloading) the Plug-In will create the file on its own and created the needed tables.
Code (YAML):
database:
  type
: MYSQL # or MONGODB
  hostname
: localhost # or 127.0.0.1
  port
: 3363
  user
: username
  password
: yoursupersecretpassword
You don't need to create the Database or the tables. If a connection to the MySQL or MongoDB was successful the Plug-In will create the database and the needed tables on its own.

AutoMod
Code (YAML):
automod:
  use
: true
  modules
:
    chat
:
      spamming
:
        use
: true
        maxMessages
: 5
        action
: "DELETE;WARN!3:reason=Spamming"
      duplicatedText
:
        use
: false
      capslock
:
        use
: true
      links
:
        use
: true
      badwords
:
        use
: true
        replaceWords
: true
        badWordList
: [ ]

Here you can find some AutoMod "modules" which you can enable or disable like you want. Even if you don't want to use the AutoMod system at all, simply change automod.use from true to false. Inside the modules path you can find all modules this plug-in provides. (Currently for version 1.0 only the Chat module). You can enable or disable the modules on its own. Just change the true value to false.

The "action" Tag

The action tag defines what action the AutoMod should take for the specific module.

  • DELETE
    • Simply blocks the message from the player, so it will not be printed to the chat.
  • WARN
    • Simply calls the "warn" Command from the console with the given parameters
  • INSTANTBAN
    • Simply calls the "ban" Command from the console with the given parameters
  • MUTE
    • Simply calls the "mute" Command from the console with the given parameters
  • TIMEBAN
    • Simply calls the "timeban" Command from the console with the given parameters.

Every action is seperated with an ; so it's quite simple to add more actions. You can add an !(number) to every action like DELETE!4. This tells the AutoMod system that the Player has to execute the specific module four times before the execution. The WARN, INSTANTBAN, MUTE and TIMEBAN actions having some more parameters they need. So the MUTE action needs the reason and the duration parameters. For example: "MUTE:reason=Stop spamming:duration=5min" So the Plug-In will execute the MUTE action which simply mutes the user for "5 minutes" and for the reason "Stop Spamming"
  • REASON
  • DURATION

The Chat Modules

!NOTE! For the Chat Modules the standard action is DELETE. So the message will not be printed inside the chat if no action Tags are defined.

Examples
Code (YAML):
automod:
  use
: true
  modules
:
    chat
:
      spamming
:
        use
: true
        maxMessages
: 5
If the player sends more than 5 messages in 4 seconds, he gets warned after 4 messages and then the messages gets blocked. Because the default action is DELETE.

Code (YAML):
automod:
  use
: true
  modules
:
    chat
:
      spamming
:
        use
: true
        maxMessages
: 5
        action
: "DELETE!2;WARN!3:reason=Spamming"
Now we set 2 actions. If the player sends more than 5 messages in 4 seconds, he gets warned after 4 messages. If the player now sends more messages, the messages will only be deleted if the player exceeded the message limit 2 times. Because of DELETE!2.

The second action is that he gets warned, after 3 executions for the given reason "Spamming".

Its quite simple or what do you think?

Chat modules

This module checks if the player sends a big amount of messages in a certain time (4 seconds). With the maxMessages value you set the amount of messages the player needs to send in 4 seconds, then he gets firstly warned before the given actions will be taken.

This module checks if the player sends 2 messages with the exact same content

This module checks if the sended player message is written in only CapsLock or the complete content of the message contains more than 70% uppercase letters.

This module checks if the sended player message contains a link.

This module checks if the sended player message contains bad words from the badWordList.

If replaceWords is set to true the message will not be blocked, its just refactoring the given words into *. If it's set to false, the message will be blocked by default. (if no action tag is set.)

Warn Settings

Code (YAML):
warns:
  autodelete
:
    use
: true
    time
: 60
    unit
: MINUTES
  actions
:
    3
: "mute %p 30min"
    5
: "timeban %p 1h"

Here you can set if player warns should be deleted after a certain time. (Like now after 60 Minutes 1 warn gets removed after the creation) The "actions" are quite simple. After 3 warns the "mute" commands is getting executed or which command you like. Note that "%p" stands for the player name. Currently for 3 warns an action is executing and for 5 warns. You can add more actions by simply adding more lines with the same schema.

Permissions

Permission Handling

The Plug-In itself checks the player permissions over the given PermissionManager. By default its "SPIGOT" for the default Spigot Permissions Handling. If you have a PermissionSystem on your server, you can change the config.yml tag permissions.system to the following:

  • SPIGOT
    • for the default permission handling given from the Spigot API.
      • !NOTE! From the Spigot API its only available to check the player permissions if the player is online!
  • LUCKPERMS
    • or the LuckPerms permission handling.
      • !NOTE! You have to run LuckPerms on your server!
  • VAULT
    • for the Vault permission handling
      • !NOTE! You have to run Vault on your server!
  • BUNGEECORD
    • for the default permission handling given from the BungeeCord API.
      • !NOTE! From the BungeeCord API its only available to check the player permissions if the player is online!
  • CLOUDNET
    • for the CloudNet permissions handling
      • !NOTE! You have to run CloudNet with the CloudNet-Permissions Module!

If the Plug-In cannot find one of the given permission systems its using the default permission system given from the runtime of the server (spigot or bungeecord) Should the problem appear that the Plug-In cannot find ANY System not even the default from Spigot / BungeeCord it's returning for all players that he has no permissions for safety reasons.

Plug-In Permissions

Here is a list of all Permissions this Plug-In provides. Every permission starts with betterbansystem.
  • betterbansystem.*
    • Grants complete access to the plugin commands and functionalities.
  • betterbansystem.commands.*
    • Grants the player the complete access to all commands
  • betterbansystem.exempt.*
    • Grants the player the accessibility to exempt bans, kicks, warns, mutes (only from players) and all AutoMod actions.
  • betterbansystem.commands.ban
    • Grants access to the /ban command
  • betterbansystem.commands.banip
    • Grants access to the /banip command
  • betterbansystem.commands.kick
    • Grants access to the /kick command
  • betterbansystem.commands.lookup
    • Grants access to the /lookup command
  • betterbansystem.commands.lookup.other
    • Grants access to the /lookup (player) command to lookup other players
  • betterbansyste.commands.timeban
    • Grants access to the /timeban command
  • betterbansystem.commands.unban
    • Grants access to the /unban command
  • betterbansystem.commands.unbanip
    • Grants access to the /unbanip command
  • betterbansystem.commands.warn
    • Grants access to the /warn command
  • betterbansystem.commands.delwarn
    • Grants access to the /delwarn command
  • betterbansystem.commands.mute
    • Grants access to the /mute command
  • betterbansystem.commands.unmute
    • Grants access to the /unmute command
  • betterbansystem.exempt.ban
    • If a player has this permission he cannot get banned by a player. Only per Console.
  • betterbansystem.exempt.mute
    • If a player has this permission he cannot get muted by a player. Only per Console.
  • betterbansystem.exempt.warn
    • If a player has this permission he cannot get warned by a player. Only per Console
  • betterbansystem.exempt.kick
    • If a player has this permission he cannot get kicked by a player. Only per console
  • betterbansystem.exempt.automod
    • If a player has this permission he is exempted from all AutoMod actions

How to exempt a Player from Bans, Warns or Mutes

Add a Player or IP-Address to the config

To exempt a player from bans, warns or mutes is quite simple. You can simply add the players name inside the config.yml to the exempted-players list to exempt the Player from bans or you add the players name to the exempted-mute-players or exempted-warns-players list to exempt the player from mutes / warns. You can also add an IP-Address to the exempted-ips list to exempt a specific IP-Address from bans.
NOTE! You can ban, warn, mute and ban an IP address over the console, even if the name or the ip address is inside one of the lists.

Add the Permission to a Player or an IP-Address.

You can also use one of the Exempt Permissions to exempt a Player from warns, bans mutes.
NOTE! If a player has the betterbansystem.exempt.ban permission he can get IP-Banned. To add an IP-Address to the exempted list exempted-ips.
Resource Information
Author:
----------
Total Downloads: 91
First Release: Jan 16, 2024
Last Update: Jan 20, 2024
Category: ---------------
All-Time Rating:
0 ratings
Find more info at simonplays15.github.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings