BetterSecurity | ✨ The best security for your server! icon

BetterSecurity | ✨ The best security for your server! -----

Your safety is the priority of everything!




BUGS FIXED (Spigot/Bukkit)
┃Fixed an issue that caused performance issues.

BUGS FIXED (Bungeecord)
┃Fixed an issue with the full tab of bungeecord whitelisted commands. For example: /command + [TAB]

NEW CHANGES (Spigot/Bukkit)
┃Revisited the "Block_Tab_Complete" section has become like the bungeecord one.

Code (YAML):
#  ______________           ______      ________      ______       _________                        ______    _____
#  ___  __ )__  /______________  /__    ___  __/_____ ___  /_      __  ____/____________ ______________  /______  /_____
#  __  __  |_  /_  __ \  ___/_  //_/    __  /  _  __ `/_  __ \     _  /    _  __ \_  __ `__ \__  __ \_  /_  _ \  __/  _ \
#  _  /_/ /_  / / /_/ / /__ _  ,<       _  /   / /_/ /_  /_/ /     / /___  / /_/ /  / / / / /_  /_/ /  / /  __/ /_ /  __/
#  /_____/ /_/  \____/\___/ /_/|_|      /_/    \__,_/ /_.___/      \____/  \____//_/ /_/ /_/_  .___//_/  \___/\__/ \___/
#                                                                                           /_/
Block_Tab_Complete
:

  # --------- < ⚠ > ---------
  # WARNING: It is absolutely recommended to use ProtocolLib for all versions of spigot.
  # This way you will be able to 100% block any attempts to steal plugins.
  # If you have set ProtocolLib, make sure that "Settings -> Hooks -> ProtocolLib" is true
  # (It is not enough to reload the plugin, you have to restart the server)

  # < ? > Does your server have version 1.13+? So if you reload the plugin,
  # you will have to join the server again to see the changes.
  enabled
: true

  # Prevents tabbing of these commands, so as not to conflict with other plugins.
  blacklisted_suggestions
:
   - 'pl'
    - 'plugins'
    - 'ver'
    - 'version'
    - 'about'
    - '?'
    - 'help'
    - 'bukkit:pl'
    - 'bukkit:plugins'
    - 'bukkit:ver'
    - 'bukkit:version'
    - 'bukkit:about'
    - 'bukkit:?'
    - 'bukkit:help'
    - 'minecraft:?'
    - 'minecraft:help'

  bypass
:
    # Here you can enter what kind of bypass you prefer
    # to be able to perform the complete tab:
    # - PERMISSION | (Bypass via permission: bettersecurity.bypass.antitab)
    # - PLAYERS | (Bypass by player name and uuid. Permission excluded)
    method
: 'PERMISSION'
    # Tip. You can put both the player's name and his UUID.
    players
:
     - 'playerName1'
      - '8667ba71-b85a-4004-af54-457a9734eed7'

  whitelisted_suggestions
:

    enabled
: true

    # If it is on "true", you will be able to tab the command much more conveniently!
    # For greater safety, it is not recommended to use it because it could cause problems.
    # (If the player access is from 1.13+ you can ignore this section)
    partial_matches
: false

    # Here you can enter groups in the "groups" list, which are enabled in the server.
    # If you enter "*", you will enable all groups.
    enabled_groups
:
     - '*'

    # This is the list of suggestions groups whitelisted in the complete tab.
    # In these groups you can put the following requirements:
    # - required_permission: <permission> | (If you set this requirement, the group will go only for those who have the specified permission)
    # - required_players: ['playername1', 'playername2'] | (If you put this requirement, the group will go only for the players in the list)
    # If you want to put multiple requirements in one group you can do it safely.
    groups
:
      # This is an example of a group with no requirements, suggestions inside this group will be seen by everyone.
      global
:
        # List of whitelisted suggestions in complete tabs.
        suggestions
:
         - 'spawn'
          - 'tell'
          - 'msg'
          - 'w'
          - 'whisper'
          - 't'
          - 'r'
          - 'reply'
      # This is an example of a group that only requires a permit.
      # The player who has that permission will see this list of suggestions.
      helper
:
        required_permission
: 'bettersecurity.tab.helper'
        suggestions
:
         - 'tempban'
          - 'tempmute'
          - 'unban'
          - 'pardon'
          - 'kick'
          - 'unmute'
          - 'warn'
          - 'warnings'
          - 'history'
          - 'dupeip'
          - 'ss'
          - 'freeze'
          - 'unfreeze'
      # This is an example of a group that only requires a list of players.
      # Players in this list will see these suggestions.
      admin
:
        required_permission
: 'bettersecurity.tab.admin'
        required_players
:
         - 'playername1'
          - 'playername2'
        suggestions
:
         - 'fly'
          - 'gamemode'
          - 'gm'
          - 'god'
          - 'mute'
          - 'ban'
          - 'ipban'
          - 'ipmute'
          - 'clearchat'

NEW CHANGES (Bungeecord)
┃"Block_Tab_Complete -> commands" has been changed to "Block_Tab_Complete -> blacklisted_suggestions"

Code (YAML):
#  ______________           ______      ________      ______       _________                        ______    _____
#  ___  __ )__  /______________  /__    ___  __/_____ ___  /_      __  ____/____________ ______________  /______  /_____
#  __  __  |_  /_  __ \  ___/_  //_/    __  /  _  __ `/_  __ \     _  /    _  __ \_  __ `__ \__  __ \_  /_  _ \  __/  _ \
#  _  /_/ /_  / / /_/ / /__ _  ,<       _  /   / /_/ /_  /_/ /     / /___  / /_/ /  / / / / /_  /_/ /  / /  __/ /_ /  __/
#  /_____/ /_/  \____/\___/ /_/|_|      /_/    \__,_/ /_.___/      \____/  \____//_/ /_/ /_/_  .___//_/  \___/\__/ \___/
#                                                                                           /_/
Block_Tab_Complete
:

  # --------- < ⚠ > ---------
  # If you have BungeeCord, the use of Waterfall (https://papermc.io/) is recommended.
  # This is because you can also block the commands in tab 1.13+ of the proxy.
  enabled
: true

  # Do you have waterfall or forks using it? (Types: Aegis, FlameCord, etc..).
  # ⚠ If the answer is yes then you definitely need to activate this option!
  # Because it allows you to block the proxy command tablist.
  waterfall_prevention
: false

  # Prevents tabbing of these commands, so as not to conflict with other plugins.
  blacklisted_suggestions
:
   - 'pl'
    - 'plugins'
    - 'ver'
    - 'version'
    - 'about'
    - '?'
    - 'help'
    - 'bukkit:pl'
    - 'bukkit:plugins'
    - 'bukkit:ver'
    - 'bukkit:version'
    - 'bukkit:about'
    - 'bukkit:?'
    - 'bukkit:help'
    - 'minecraft:?'
    - 'minecraft:help'

  bypass
:
    # Here you can enter what kind of bypass you prefer
    # to be able to perform the complete tab:
    # - PERMISSION | (Bypass via permission: bettersecuritybungee.bypass.antitab)
    # - PLAYERS | (Bypass by player name)
    method
: 'PERMISSION'
    # Tip. You can put both the player's name and his UUID.
    players
:
     - 'playerName1'
      - '8667ba71-b85a-4004-af54-457a9734eed7'

  whitelisted_suggestions
:

    enabled
: true

    # If it is on "true", you will be able to tab the command much more conveniently!
    # BUT, in order to function correctly, the use of BetterSecurity is also recommended in the spigot.
    # This is because by activating this method, blocking the tab only from the bungeecord, it may not work correctly.
    partial_matches
: false

    # Here you can put the groups under the "groups" list, which are enabled in the proxy.
    # If you enter "*", you will enable all groups.
    enabled_groups
:
     - '*'

    # This is the list of suggestions groups whitelisted in the complete tab.
    # In these groups you can put the following requirements:
    # - required_server: <serverName> | (If you put this requirement, the group will go only for the specified server)
    # - required_permission: <permission> | (If you set this requirement, the group will go only for those who have the specified permission)
    # - required_players: ['playername1', 'playername2'] | (If you put this requirement, the group will go only for the players in the list)
    # If you want to put multiple requirements in one group you can do it safely.
    # You can also ignore one or more servers in a group, by putting:
    # - ignore_servers: ['server1', 'server2'] | (Servers that are in this list will not see group suggestions)
    groups
:
      # This is an example of a group with no requirements, suggestions inside this group will be seen by everyone.
      global
:
        # List of whitelisted suggestions in complete tabs.
        suggestions
:
         - 'tell'
          - 'msg'
          - 'w'
          - 'whisper'
          - 't'
          - 'r'
          - 'reply'
      # In this example group, the hints will be shown on all servers, except the servers that have been skipped.
      spawn
:
        ignore_servers
:
         - 'bedwars'
          - 'skywars'
        suggestions
:
         - 'spawn'
      # This is an example of a group that only requires one server.
      # The suggestions in this list will only be displayed by the requested server.
      lobby
:
        required_server
: lobby
        suggestions
:
         - 'login'
          - 'l'
          - 'reg'
          - 'register'
      # This is an example of a group that only requires one server and one permission.
      # The player who is inside that server, and has that permission, will see the suggestions listed.
      faction_vip
:
        required_server
: faction
        required_permission
: 'bettersecuritybungee.tab.faction_vip'
        suggestions
:
         - 'fly'
      # This is an example of a group that only requires a permit.
      # The player who has that permission will see this list of suggestions.
      staff
:
        required_permission
: 'bettersecuritybungee.tab.staff'
        suggestions
:
         - 'tempban'
          - 'tempmute'
          - 'unban'
          - 'pardon'
          - 'kick'
          - 'unmute'
          - 'warn'
          - 'warnings'
          - 'history'
          - 'dupeip'
          - 'ss'
          - 'freeze'
          - 'unfreeze'
      # This is an example of a group that only requires a list of players.
      # Players in this list will see these suggestions.
      owner
:
        required_players
:
         - 'playername1'
          - 'playername2'
        suggestions
:
         - 'op'
          - 'deop'

NEW CHANGES (Everywhere)
┃Added "[MINI_MESSAGE]" executor which adds support for kyori adventure mini messages. https://docs.adventure.kyori.net/minimessage/index.html

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Feb 1, 2023

NEW CHANGES (Bungeecord)
┃Added "ignore_servers: ['server1', 'server2']", in bungeecord complete tab whitelisted commands.
┃Changed in "Block_Tab_Complete" section, whitelisted_commands option changed to whitelisted_suggestions.

Code (YAML):
#  ______________           ______      ________      ______       _________                        ______    _____
#  ___  __ )__  /______________  /__    ___  __/_____ ___  /_      __  ____/____________ ______________  /______  /_____
#  __  __  |_  /_  __ \  ___/_  //_/    __  /  _  __ `/_  __ \     _  /    _  __ \_  __ `__ \__  __ \_  /_  _ \  __/  _ \
#  _  /_/ /_  / / /_/ / /__ _  ,<       _  /   / /_/ /_  /_/ /     / /___  / /_/ /  / / / / /_  /_/ /  / /  __/ /_ /  __/
#  /_____/ /_/  \____/\___/ /_/|_|      /_/    \__,_/ /_.___/      \____/  \____//_/ /_/ /_/_  .___//_/  \___/\__/ \___/
#                                                                                           /_/
Block_Tab_Complete
:

  # --------- < ⚠ > ---------
  # If you have BungeeCord, the use of Waterfall (https://papermc.io/) is recommended.
  # This is because you can also block the commands in tab 1.13+ of the proxy.
  enabled
: true

  # Do you have waterfall or forks using it? (Types: Aegis, FlameCord, etc..).
  # ⚠ If the answer is yes then you definitely need to activate this option!
  # Because it allows you to block the proxy command tablist.
  waterfall_prevention
: false

  # Prevents tabbing of these commands, so as not to conflict with other plugins.
  commands
:
   - 'pl'
    - 'plugins'
    - 'ver'
    - 'version'
    - 'about'
    - '?'
    - 'help'
    - 'bukkit:pl'
    - 'bukkit:plugins'
    - 'bukkit:ver'
    - 'bukkit:version'
    - 'bukkit:about'
    - 'bukkit:?'
    - 'bukkit:help'
    - 'minecraft:?'
    - 'minecraft:help'

  bypass
:
    # Here you can enter what kind of bypass you prefer
    # to be able to perform the complete tab:
    # - PERMISSION | (Bypass via permission: bettersecuritybungee.bypass.antitab)
    # - PLAYERS | (Bypass by player name)
    method
: 'PERMISSION'
    # Tip. You can put both the player's name and his UUID.
    players
:
     - 'playerName1'
      - '8667ba71-b85a-4004-af54-457a9734eed7'

  whitelisted_suggestions
:

    enabled
: true

    # If it is on "true", you will be able to tab the command much more conveniently!
    # BUT, in order to function correctly, the use of BetterSecurity is also recommended in the spigot.
    # This is because by activating this method, blocking the tab only from the bungeecord, it may not work correctly.
    partial_matches
: false

    # Here you can put the groups under the "groups" list, which are enabled in the proxy.
    # If you enter "*", you will enable all groups.
    enabled_groups
:
     - '*'

    # This is the list of suggestions groups whitelisted in the complete tab.
    # In these groups you can put the following requirements:
    # - required_server: <serverName> | (If you put this requirement, the group will go only for the specified server)
    # - required_permission: <permission> | (If you set this requirement, the group will go only for those who have the specified permission)
    # - required_players: ['playername1', 'playername2'] | (If you put this requirement, the group will go only for the players in the list)
    # If you want to put multiple requirements in one group you can do it safely.
    # You can also ignore one or more servers in a group, by putting:
    # - ignore_servers: ['server1', 'server2'] | (Servers that are in this list will not see group suggestions)
    groups
:
      # This is an example of a group with no requirements, suggestions inside this group will be seen by everyone.
      global
:
        # List of whitelisted suggestions in complete tabs.
        suggestions
:
         - 'tell'
          - 'msg'
          - 'w'
          - 'whisper'
          - 't'
          - 'r'
          - 'reply'
      # In this example group, the hints will be shown on all servers, except the servers that have been skipped.
      spawn
:
        ignore_servers
:
         - 'bedwars'
          - 'skywars'
        suggestions
:
         - 'spawn'
      # This is an example of a group that only requires one server.
      # The suggestions in this list will only be displayed by the requested server.
      lobby
:
        required_server
: lobby
        suggestions
:
         - 'login'
          - 'l'
          - 'reg'
          - 'register'
      # This is an example of a group that only requires one server and one permission.
      # The player who is inside that server, and has that permission, will see the suggestions listed.
      faction_vip
:
        required_server
: faction
        required_permission
: 'bettersecuritybungee.tab.faction_vip'
        suggestions
:
         - 'fly'
      # This is an example of a group that only requires a permit.
      # The player who has that permission will see this list of suggestions.
      staff
:
        required_permission
: 'bettersecuritybungee.tab.staff'
        suggestions
:
         - 'tempban'
          - 'tempmute'
          - 'unban'
          - 'pardon'
          - 'kick'
          - 'unmute'
          - 'warn'
          - 'warnings'
          - 'history'
          - 'dupeip'
          - 'ss'
          - 'freeze'
          - 'unfreeze'
      # This is an example of a group that only requires a list of players.
      # Players in this list will see these suggestions.
      owner
:
        required_players
:
         - 'playername1'
          - 'playername2'
        suggestions
:
         - 'op'
          - 'deop'

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Jan 12, 2023

BUGS FIXED (Bungeecord)
┃Fixed the "server_mode" in the "Blocks_Commands" section. Now they will work fine.

NEW CHANGES (Bungeecord)
┃Revisited the "Block_Tab_Complete" section. It has now been improved.

Code (YAML):
#  ______________           ______      ________      ______       _________                        ______    _____
#  ___  __ )__  /______________  /__    ___  __/_____ ___  /_      __  ____/____________ ______________  /______  /_____
#  __  __  |_  /_  __ \  ___/_  //_/    __  /  _  __ `/_  __ \     _  /    _  __ \_  __ `__ \__  __ \_  /_  _ \  __/  _ \
#  _  /_/ /_  / / /_/ / /__ _  ,<       _  /   / /_/ /_  /_/ /     / /___  / /_/ /  / / / / /_  /_/ /  / /  __/ /_ /  __/
#  /_____/ /_/  \____/\___/ /_/|_|      /_/    \__,_/ /_.___/      \____/  \____//_/ /_/ /_/_  .___//_/  \___/\__/ \___/
#                                                                                           /_/
Block_Tab_Complete
:

  # --------- < ⚠ > ---------
  # If you have BungeeCord, the use of Waterfall (https://papermc.io/) is recommended.
  # This is because you can also block the commands in tab 1.13+ of the proxy.
  enabled
: true

  # Do you have waterfall or forks using it? (Types: Aegis, FlameCord, etc..).
  # ⚠ If the answer is yes then you definitely need to activate this option!
  # Because it allows you to block the proxy command tablist.
  waterfall_prevention
: false

  # Prevents tabbing of these commands, so as not to conflict with other plugins.
  commands
:
   - 'pl'
    - 'plugins'
    - 'ver'
    - 'version'
    - 'about'
    - '?'
    - 'help'
    - 'bukkit:pl'
    - 'bukkit:plugins'
    - 'bukkit:ver'
    - 'bukkit:version'
    - 'bukkit:about'
    - 'bukkit:?'
    - 'bukkit:help'
    - 'minecraft:?'
    - 'minecraft:help'

  bypass
:
    # Here you can enter what kind of bypass you prefer
    # to be able to perform the complete tab:
    # - PERMISSION | (Bypass via permission: bettersecuritybungee.bypass.antitab)
    # - PLAYERS | (Bypass by player name)
    method
: 'PERMISSION'
    # Tip. You can put both the player's name and his UUID.
    players
:
     - 'playerName1'
      - '8667ba71-b85a-4004-af54-457a9734eed7'

  whitelisted_commands
:

    enabled
: true

    # If it is on "true", you will be able to tab the command much more conveniently!
    # BUT, in order to function correctly, the use of BetterSecurity is also recommended in the spigot.
    # This is because by activating this method, blocking the tab only from the bungeecord, it may not work correctly.
    partial_matches
: false

    # Here you can put the groups under the "groups" list, which are enabled in the proxy.
    # If you enter "*", you will enable all groups.
    enabled_groups
:
     - '*'

    # This is the list of suggestions groups whitelisted in the complete tab.
    # In these groups you can put the following requirements:
    # - required_server: <serverName> | (If you put this requirement, the group will go only for the specified server)
    # - required_permission: <permission> | (If you set this requirement, the group will go only for those who have the specified permission)
    # - required_players: ['playername1', 'playername2'] | (If you put this requirement, the group will go only for the players in the list)
    # If you want to put multiple requirements in one group you can do it safely.
    groups
:
      # This is an example of a group with no requirements, suggestions inside this group will be seen by everyone.
      global
:
        # List of whitelisted suggestions in complete tabs.
        suggestions
:
         - 'spawn'
          - 'tell'
          - 'msg'
          - 'w'
          - 'whisper'
          - 't'
          - 'r'
          - 'reply'
      # This is an example of a group that only requires one server.
      # The suggestions in this list will only be displayed by the requested server.
      lobby
:
        required_server
: lobby
        suggestions
:
         - 'login'
          - 'l'
          - 'reg'
          - 'register'
      # This is an example of a group that only requires one server and one permission.
      # The player who is inside that server, and has that permission, will see the suggestions listed.
      faction_vip
:
        required_server
: faction
        required_permission
: 'bettersecuritybungee.tab.faction_vip'
        suggestions
:
         - 'fly'
      # This is an example of a group that only requires a permit.
      # The player who has that permission will see this list of suggestions.
      staff
:
        required_permission
: 'bettersecuritybungee.tab.staff'
        suggestions
:
         - 'tempban'
          - 'tempmute'
          - 'unban'
          - 'pardon'
          - 'kick'
          - 'unmute'
          - 'warn'
          - 'warnings'
          - 'history'
          - 'dupeip'
          - 'ss'
          - 'freeze'
          - 'unfreeze'
      # This is an example of a group that only requires a list of players.
      # Players in this list will see these suggestions.
      owner
:
        required_players
:
         - 'playername1'
          - 'playername2'
        suggestions
:
         - 'op'
          - 'deop'

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Jan 11, 2023

BUGS FIXED (Bungeecord)
┃Fixed the "server_mode" in the "Blocks_Commands" section. Now they will work fine.

NEW CHANGES (Bungeecord)
┃Revisited the "Block_Tab_Complete" section. It has now been improved.

Code (YAML):
#  ______________           ______      ________      ______       _________                        ______    _____
#  ___  __ )__  /______________  /__    ___  __/_____ ___  /_      __  ____/____________ ______________  /______  /_____
#  __  __  |_  /_  __ \  ___/_  //_/    __  /  _  __ `/_  __ \     _  /    _  __ \_  __ `__ \__  __ \_  /_  _ \  __/  _ \
#  _  /_/ /_  / / /_/ / /__ _  ,<       _  /   / /_/ /_  /_/ /     / /___  / /_/ /  / / / / /_  /_/ /  / /  __/ /_ /  __/
#  /_____/ /_/  \____/\___/ /_/|_|      /_/    \__,_/ /_.___/      \____/  \____//_/ /_/ /_/_  .___//_/  \___/\__/ \___/
#                                                                                           /_/
Block_Tab_Complete
:

  # --------- < ⚠ > ---------
  # If you have BungeeCord, the use of Waterfall (https://papermc.io/) is recommended.
  # This is because you can also block the commands in tab 1.13+ of the proxy.
  enabled
: true

  # Do you have waterfall or forks using it? (Types: Aegis, FlameCord, etc..).
  # ⚠ If the answer is yes then you definitely need to activate this option!
  # Because it allows you to block the proxy command tablist.
  waterfall_prevention
: false

  # Prevents tabbing of these commands, so as not to conflict with other plugins.
  commands
:
   - 'pl'
    - 'plugins'
    - 'ver'
    - 'version'
    - 'about'
    - '?'
    - 'help'
    - 'bukkit:pl'
    - 'bukkit:plugins'
    - 'bukkit:ver'
    - 'bukkit:version'
    - 'bukkit:about'
    - 'bukkit:?'
    - 'bukkit:help'
    - 'minecraft:?'
    - 'minecraft:help'

  bypass
:
    # Here you can enter what kind of bypass you prefer
    # to be able to perform the complete tab:
    # - PERMISSION | (Bypass via permission: bettersecuritybungee.bypass.antitab)
    # - PLAYERS | (Bypass by player name)
    method
: 'PERMISSION'
    # Tip. You can put both the player's name and his UUID.
    players
:
     - 'playerName1'
      - '8667ba71-b85a-4004-af54-457a9734eed7'

  whitelisted_commands
:

    enabled
: true

    # If it is on "true", you will be able to tab the command much more conveniently!
    # BUT, in order to function correctly, the use of BetterSecurity is also recommended in the spigot.
    # This is because by activating this method, blocking the tab only from the bungeecord, it may not work correctly.
    partial_matches
: false

    # Here you can put the groups under the "groups" list, which are enabled in the proxy.
    # If you enter "*", you will enable all groups.
    enabled_groups
:
     - '*'

    # This is the list of suggestions groups whitelisted in the complete tab.
    # In these groups you can put the following requirements:
    # - required_server: <serverName> | (If you put this requirement, the group will go only for the specified server)
    # - required_permission: <permission> | (If you set this requirement, the group will go only for those who have the specified permission)
    # - required_players: ['playername1', 'playername2'] | (If you put this requirement, the group will go only for the players in the list)
    # If you want to put multiple requirements in one group you can do it safely.
    groups
:
      # This is an example of a group with no requirements, suggestions inside this group will be seen by everyone.
      global
:
        # List of whitelisted suggestions in complete tabs.
        suggestions
:
         - 'spawn'
          - 'tell'
          - 'msg'
          - 'w'
          - 'whisper'
          - 't'
          - 'r'
          - 'reply'
      # This is an example of a group that only requires one server.
      # The suggestions in this list will only be displayed by the requested server.
      lobby
:
        required_server
: lobby
        suggestions
:
         - 'login'
          - 'l'
          - 'reg'
          - 'register'
      # This is an example of a group that only requires one server and one permission.
      # The player who is inside that server, and has that permission, will see the suggestions listed.
      faction_vip
:
        required_server
: faction
        required_permission
: 'bettersecuritybungee.tab.faction_vip'
        suggestions
:
         - 'fly'
      # This is an example of a group that only requires a permit.
      # The player who has that permission will see this list of suggestions.
      staff
:
        required_permission
: 'bettersecuritybungee.tab.staff'
        suggestions
:
         - 'tempban'
          - 'tempmute'
          - 'unban'
          - 'pardon'
          - 'kick'
          - 'unmute'
          - 'warn'
          - 'warnings'
          - 'history'
          - 'dupeip'
          - 'ss'
          - 'freeze'
          - 'unfreeze'
      # This is an example of a group that only requires a list of players.
      # Players in this list will see these suggestions.
      owner
:
        required_players
:
         - 'playername1'
          - 'playername2'
        suggestions
:
         - 'op'
          - 'deop'

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Jan 11, 2023

NEW SECURITY PATCH (BungeeCord)
┃Added in the bungeecord section "Prevent_Command_Spam", it is able to fix an exploit that is able to crash the bungeecord! Currently plugins like LPX do not take advantage of this feature, so I recommend you to activate it.
┃Added "bettersecuritybungee.bypass.cmdspam" permission to bypass this new prevention.

Code (YAML):
#  ________                               _____     _________                                         _________   ________
#  ___  __ \______________   _______________  /_    __  ____/____________ __________ _________ _____________  /   __  ___/_____________ _______ ___
#  __  /_/ /_  ___/  _ \_ | / /  _ \_  __ \  __/    _  /    _  __ \_  __ `__ \_  __ `__ \  __ `/_  __ \  __  /    _____ \___  __ \  __ `/_  __ `__ \
#  _  ____/_  /   /  __/_ |/ //  __/  / / / /_      / /___  / /_/ /  / / / / /  / / / / / /_/ /_  / / / /_/ /     ____/ /__  /_/ / /_/ /_  / / / / /
#  /_/     /_/    \___/_____/ \___//_/ /_/\__/      \____/  \____//_/ /_/ /_//_/ /_/ /_/\__,_/ /_/ /_/\__,_/      /____/ _  .___/\__,_/ /_/ /_/ /_/
#                                                                                                                      /_/
Prevent_Command_Spam
:

  # This feature allows you to fix an exploit that crashes your proxy!
  # You can customize it as you like according to your needs.
  enabled
: true

  # If it is on "true" the execution attempt warning will be sent to chat.
  warning
: true

  # This option determines how often you can run the command (In seconds)
  delay
: 3

  # This function determines how many commands based on the delay, the player is punished.
  # (If set to 0, this function will be ignored)
  command_limit
: 10

  # If this is set to "true", you will not be able to execute the command during the cooldown.
  block_command
: false

  # (If you have set the command limit, along with the kick, this section will be ignored.
  # You can also ignore it by simply putting -> message: '')
  # This message will be shown during a cooldown.
  #
  # You can use the following placeholders:
  # - %seconds% | (Seconds left)
  # - %commands% | (Number of commands executed)
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [KICK ] &cYou performed %commands% commands in 3 seconds!\n&cPlease rejoin and don''t make commands too fast.'

  # Here you can enter the type of method you want to use to set the command cooldown:
  # - BLACKLIST | (The commands in the list will have the cooldown)
  # - WHITELIST | (Commands in the list will have no cooldowns)
  method
: 'BLACKLIST'

  commands
:
   - 'alert'
    - 'alertraw'
    - 'bungee'
    - 'end'
    - 'find'
    - 'glist'
    - 'greload'
    - 'ip'
    - 'perms'
    - 'send'
    - 'server'
    - 'lpb'
    - 'luckpermsbungee'

NEW CHANGES
(BungeeCord)
┃Added executors to the bungeecord as well! The same ones that are in the spigot version have been added, except 2: BossBar and Sound. Also added was the "[KICK] reason" executor.
┃In the "Blocks_Commands" section, the messages have been replaced with executors.

Code (YAML):
#  ___       __                    _____
#  __ |     / /_____ _________________(_)_____________ ________
#  __ | /| / /_  __ `/_  ___/_  __ \_  /__  __ \_  __ `/_  ___/
#  __ |/ |/ / / /_/ /_  /   _  / / /  / _  / / /  /_/ /_(__  )
#  ____/|__/  \__,_/ /_/    /_/ /_//_/  /_/ /_/_\__, / /____/
#                                              /____/
Warnings
:

  # In this field you can decide whether to activate the logs also via the console.
  log_console
: true

  # This message will be sent to those with permission: bettersecuritybungee.broadcast.warnings
  # < ? > You can find more information about the executors in the header.
  # ATTENTION! Do not use the "@" in front of the broadcast, there is already the automatic one via the above permission.
  formats
:
    commands
:
      # You can use the following placeholders:
      # - %command% | (The command that was blocked)
      format
:
       - ' [MESSAGE ] &e&l⚠ &e %server% ┃ &b%player% &7attempted to execute the command: &c%command%'
      console
: ' %player% attempted to execute the command: %command%'
    prevent_command_spam
:
      # You can use the following placeholders:
      # - %command% | (The command executed too many times)
      format
:
       - ' [MESSAGE ] &e&l⚠ ┃ &b %player% &7has executed the command too many times: &c%command%'
      console
: ' %player% has executed the command too many times: %command%'
Code (YAML):
#  ______________           ______             _________                                         _________
#  ___  __ )__  /______________  /_________    __  ____/____________ __________ _________ _____________  /_______
#  __  __  |_  /_  __ \  ___/_  //_/_  ___/    _  /    _  __ \_  __ `__ \_  __ `__ \  __ `/_  __ \  __  /__  ___/
#  _  /_/ /_  / / /_/ / /__ _  ,<  _(__  )     / /___  / /_/ /  / / / / /  / / / / / /_/ /_  / / / /_/ / _(__  )
#  /_____/ /_/  \____/\___/ /_/|_| /____/      \____/  \____//_/ /_/ /_//_/ /_/ /_/\__,_/ /_/ /_/\__,_/  /____/
#
Blocks_Commands
:

  enabled
: true

  # If it is on "true" the execution attempt warning will be sent to chat.
  warning
: true

  # Here you can enter the type of method you want to use to block commands:
  # - BLACKLIST | (The commands in the list will be blocked)
  # - WHITELIST | (The commands in the list will be able to execute)
  method
: 'BLACKLIST'

  # Forced checking if enabled can cause problems with other plugins.
  # For example AuthMeBungee (If you execute a blocked command before login, the plugin will overwrite it)
  force_check
: false

  # This message will be shown as soon as the command is blocked.
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'

  # List of blocked or enabled commands according to the selected method.
  # If you want to block commands only through "server mode", just put "commands: []"
  commands
:
   - 'bungee'
    - 'waterfall'
    - 'pl'
    - 'plugins'
    - 'ver'
    - 'version'
    - 'about'
    - '?'
    - 'help'
    - 'bukkit:pl'
    - 'bukkit:plugins'
    - 'bukkit:ver'
    - 'bukkit:version'
    - 'bukkit:about'
    - 'bukkit:?'
    - 'bukkit:help'
    - 'minecraft:?'
    - 'minecraft:help'

  # Server mode allows you to block commands based on the server the player is on.
  server_mode
:

    enabled
: false

    # This is the list of servers where commands are blocked.
    servers
:
      # This is an example server.
      lobby
:
        # < ? > The methods are the same that are located above.
        method
: 'BLACKLIST'
        # Instead these are the commands blocked on that server.
        commands
:
         - 'examplecommand1'
          - 'examplecommand2'
      # In this example you can use another message.
      survival
:
        # < ? > The methods are the same that are located above.
        method
: 'BLACKLIST'
        # This executor will only be sent to this server.
        # < ? > You can find more information about the executors in the header.
        executors
:
         - ' [MESSAGE ] &a&lSURVIVAL ┃ &cYou cannot execute this command!'
        # Instead these are the commands blocked on that server.
        commands
:
         - 'examplecommand1'
          - 'examplecommand2'

NEW CHANGES
(Spigot/Bukkit)
┃Added placeholder "%center%", to be usable for all messages. (Included in executors)
┃Added event priorities! You can change their priority for the various sections. They have been added for the following sections: Unknown_Command, Block_Syntax, Blocks_Commands, Commands_Only_Console, Commands_Only_Players, Block_Custom_Commands.

Code (YAML):
#  _________             _____                       _____  __      ______                                     _________                                         _________
#  __  ____/___  __________  /_____________ ___      __  / / /_________  /_________________      ________      __  ____/____________ __________ _________ _____________  /
#  _  /    _  / / /_  ___/  __/  __ \_  __ `__ \     _  / / /__  __ \_  //_/_  __ \  __ \_ | /| / /_  __ \     _  /    _  __ \_  __ `__ \_  __ `__ \  __ `/_  __ \  __  /
#  / /___  / /_/ /_(__  )/ /_ / /_/ /  / / / / /     / /_/ / _  / / /  ,<  _  / / / /_/ /_ |/ |/ /_  / / /     / /___  / /_/ /  / / / / /  / / / / / /_/ /_  / / / /_/ /
#  \____/  \__,_/ /____/ \__/ \____//_/ /_/ /_/      \____/  /_/ /_//_/|_| /_/ /_/\____/____/|__/ /_/ /_/      \____/  \____//_/ /_/ /_//_/ /_/ /_/\__,_/ /_/ /_/\__,_/
#
Unknown_Command
:

  # --------- < ⚠ > ---------
  # This feature is only recommended for versions 1.19+!
  # This is because spigot does not currently edit the unknown command via spigot.yml,
  # but remains the default one. If you have a version lower than 1.19, you can leave it to false.
  # If you use PlugMan, it can cause problems if the plugin it loads registers commands for the first time.
  enabled
: false

  # Here you can set the priority of the event. You can find the priority list with this link
  # --> https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/EventPriority.html
  priority
: HIGHEST

  # To ignore this section put "exempt_commands: []"
  # This function allows you, in case of problems, to be able to insert a
  # list of commands that the plugin will ignore.
  # The command set by default was put as an example for those who use ChatControl-Red,
  # who when running /tell also execute a command that is not registered on Bukkit.
  exempt_commands
:
   - ' #flp'

  # If set to "true", it will fetch the unknown message directly from spigot.yml.
  # If it's false, then it will use the executor below.
  use_spigot_message
: true

  # If "use_spigot_message" is true, ignore this section.
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [MESSAGE ] %prefix%The "&b%command%&7" command was not found.'
Code (YAML):
#  ______________           ______      ________              _____
#  ___  __ )__  /______________  /__    __  ___/____  __________  /______ ____  __
#  __  __  |_  /_  __ \  ___/_  //_/    _____ \__  / / /_  __ \  __/  __ `/_  |/_/
#  _  /_/ /_  / / /_/ / /__ _  ,<       ____/ /_  /_/ /_  / / / /_ / /_/ /__>  <
#  /_____/ /_/  \____/\___/ /_/|_|      /____/ _\__, / /_/ /_/\__/ \__,_/ /_/|_|
#                                              /____/
Block_Syntax
:

  enabled
: true

  # Here you can set the priority of the event. You can find the priority list with this link
  # --> https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/EventPriority.html
  priority
: HIGHEST

  # If it is on "true" the execution attempt warning will be sent to chat.
  warning
: true

  # Message that is sent if one tries to do: <plugin>:<command>.
  # Tip. It is useful to avoid being in situations where you can bypass blocked commands,
  # or commands known as minecraft:me, minecraft:tell, etc...
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [MESSAGE ] %prefix%&cYou can''t do /<plugin>:<command>'
    - ' [TITLE ] &e&lBETTER SECURITY;&c&l┃ &cYou can''t do /<plugin>:<command>;20;40;20'
Code (YAML):
#  ______________           ______             _________                                         _________
#  ___  __ )__  /______________  /_________    __  ____/____________ __________ _________ _____________  /_______
#  __  __  |_  /_  __ \  ___/_  //_/_  ___/    _  /    _  __ \_  __ `__ \_  __ `__ \  __ `/_  __ \  __  /__  ___/
#  _  /_/ /_  / / /_/ / /__ _  ,<  _(__  )     / /___  / /_/ /  / / / / /  / / / / / /_/ /_  / / / /_/ / _(__  )
#  /_____/ /_/  \____/\___/ /_/|_| /____/      \____/  \____//_/ /_/ /_//_/ /_/ /_/\__,_/ /_/ /_/\__,_/  /____/
#
Blocks_Commands
:

  enabled
: true

  # Here you can set the priority of the event. You can find the priority list with this link
  # --> https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/EventPriority.html
  priority
: HIGHEST

  # If it is on "true" the execution attempt warning will be sent to chat.
  warning
: true

  # Here you can enter the type of method you want to use to block commands:
  # - BLACKLIST | (The commands in the list will be blocked)
  # - WHITELIST | (The commands in the list will be able to execute)
  method
: 'BLACKLIST'

  # This message will be shown as soon as the command is blocked.
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'

  # List of blocked or enabled commands according to the selected method.
  commands
:
   - 'pl'
    - 'plugins'
    - 'ver'
    - 'version'
    - 'about'
    - '?'
    - 'help'
    - 'icanhasbukkit'
Code (YAML):
#  ______________           ______             _______       ______            _________                         ______
#  ___  __ )__  /______________  /_________    __  __ \_________  /____  __    __  ____/____________________________  /____
#  __  __  |_  /_  __ \  ___/_  //_/_  ___/    _  / / /_  __ \_  /__  / / /    _  /    _  __ \_  __ \_  ___/  __ \_  /_  _ \
#  _  /_/ /_  / / /_/ / /__ _  ,<  _(__  )     / /_/ /_  / / /  / _  /_/ /     / /___  / /_/ /  / / /(__  )/ /_/ /  / /  __/
#  /_____/ /_/  \____/\___/ /_/|_| /____/      \____/ /_/ /_//_/  _\__, /      \____/  \____//_/ /_//____/ \____//_/  \___/
#                                                                 /____/
Commands_Only_Console
:

  enabled
: true

  # Here you can set the priority of the event. You can find the priority list with this link
  # --> https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/EventPriority.html
  priority
: HIGHEST

  # If it is on "true" the execution attempt warning will be sent to chat.
  warning
: true

  # This message will be shown as soon as the command is blocked.
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'

  # List of commands that can only be executed from the console.
  commands
:
   - 'op'
    - 'minecraft:op'
    - 'deop'
    - 'minecraft:deop'
    - 'reload'
    - 'minecraft:reload'
    - 'rl'
    - 'minecraft:rl'
    - 'execute'
    - 'minecraft:execute'
 
Code (YAML):
#  ______________           ______             _______       ______            ______________
#  ___  __ )__  /______________  /_________    __  __ \_________  /____  __    ___  __ \__  /_____ _____  _____________________
#  __  __  |_  /_  __ \  ___/_  //_/_  ___/    _  / / /_  __ \_  /__  / / /    __  /_/ /_  /_  __ `/_  / / /  _ \_  ___/_  ___/
#  _  /_/ /_  / / /_/ / /__ _  ,<  _(__  )     / /_/ /_  / / /  / _  /_/ /     _  ____/_  / / /_/ /_  /_/ //  __/  /   _(__  )
#  /_____/ /_/  \____/\___/ /_/|_| /____/      \____/ /_/ /_//_/  _\__, /      /_/     /_/  \__,_/ _\__, / \___//_/    /____/
#                                                                 /____/                           /____/
Commands_Only_Players
:

  enabled
: true

  # Here you can set the priority of the event. You can find the priority list with this link
  # --> https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/EventPriority.html
  priority
: HIGHEST

  # If it is on "true" the execution attempt warning will be sent to chat.
  warning
: true

  # This message will be shown as soon as the command is blocked.
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'

  # List of players authorized to execute the commands below.
  # Tip. You can put both the player's name and his UUID.
  bypass_players
:
   - 'playerName1'
    - '8667ba71-b85a-4004-af54-457a9734eed7'

  # List of commands that players in the list above can perform.
  commands
:
   - 'pl'
    - 'plugins'
    - 'bukkit:pl'
    - 'bukkit:plugins'
Code (YAML):
#  ______________           ______             _________             _____                       _________                                         _________
#  ___  __ )__  /______________  /_________    __  ____/___  __________  /_____________ ___      __  ____/____________ __________ _________ _____________  /_______
#  __  __  |_  /_  __ \  ___/_  //_/_  ___/    _  /    _  / / /_  ___/  __/  __ \_  __ `__ \     _  /    _  __ \_  __ `__ \_  __ `__ \  __ `/_  __ \  __  /__  ___/
#  _  /_/ /_  / / /_/ / /__ _  ,<  _(__  )     / /___  / /_/ /_(__  )/ /_ / /_/ /  / / / / /     / /___  / /_/ /  / / / / /  / / / / / /_/ /_  / / / /_/ / _(__  )
#  /_____/ /_/  \____/\___/ /_/|_| /____/      \____/  \__,_/ /____/ \__/ \____//_/ /_/ /_/      \____/  \____//_/ /_/ /_//_/ /_/ /_/\__,_/ /_/ /_/\__,_/  /____/
#
Block_Custom_Commands
:

  enabled
: false

  # This allows you to run an executor for each command.
  # < ? > You can find more information about the executors in the header.
  commands
:
    # In this example the command will be blocked for everyone.
    example_Command1
:
      command
: 'examplecommand1'
      priority
: HIGHEST
      warning
: true
      executors
:
       - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'
        - '[ACTION] &c&l⚠ &7You tried to run the command
: &c%command%'
    # In this example, however, it requires permission to execute the command.
    example_Command2
:
      command
: 'examplecommand2'
      priority
: HIGHEST
      warning
: true
      permission_required
: 'bettersecurity.bypass.exampleCommand2'
      executors
:
       - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'
    # In this other example, only the players on the list will be able to perform it.
    example_Command3
:
      command
: 'examplecommand3'
      priority
: HIGHEST
      # Tip. You can put both the player's name and his UUID.
      required_players
:
       - 'playerName1'
        - '8667ba71-b85a-4004-af54-457a9734eed7'
      executors
:
       - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'
    # In this example, he shows you how you can block multiple commands with the same executor.
    example_Command4
:
      commands
:
       - 'examplecommand4'
        - 'examplecommand5'
      priority
: HIGHEST
      warning
: true
      permission_required
: 'bettersecurity.bypass.exampleCommands'
      executors
:
       - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Jan 7, 2023

Recommended to use ProtocolLib for all versions

BUGS FIXED
(Spigot/Bukkit)
┃With a lot of sweat and effort, we have solved a very IMPORTANT problem! We have completely fixed the full tab bypass of the Meteor client. We are probably currently the only ones in the platform (I tested the most famous ones, and they are all bypassable)
[​IMG]

Other clients it has been tested on: ParrotClient 2.0, Skillclient, EaZy.

TIP ┃If you want to be safer, you can disable the following permissions:
- minecraft.*
- bukkit.command.*
If you have LuckPerms just do: /lp user/group <name> permission set <permission> false (Example: /lp group default permission set minecraft.* false)
If you have PermissionsEx just do: /pex user/group <name> add -<permission> (Example: /pex group user add -bukkit.command.*)

BUGS FIXED
(BungeeCord)
┃Fixed an issue that caused the plugin to not launch correctly on Bungeecord (without fork). Added a new option to lock Tab Complete accordingly.

NEW CHANGES (BungeeCord)
┃Add the "waterfall prevention" option, which allows you to block proxy commands as well. (Also works with any fork of Waterfall, such as Aegis, FlameCord, etc..)

Code (YAML):
#  ______________           ______      ________      ______       _________                        ______    _____
#  ___  __ )__  /______________  /__    ___  __/_____ ___  /_      __  ____/____________ ______________  /______  /_____
#  __  __  |_  /_  __ \  ___/_  //_/    __  /  _  __ `/_  __ \     _  /    _  __ \_  __ `__ \__  __ \_  /_  _ \  __/  _ \
#  _  /_/ /_  / / /_/ / /__ _  ,<       _  /   / /_/ /_  /_/ /     / /___  / /_/ /  / / / / /_  /_/ /  / /  __/ /_ /  __/
#  /_____/ /_/  \____/\___/ /_/|_|      /_/    \__,_/ /_.___/      \____/  \____//_/ /_/ /_/_  .___//_/  \___/\__/ \___/
#                                                                                           /_/
Block_Tab_Complete
:

  # --------- < ⚠ > ---------
  # If you have BungeeCord, the use of Waterfall (https://papermc.io/) is recommended.
  # This is because you can also block the commands in tab 1.13+ of the proxy.
  enabled
: true

  # Do you have waterfall or forks using it? (Types: Aegis, FlameCord, etc..).
  # ⚠ If the answer is yes then you definitely need to activate this option!
  # Because it allows you to block the proxy command tablist.
  waterfall_prevention
: false

  # Prevents tabbing of these commands, so as not to conflict with other plugins.
  commands
:
   - 'pl'
    - 'plugins'
    - 'ver'
    - 'version'
    - 'about'
    - '?'
    - 'help'
    - 'bukkit:pl'
    - 'bukkit:plugins'
    - 'bukkit:ver'
    - 'bukkit:version'
    - 'bukkit:about'
    - 'bukkit:?'
    - 'bukkit:help'
    - 'minecraft:?'
    - 'minecraft:help'

  bypass
:
    # Here you can enter what kind of bypass you prefer
    # to be able to perform the complete tab:
    # - PERMISSION | (Bypass via permission: bettersecuritybungee.bypass.antitab)
    # - PLAYERS | (Bypass by player name)
    method
: 'PERMISSION'
    # Tip. You can put both the player's name and his UUID.
    players
:
     - 'playerName1'
      - '8667ba71-b85a-4004-af54-457a9734eed7'

  whitelisted_commands
:

    enabled
: true

    # If it is on "true", you will be able to tab the command much more conveniently!
    # BUT, in order to function correctly, the use of BetterSecurity is also recommended in the spigot.
    # This is because by activating this method, blocking the tab only from the bungeecord, it may not work correctly.
    partial_matches
: false

    # This is the global list of tab commands that will be whitelisted.
    # To disable global commands, just put "global: []".
    global
:
     - 'spawn'
      - 'tell'
      - 'msg'
      - 'w'
      - 'whisper'
      - 't'
      - 'r'
      - 'reply'

    # Here you can request requirements to be able to show whitelisted commands.
    # (Can be very useful for not showing staff commands to players)
    required
:

      enabled
: false

      # Here you can set up global groups, for all servers connected to BungeeCord.
      # If you want to deactivate it, just put "groups: []"
      global
:
        groups
:
         - 'helper'
          - 'admin'

      # Here you can add all the various groups to be able to whitelist commands by permission.
      groups
:
        # This is the first example group.
        helper
:
          # Here you will need to enter the required permission.
          permission
: 'bettersecuritybungee.tab.helper'
          # While here you will have to put the list of commands that will have to be shown.
          commands
:
           - 'tempban'
            - 'tempmute'
            - 'unban'
            - 'pardon'
            - 'kick'
            - 'unmute'
            - 'warn'
            - 'warnings'
            - 'history'
            - 'dupeip'
            - 'ss'
            - 'freeze'
            - 'unfreeze'
        admin
:
          permission
: 'bettersecuritybungee.tab.admin'
          commands
:
           - 'fly'
            - 'gamemode'
            - 'gm'
            - 'god'
            - 'mute'
            - 'ban'
            - 'ipban'
            - 'ipmute'
            - 'clearchat'

    # The server mode is for enabling the above groups, based on the server.
    server_mode
:

      enabled
: false

      # Below you will have to put the servers with the various groups.
      servers
:
        # This is an example server.
        lobby
:
          # These are the sample groups that will be shown on this server.
          groups
:
           - 'groupexample1'
            - 'groupexample2'
        # This is another example server.
        survival
:
          # These are the sample groups that will be shown on this server.
          groups
:
           - 'groupexample1'
            - 'groupexample2'

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Jan 5, 2023

NEW CHANGES (Spigot/Bukkit)
┃Added exempt commands for the "Unknown Commands" section. This can be useful for any plugins that don't log commands to bukkit directly.

Code (YAML):
#  _________             _____                       _____  __      ______                                     _________                                         _________
#  __  ____/___  __________  /_____________ ___      __  / / /_________  /_________________      ________      __  ____/____________ __________ _________ _____________  /
#  _  /    _  / / /_  ___/  __/  __ \_  __ `__ \     _  / / /__  __ \_  //_/_  __ \  __ \_ | /| / /_  __ \     _  /    _  __ \_  __ `__ \_  __ `__ \  __ `/_  __ \  __  /
#  / /___  / /_/ /_(__  )/ /_ / /_/ /  / / / / /     / /_/ / _  / / /  ,<  _  / / / /_/ /_ |/ |/ /_  / / /     / /___  / /_/ /  / / / / /  / / / / / /_/ /_  / / / /_/ /
#  \____/  \__,_/ /____/ \__/ \____//_/ /_/ /_/      \____/  /_/ /_//_/|_| /_/ /_/\____/____/|__/ /_/ /_/      \____/  \____//_/ /_/ /_//_/ /_/ /_/\__,_/ /_/ /_/\__,_/
#
Unknown_Command
:

  # --------- < ⚠ > ---------
  # This feature is only recommended for versions 1.19+!
  # This is because spigot does not currently edit the unknown command via spigot.yml,
  # but remains the default one. If you have a version lower than 1.19, you can leave it to false.
  enabled
: true

  # To ignore this section put "exempt_commands: []"
  # This function allows you, in case of problems, to be able to insert a
  # list of commands that the plugin will ignore.
  # The command set by default was put as an example for those who use ChatControl-Red,
  # who when running /tell also execute a command that is not registered on Bukkit.
  exempt_commands
:
   - ' #flp'

  # If set to "true", it will fetch the unknown message directly from spigot.yml.
  # If it's false, then it will use the executor below.
  use_spigot_message
: true

  # If "use_spigot_message" is true, ignore this section.
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [MESSAGE ] %prefix%The "&b%command%&7" command was not found.'

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Jan 4, 2023

NEW CHANGES (Spigot/Bukkit)
┃Added customizable unknown messages for version 1.19+. It also works with previous versions, but if you want to just add something more. (Example: Titles, ActionBar, Etc..)
[⚠ This function with PlugMan can give problems if you upload new plugins. In that case if you run into problems, just restart the server to correctly register the new commands.]
┃In the "Block_Custom_Commands" section, you can now register multiple commands at once. By default it is "command", with this version "commands" has also been added, to block multiple commands with the same executor.

Code (YAML):
#  _________             _____                       _____  __      ______                                     _________                                         _________
#  __  ____/___  __________  /_____________ ___      __  / / /_________  /_________________      ________      __  ____/____________ __________ _________ _____________  /
#  _  /    _  / / /_  ___/  __/  __ \_  __ `__ \     _  / / /__  __ \_  //_/_  __ \  __ \_ | /| / /_  __ \     _  /    _  __ \_  __ `__ \_  __ `__ \  __ `/_  __ \  __  /
#  / /___  / /_/ /_(__  )/ /_ / /_/ /  / / / / /     / /_/ / _  / / /  ,<  _  / / / /_/ /_ |/ |/ /_  / / /     / /___  / /_/ /  / / / / /  / / / / / /_/ /_  / / / /_/ /
#  \____/  \__,_/ /____/ \__/ \____//_/ /_/ /_/      \____/  /_/ /_//_/|_| /_/ /_/\____/____/|__/ /_/ /_/      \____/  \____//_/ /_/ /_//_/ /_/ /_/\__,_/ /_/ /_/\__,_/
#
Unknown_Command
:

  # --------- < ⚠ > ---------
  # This feature is only recommended for versions 1.19+!
  # This is because spigot does not currently edit the unknown command via spigot.yml,
  # but remains the default one. If you have a version lower than 1.19, you can leave it to false.
  # If you use PlugMan, it can cause problems if the plugin it loads registers commands for the first time.
  enabled
: false

  # If set to "true", it will fetch the unknown message directly from spigot.yml.
  # If it's false, then it will use the executor below.
  use_spigot_message
: true

  # If "use_spigot_message" is true, ignore this section.
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [MESSAGE ] %prefix%The "&b%command%&7" command was not found.'

Code (YAML):
    # In this example, he shows you how you can block multiple commands with the same executor.
    example_Command4
:
      commands
:
       - 'exampleCommand4'
       - 'exampleCommand5'
      warning
: true
      permission_required
: 'bettersecurity.bypass.exampleCommands'
      executors
:
       - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Jan 1, 2023

BUGS FIXED (BungeeCord)
┃Fixed the "/bettersecuritybungee help" command.
┃Fixed Tab Complete with Waterfall

Code (YAML):
# ------------------
# Help Command Messages
Help_Command
:
  texts
:
   - ''
    - '&6 ┃ &e %version% ‑ %proxy%'
    - ''
    - '&6 ┃ &d [ ] &7⁼ &7Optional'
    - '&6 ┃ &c‹› &7⁼ &7Required'
    - ''
    - '&6 ┃ &f/ %command% help &7‑ &eOpen this page.'
    - '&6 ┃ &f/ %command% about &7‑ &eShow plug-in info.'
    - '&6 ┃ &f/ %command% reload &7‑ &eReload configurations.'
    - ''
    - '&6 ┃ &e %author%'
    - ''

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the languages files
----------, Dec 9, 2022

BUGS FIXED
┃Fixed the new update system, which also integrated bungeecord support. The join message should now appear when there is a new update.

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord
----------, Dec 1, 2022

NEW CHANGES
┃Added the "partial_matches" also on spigot, this feature makes you optional the complete tab easier, in case of problems. (Before the default tab was present facilitated)

Code (YAML):
# ------------------
# Block Tab Complete Settings
Block_Tab_Complete
:

  # --------- < ⚠ > ---------
  # If your server version is 1.8.x-1.12.x, you need to enable ProtocolLib to use this feature.

  # < ? > Does your server have version 1.13+? So if you reload the plugin,
  # you will have to join the server again to see the changes.
  enabled
: true

  # Prevents tabbing of these commands, so as not to conflict with other plugins.
  commands
:
   - 'pl'
    - 'plugins'
    - 'ver'
    - 'version'
    - 'about'
    - '?'
    - 'help'
    - 'bukkit:pl'
    - 'bukkit:plugins'
    - 'bukkit:ver'
    - 'bukkit:version'
    - 'bukkit:about'
    - 'bukkit:?'
    - 'bukkit:help'
    - 'minecraft:?'
    - 'minecraft:help'

  bypass
:
    # Here you can enter what kind of bypass you prefer
    # to be able to perform the complete tab:
    # - PERMISSION | (Bypass via permission: bettersecurity.bypass.antitab)
    # - PLAYERS | (Bypass by player name and uuid. Permission excluded)
    method
: 'PERMISSION'
    # Tip. You can put both the player's name and his UUID.
    players
:
     - 'playerName1'
      - '8667ba71-b85a-4004-af54-457a9734eed7'

  whitelisted_commands
:

    enabled
: true

    # If it is on "true", you will be able to tab the command much more conveniently!
    # For greater safety, it is not recommended to use it because it could cause problems.
    # (If the player access is from 1.13+ you can ignore this section)
    partial_matches
: false

    # This is the global list of tab commands that will be whitelisted.
    # To disable global commands, just put "global: []".
    global
:
     - 'spawn'
      - 'tell'
      - 'msg'
      - 'w'
      - 'whisper'
      - 't'
      - 'r'
      - 'reply'

    # Here you can request requirements to be able to show whitelisted commands.
    # (Can be very useful for not showing staff commands to players)
    required
:

      enabled
: false

      # Here you can add all the various groups to be able to whitelist commands by permission.
      permissions
:
        # This is the first example group.
        helper
:
          # Here you will need to enter the required permission.
          permission
: 'bettersecurity.tab.helper'
          # While here you will have to put the list of commands that will have to be shown.
          commands
:
           - 'tempban'
            - 'tempmute'
            - 'unban'
            - 'pardon'
            - 'kick'
            - 'unmute'
            - 'warn'
            - 'warnings'
            - 'history'
            - 'dupeip'
            - 'ss'
            - 'freeze'
            - 'unfreeze'
        admin
:
          permission
: 'bettersecurity.tab.admin'
          commands
:
           - 'fly'
            - 'gamemode'
            - 'gm'
            - 'god'
            - 'mute'
            - 'ban'
            - 'ipban'
            - 'ipmute'
            - 'clearchat'

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Dec 1, 2022

NEW CHANGES
┃Added Bungeecord/Waterfall support.
┃[Spigot] Added "proxy" option in warnings. To receive warnings via bungee/waterfall.

Code (YAML):
# ------------------
# Warnings Settings
Warnings
:

  # If it is "true", the message will be sent via BungeeCord/Waterfall.
  proxy
: false

  # In this field you can decide whether to activate the logs also via the console.
  log_console
: true

  # This message will be sent to those with permission: bettersecurity.broadcast.warnings
  # < ? > You can find more information about the executors in the header.
  # ATTENTION! Do not use the "@" in front of the broadcast, there is already the automatic one via the above permission.
  formats
:
    commands
:
      # You can use the following placeholders:
      # - %command% | (The command that was blocked)
      format
:
       - ' [MESSAGE ] &e&l⚠ ┃ &b %player% &7attempted to execute the command: &c%command%'
      console
: ' %player% attempted to execute the command: %command%'
    port_bypass_prevention
:
      # You can use the following placeholders:
      # - %port% | (Port where it is trying to login)
      # - %ip% | (IP where you are trying to login)
      format
:
       - ' [MESSAGE ] &e&l⚠ ┃ &b %player% &7tried to enter via port &a%port%&7 with the IP: &c%ip%'
      console
: ' %player% tried to enter via port %port% with the IP: %ip%'

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Nov 30, 2022

BUGS FIXED
┃Fixed a bug, which gave you an error in legacy 1.8.x versions, when you tried to execute a blocked command.

NEW CHANGES
┃The warnings section has been redone from 0, to give the possibility to add warnings of more categories.
┃Added warnings in Port Bypass Prevention features.
┃Added the ability to toggle the kick for ip 0.0.0.0 or 127.0.0.1 in the Port Bypass Prevention features.
┃Added the ability to toggle the kick if the player is already online.

Code (YAML):
# ------------------
# Warnings Settings
Warnings
:

  # In this field you can decide whether to activate the logs also via the console.
  log_console
: true

  # This message will be sent to those with permission: bettersecurity.broadcast.warnings
  # < ? > You can find more information about the executors in the header.
  # ATTENTION! Do not use the "@" in front for the broadcast, there is already the automatic one via the above permission.
  formats
:
    commands
:
      # You can use the following placeholders:
      # - %command% | (The command that was blocked)
      format
:
       - ' [MESSAGE ] &e&l⚠ ┃ &b %player% &7attempted to execute the command: &c%command%'
      console
: ' %player% attempted to execute the command: %command%'
    port_bypass_prevention
:
      # You can use the following placeholders:
      # - %port% | (Port where it is trying to login)
      # - %ip% | (IP where you are trying to login)
      format
:
       - ' [MESSAGE ] &e&l⚠ ┃ &b %player% &7tried to enter via port &a%port%&7 with the IP: &c%ip%'
      console
: ' %player% tried to enter via port %port% with the IP: %ip%'
Code (YAML):
# ------------------
# Port Bypass Prevention Settings
Port_Bypass_Prevention
:

  # --------- < ? > ---------
  # If your spigot is on the same machine as the proxy, this feature will not be needed!
  # This is because you can set the IP of the spigot to 127.0.0.1,
  # and change it also in the proxy (only the target of the spigot server, if you put this ip in the proxy it will not allow any user to enter).
  # The ip 127.0.0.1 is a private ip, it means that it will be read only by the machine.
  # In this way it will be impossible for everyone to be able to enter through the port,
  # only the proxy will be able to connect, and let users in.
  #
  # If you use the proxy on a machine other than the spigot, the use of this features is recommended to increase your security!
  # I also recommend that you block the port and make it accessible only through the proxy, see this guide:
  # --> https://www.spigotmc.org/wiki/firewall-guide/

  enabled
: false

  # If it is "true", the login attempt through the port will be sent to the chat.
  warning
: true

  # --------- < ⚠ > ---------
  # You must enter the IP that you find in the config of your proxy.
  # If you have set "0.0.0.0" or "127.0.0.1" you have to change them by entering the exact IP of your machine.
  #
  # If in the proxy you have set the IP of the machine, you will have to enter it in this list!
  # If you set 0.0.0.0 or 127.0.0.1 it could be bypassable. So this feature would be useless!

  # Here you have to enter the proxy IP.
  # This will prevent malicious users from being able to enter via your server port,
  # but only via the proxy IP.
  # The default ip in the "10.1.0.5" list is just an example, you have to put the IP of your proxy in it.
  whitelisted_ips
:
   - '10.1.0.5'

  # If it is active you will not be able to put as IP: 0.0.0.0, or 127.0.0.1.
  # You will be hunted at the attempt! If you are aware of what you are doing you can turn it off.
  safety_kicks
: true

  # This is the message that will be shown when a user tries to join via the server port.
  kick_message
: '&6&lBETTER SECURITY\n\n&7You &ccannot &7connect directly via this port.\n&7You have to enter through the ip &bmc.example.net&7.'

  # Additional security system that kicks the player trying to connect if they are already online.
  already_connected
:

    enabled
: true

    # Message that will be shown during the kick.
    message
: '&6&lBETTER SECURITY\n\n&7You are already inside the server,\n&7you have been &ckicked&7 out!'

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Oct 13, 2022

NEW CHANGES
┃Added Port Bypass Prevention features; prevents entry through the spigot port.

Code (YAML):
# ------------------
# Port Bypass Prevention Settings
Port_Bypass_Prevention
:

  # --------- < ? > ---------
  # If your spigot is on the same machine as the proxy, this feature will not be needed!
  # This is because you can set the IP of the spigot to 127.0.0.1,
  # and change it also in the proxy (only the target of the spigot server, if you put this ip in the proxy it will not allow any user to enter).
  # The ip 127.0.0.1 is a private ip, it means that it will be read only by the machine.
  # In this way it will be impossible for everyone to be able to enter through the port,
  # only the proxy will be able to connect, and let users in.
  #
  # If you use the proxy on a machine other than the spigot, the use of this features is recommended to increase your security!
  # I also recommend that you block the port and make it accessible only through the proxy, see this guide:
  # --> https://www.spigotmc.org/wiki/firewall-guide/

  enabled
: false

  # --------- < ⚠ > ---------
  # You must enter the IP that you find in the config of your proxy.
  # If you have set "0.0.0.0" or "127.0.0.1" you have to change them by entering the exact IP of your machine.
  #
  # If in the proxy you have set the IP of the machine, you will have to enter it in this list!
  # If you set 0.0.0.0 or 127.0.0.1 it could be bypassable. So this feature would be useless!

  # Here you have to enter the proxy IP.
  # This will prevent malicious users from being able to enter via your server port,
  # but only via the proxy IP.
  # The default ip in the "10.1.0.5" list is just an example, you have to put the IP of your proxy in it.
  whitelisted_ips
:
   - '10.1.0.5'

  # This is the message that will be shown when a user tries to join via the server port.
  kick_message
: '&6&lBETTER SECURITY\n\n&7You &ccannot &7connect directly via this port.\n&7You have to enter through the ip &bmc.example.net&7.'

  # Additional security system that kicks the player trying to connect if they are already online.
  already_connected
: '&6&lBETTER SECURITY\n\n&7You are already inside the server,\n&7you have been &ckicked&7 out!'

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Oct 12, 2022

BUGS FIXED
┃Fixed the permission to bypass the complete tab.

MINOR CHANGES

┃Fixed one thing in the configuration.
┃Changed the update message.

NEW WIKI
BetterSecurity [FREE] - BetterSecurity (gitbook.io)

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord
----------, Oct 4, 2022

MINOR CHANGES
┃Improved the code
┃In config.yml all uuids bypasses have been replaced and integrated directly into player bypasses
┃Removed Vault support, group checking will now take place without the need for it.

Code (YAML):
#
#   ▄▄▄▄   ▓█████▄▄▄█████▓▄▄▄█████▓▓█████  ██▀███       ██████ ▓█████  ▄████▄   █    ██  ██▀███   ██▓▄▄▄█████▓▓██   ██▓
#  ▓█████▄ ▓█   ▀▓  ██▒ ▓▒▓  ██▒ ▓▒▓█   ▀ ▓██ ▒ ██▒   ▒██    ▒ ▓█   ▀ ▒██▀ ▀█   ██  ▓██▒▓██ ▒ ██▒▓██▒▓  ██▒ ▓▒ ▒██  ██▒
#  ▒██▒ ▄██▒███  ▒ ▓██░ ▒░▒ ▓██░ ▒░▒███   ▓██ ░▄█ ▒   ░ ▓██▄   ▒███   ▒▓█    ▄ ▓██  ▒██░▓██ ░▄█ ▒▒██▒▒ ▓██░ ▒░  ▒██ ██░
#  ▒██░█▀  ▒▓█  ▄░ ▓██▓ ░ ░ ▓██▓ ░ ▒▓█  ▄ ▒██▀▀█▄       ▒   ██▒▒▓█  ▄ ▒▓▓▄ ▄██▒▓▓█  ░██░▒██▀▀█▄  ░██░░ ▓██▓ ░   ░ ▐██▓░
#  ░▓█  ▀█▓░▒████▒ ▒██▒ ░   ▒██▒ ░ ░▒████▒░██▓ ▒██▒   ▒██████▒▒░▒████▒▒ ▓███▀ ░▒▒█████▓ ░██▓ ▒██▒░██░  ▒██▒ ░   ░ ██▒▓░
#  ░▒▓███▀▒░░ ▒░ ░ ▒ ░░     ▒ ░░   ░░ ▒░ ░░ ▒▓ ░▒▓░   ▒ ▒▓▒ ▒ ░░░ ▒░ ░░ ░▒ ▒  ░░▒▓▒ ▒ ▒ ░ ▒▓ ░▒▓░░▓    ▒ ░░      ██▒▒▒
#  ▒░▒   ░  ░ ░  ░   ░        ░     ░ ░  ░  ░▒ ░ ▒░   ░ ░▒  ░ ░ ░ ░  ░  ░  ▒   ░░▒░ ░ ░   ░▒ ░ ▒░ ▒ ░    ░     ▓██ ░▒░
#   ░    ░    ░    ░        ░         ░     ░░   ░    ░  ░  ░     ░   ░         ░░░ ░ ░   ░░   ░  ▒ ░  ░       ▒ ▒ ░░
#   ░         ░  ░                    ░  ░   ░              ░     ░  ░░ ░         ░        ░      ░            ░ ░
#        ░                                                            ░                                        ░ ░
#
#   Version: 1.1.1 | Free Version
#   Configuration
#
# Function of the executors:
#
# - [MESSAGE] text                                         | (Func. Send a chat message) | (Example: [MESSAGE] &aHello World!)
#
# - [TITLE] title;subtitle;fade-in;stay;fade-out           | (Func. Submit a title)
#                                                          | (Tip. If you enter "none" in the title or subtitle, it will not be displayed)
#                                                          | (Example: [TITLE] &a&lHELLO WORLD;&a&l┃ &aThis is a fantastic world!;20;40;20)
#
# - [ACTION] text                                          | (Func. Send a message in the action bar) | (Example: [ACTION] &aHello World!)
#
# - [BOSSBAR] title;color;style;progress;times             | (Func. Send a message in the boss bar. Compatible with versions 1.9+ only)
#                                                          | (Example: [BOSSBAR] &aHello World!;GREEN;SEGMENTED_20;1.0;5)
#
# - [SOUND] sound;acute;volume                             | (Func. Send a sound) | (Example: [SOUND] BLOCK_LAVA_POP;0;1)
#
# - [PLAYER] command without '/'                           | (Func. Send a command as a player) | (Example: [PLAYER] spawn)
#
# - [CONSOLE] command without '/'                          | (Func. Send a command from the console) | (Example: [CONSOLE] give %player% DIAMOND 1)
#
# If you put an "@" in front of the text, it will broadcast the execution.
# Works for the following performers: [MESSAGE], [TITLE], [ACTION], [BOSSBAR], [SOUND]
# Examples: [MESSAGE] @&aHello World! | [TITLE] @&a&lHELLO WORLD;&a&l┃ &aThis is a fantastic world!;20;40;20
# | [ACTION] @&aHello World! | [BOSSBAR] @&aHello World!;GREEN;SEGMENTED_20;1.0;5 | [SOUND] @BLOCK_LAVA_POP;0;1
#
# If you don't want to do anything, just put "[]" after "executors:"
# Example: executors: []
#
# You can use the following placeholders in all executors:
# - %player% | (Name of the player who attempted to execute the command)
# - %command% | (The command that was blocked)
# - %unknown_command% | (The spigot.yml unknown command message will be displayed)


# ------------------
# General Settings
Settings
:
  locale
: en_US
  prefix
: '&eBetterSecurity ┃ &7'
  check_update
:
    enabled
: true
    # Types Available: NORMAL, DOWNLOAD
    type
: NORMAL
  hooks
:
    PlaceholderAPI
: false
    ProtocolLib
: false


# ------------------
# Block Tab Complete Settings
Block_Tab_Complete
:

  # --------- < ⚠ > ---------
  # If your server version is 1.8.x-1.12.x, you need to enable ProtocolLib to use this feature.

  # < ? > Does your server have version 1.13+? So if you reload the plugin,
  # you will have to join the server again to see the changes.
  enabled
: true

  # Prevents tabbing of these commands, so as not to conflict with other plugins.
  commands
:
   - 'pl'
    - 'plugins'
    - 'ver'
    - 'version'
    - 'about'
    - '?'
    - 'help'
    - 'bukkit:pl'
    - 'bukkit:plugins'
    - 'bukkit:ver'
    - 'bukkit:version'
    - 'bukkit:about'
    - 'bukkit:?'
    - 'bukkit:help'
    - 'minecraft:?'
    - 'minecraft:help'

  bypass
:
    # Here you can enter what kind of bypass you prefer
    # to be able to perform the complete tab:
    # - PERMISSION | (Bypass via permission: bettersecurity.bypass.antitab)
    # - PLAYERS | (Bypass by player name and uuid. Permission excluded)
    method
: 'PERMISSION'
    # Tip. You can put both the player's name and his UUID.
    players
:
     - 'playerName1'
      - '8667ba71-b85a-4004-af54-457a9734eed7'

  whitelisted_commands
:

    enabled
: true

    # This is the global list of tab commands that will be whitelisted.
    # To disable global commands, just put "global: []".
    global
:
     - 'spawn'
      - 'tell'
      - 'msg'
      - 'w'
      - 'whisper'
      - 't'
      - 'r'
      - 'reply'

    # Here you can request requirements to be able to show whitelisted commands.
    # (Can be very useful for not showing staff commands to players)
    required
:

      enabled
: false

      # Here you can add all the various groups to be able to whitelist commands by permission.
      permissions
:
        # This is the first example group.
        helper
:
          # Here you will need to enter the required permission.
          permission
: 'bettersecurity.tab.helper'
          # While here you will have to put the list of commands that will have to be shown.
          commands
:
           - 'tempban'
            - 'tempmute'
            - 'unban'
            - 'pardon'
            - 'kick'
            - 'unmute'
            - 'warn'
            - 'warnings'
            - 'history'
            - 'dupeip'
            - 'ss'
            - 'freeze'
            - 'unfreeze'
        admin
:
          permission
: 'bettersecurity.tab.admin'
          commands
:
           - 'fly'
            - 'gamemode'
            - 'gm'
            - 'god'
            - 'mute'
            - 'ban'
            - 'ipban'
            - 'ipmute'
            - 'clearchat'


# ------------------
# Warnings Settings
Warnings
:

  # This message will be sent to those with permission: bettersecurity.broadcast.warnings
  # You can use the following placeholders:
  # - %player% | (Name of the player who attempted to execute the command)
  # - %command% | (The command that was blocked)
  format
: '&e&l⚠ ┃ &b %player% &7attempted to execute the command: &c%command%'

  # In this field you can decide whether to activate the logs also via the console.
  console
:

    enabled
: true

    # This is the message that will be sent to the console.
    # You can use the following placeholders:
    # - %player% | (Name of the player who attempted to execute the command)
    # - %command% | (The command that was blocked)
    format
: ' %player% attempted to execute the command: %command%'


# ------------------
# Block Syntax Settings
Block_Syntax
:

  enabled
: true

  # If it is on "true" the execution attempt warning will be sent to chat.
  warning
: true

  # Message that is sent if one tries to do: <plugin>:<command>.
  # Tip. It is useful to avoid being in situations where you can bypass blocked commands,
  # or commands known as minecraft:me, minecraft:tell, etc...
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [MESSAGE ] %prefix%&cYou can''t do /<plugin>:<command>'
    - ' [TITLE ] &e&lBETTER SECURITY;&c&l┃ &cYou can''t do /<plugin>:<command>;20;40;20'


# ------------------
# Blocks Commands Settings
Blocks_Commands
:

  enabled
: true

  # If it is on "true" the execution attempt warning will be sent to chat.
  warning
: true

  # Here you can enter the type of method you want to use to block commands:
  # - BLACKLIST | (The commands in the list will be blocked)
  # - WHITELIST | (The commands in the list will be able to execute)
  method
: 'BLACKLIST'

  # This message will be shown as soon as the command is blocked.
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'

  # List of blocked or enabled commands according to the selected method.
  commands
:
   - 'pl'
    - 'plugins'
    - 'ver'
    - 'version'
    - 'about'
    - '?'
    - 'help'
    - 'icanhasbukkit'


# ------------------
# Commands Only Console Settings
Commands_Only_Console
:

  enabled
: true

  # If it is on "true" the execution attempt warning will be sent to chat.
  warning
: true

  # This message will be shown as soon as the command is blocked.
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'

  # List of commands that can only be executed from the console.
  commands
:
   - 'op'
    - 'minecraft:op'
    - 'deop'
    - 'minecraft:deop'
    - 'reload'
    - 'minecraft:reload'
    - 'rl'
    - 'minecraft:rl'
    - 'execute'
    - 'minecraft:execute'


# ------------------
# Commands Only Players Settings
Commands_Only_Players
:

  enabled
: true

  # If it is on "true" the execution attempt warning will be sent to chat.
  warning
: true

  # This message will be shown as soon as the command is blocked.
  # < ? > You can find more information about the executors in the header.
  executors
:
   - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'

  # List of players authorized to execute the commands below.
  # Tip. You can put both the player's name and his UUID.
  bypass_players
:
   - 'playerName1'
    - '8667ba71-b85a-4004-af54-457a9734eed7'

  # List of commands that players in the list above can perform.
  commands
:
   - 'pl'
    - 'plugins'
    - 'bukkit:pl'
    - 'bukkit:plugins'


# ------------------
# Block Custom Commands Settings
Block_Custom_Commands
:

  enabled
: false

  # This allows you to run an executor for each command.
  # < ? > You can find more information about the executors in the header.
  commands
:
    # In this example the command will be blocked for everyone.
    example_Command1
:
      command
: 'exampleCommand1'
      warning
: true
      executors
:
       - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'
        - '[ACTION] &c&l⚠ &7You tried to run the command
: &c%command%'
    # In this example, however, it requires permission to execute the command.
    example_Command2
:
      command
: 'exampleCommand2'
      warning
: true
      permission_required
: 'bettersecurity.bypass.exampleCommand2'
      executors
:
       - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'
    # In this other example, only the players on the list will be able to perform it.
    example_Command3
:
      command
: 'exampleCommand3'
      # Tip. You can put both the player's name and his UUID.
      required_players
:
       - 'playerName1'
        - '8667ba71-b85a-4004-af54-457a9734eed7'
      executors
:
       - ' [MESSAGE ] %prefix%&cYou cannot execute this command!'


# ------------------
# Replace Custom Messages Settings
Replace_Custom_Messages
:

  # --------- < ⚠ > ---------
  # The use of ProtocolLib is required for this feature.

  enabled
: false

  # If it is on "true" you can replace chat messages,
  # even from other plugins, with whatever you want.
  messages
:
    # In this first example you are shown a classic message that occurs when you try to execute a command
    # without minecraft/bukkit permission. And it is replaced with the one set to "replace:"
    example_Message1
:
      # In the target you just need to insert the string without the color code.
      # (If you enter colors in the control it may not correctly identify the target)
      target
: 'I''m sorry, but you do not have permission to perform this command. Please contact the server administrators if you believe that this is in error.'
      # Here you can put the text to be replaced with the color codes you want.
      replace
: '&cYou cannot execute this command!'
    # In this example it replaces the default written of the unknown command with the one written below.
    example_Message2
:
      target
: 'Unknown command. Type "/help" for help.'
      replace
: '&7Unknown command.'


# ------------------
# Permission Prevention Settings
Permission_Prevention
:

  enabled
: false

  # The checks that are made to see if the player has unwanted permissions.
  checks
:
    chat
: true
    commands
: true
    inventory
: true
    interact
: true
    movement
: true
    join
: true
    left
: true

  # Removes all permissions the player cannot own.
  # You can use the following placeholders:
  # - %player% | (Name of the player whose permission will be removed)
  # - %permission% | (Permission that it will remove)
  remove_permission
: 'lp user %player% permission unset %permission%'

  # Removes all groups that the player cannot own.
  # You can use the following placeholders:
  # - %player% | (Name of the player whose group will be removed)
  # - %group% | (Group that will remove)
  remove_group
: 'lp user %player% parent remove %group%'

  # The punishment that the player who will not be enabled in the list will receive.
  # < ? > You can find more information about the executors in the header.
  punishment
:
   - ' [CONSOLE ] ban %player% You are not authorized to receive certain permissions. Contact the administrators for more information.'

  # Players on this list will bypass the permissions, groups, and operator controls.
  global_bypass
:

    enabled
: true

    # Tip. You can put both the player's name and his UUID.
    bypass_players
:
     - 'playerName1'
      - '8667ba71-b85a-4004-af54-457a9734eed7'

  # Here you can make sure that only enabled players can be operators.
  operators
:

    enabled
: true

    # Tip. You can put both the player's name and his UUID.
    bypass_players
:
     - 'playerName1'
      - '8667ba71-b85a-4004-af54-457a9734eed7'

  # Here you can make sure that a group can only have the players enabled below.
  groups
:

    enabled
: true

    list
:
      # Example group with players.
      owner
:
        # Tip. You can put both the player's name and his UUID.
        bypass_players
:
         - 'playerName1'
          - 'playerName2'
      # Second example group with player's name and uuids.
      admin
:
        bypass_players
:
         - 'playerName1'
          - '8667ba71-b85a-4004-af54-457a9734eed7'

  # Here you can make sure that only enabled players can have the permissions on the list.
  permissions
:

    enabled
: true

    # For permissions, instead of the dot, you must enter '_'. If not, it won't work!
    list
:
      '*'
:
        # Tip. You can put both the player's name and his UUID.
        bypass_players
:
         - 'playerName1'
          - '8667ba71-b85a-4004-af54-457a9734eed7'
      'plugin_*'
:
        bypass_players
:
         - 'playerName1'
          - '8667ba71-b85a-4004-af54-457a9734eed7'

FOR SUPPORT
┃Write to me here in private, Telegram, or by Discord

⚠️ After the update, reset or add the new changes, to the config.yml
----------, Oct 4, 2022

NEW CHANGES
┃Added a check for updates
----------, Oct 4, 2022

Resource Information
Author:
----------
Total Downloads: 2,877
First Release: Oct 4, 2022
Last Update: Feb 1, 2023
Category: ---------------
All-Time Rating:
19 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings