Better Ban System

BetterBanSystem provides multiple ways to ban players from your server, and is capable of interacting with Battle Metrics, MySQL and Local Storage.


Sold By: DylanSMR
Categories: , , Tags: , ,


BetterBanSystem provides you with not only better solutions to ban unruly players, but also to kick, whitelist, and protect your server from unwanted steam accounts.


  • Battlemetrics Integration (see battle metrics integration)
  • Local Storage Integration (file system)
  • MySQL Integration
  • Temporary or permanent banning and kicking
  • Custom whitelisting
  • Custom steam integration
  • Discord Integration

Battlemetrics Integration

Most modern servers use battle metrics as not only a way to monitor their player count and rcon, but also as a way to ban users temporarily or permanently from an off site solution. By interacting with battle metrics through their public API, it is now possible to ban from battle metrics using the in game ban/unban commands, as well as ban from other plugins (see hooks)

Local Storage / MySQL Integration

Currently, besides battlemetrics there are two other solutions that exist for banning if you either don’t use battle metrics or it is not available. MySQL works just as you would expect it to, where it syncs to a MySQL database of your choosing and will automatically create tables as needed. Local storage simply syncs bans to a local file on the server (in the data folder of umod)

Planned Features

  • (Universal) Webrequest Integration (for other custom api’s)
  • (Rust) In game UI that can do everything the commands can and possibly more
  • (Universal) More commands and better ban info
ban [steamid/ip/username:required] [date/time:optional] [reason:required] [notes:optional] [excluded:optional|steamid,ip,name]
ban DylanSMR 30d “Banned by Antihack” “ESP” Will ban a player named DylanSMR for 30 days, reason “Banned by Antihack” and with notes “ESP”
ban DylanSMR “DDOS” Will ban a player named DylanSMR permanently for reason “ddos”
ban 76561198424008898 12h “Trolling” Will ban a player with the steamid 76561198424008898 for 12 hours, with reason “trolling”
getban [steamid/ip/username:required]
getban DylanSMR Will try to receive any ban info on player DylanSMR
getban 76561198424008898 Will try to receive any ban info on player 76561198424008898
removeban [steamid/ip/username:required]
removeban DylanSMR Will unban a player named DylanSMR
kick [steamid/ip/username:required]
kick DylanSMR Will kick a player named DylanSMR
whitelist [steamid/ip/username:required]
whitelist DylanSMR Will whitelist a player named DylanSMR
unwhitelist [steamid/ip/username:required]
unwhitelist DylanSMR Will remove a player named DylanSMR from the whitelist


Permission Description
betterbansystem.ban Permission allows user to ban, unban and get ban information
betterbansystem.kick Permission allows user to kick other users
betterbansystem.whitelist Permission allows users to whitelist and unwhitelist other users


Default Configuration
Property Default Value Description
Discord Webhook Url string:none The webhook url used to contact discord when a user is banned or kicked
Brodcast Online Bans boolean:true Whether or not online bans should be broadcasted to chat
Brodcast Offline Bans boolean:false Whether or not offline bans should be broadcasted to chat
Brodcast Kicks boolean:true Whether or not kicks should be broadcasted to chat
Should Native Ban boolean: false When a player is banned using /ban, should they also get banned using a native rust ban
Battle Metrics Config
Enabled boolean: true Should battle metrics integration be enabled
API Token string: none Your battle metrics API token which you can get at (
Organization Wide Bans bool: true Whether or not battle metrics bans should be organization wide
Native Ban Synchronization bool: false Should battle metrics ban sync be enabled (
Override Battle Metrics Kick bool: false Whether battle metrics will handle the kicking or this plugin will
MySQL Config
Enabled boolean: true Should MySQL integration be enabled
MySQL Address string: localhost The host address of your MySQL server
MySQL Port int: 3306 The port of your MySQL server
MySQL Username string: username The username used to connect to your MySQL server
MySQL Password string: password The password used to connect to your MySQL server
MySQL Database string: betterbansystem The database that will contain ban information
Per Server Bans bool: true If enabled, bans will be applied across all servers. Otherwise, they will be checked per server address
Local Storage Config
Enabled boolean: true Should local storage integration be enabled
Enabled boolean: true Should whitelisting be enabled
Handle Connected Players boolean: false When betterbansystem is loaded, should connected players be kicked if they are not whitelisted
Admins Bypass Whitelist boolean: true Should admins bypass the whitelist
Steam Restrictions config
Enabled boolean: false Should steam restrictions be enabled
Steam API Key string: none Your API Key for steam (
Nax Vac Bans int: 3 The maximum vac bans a player can have
Minimum Days Since Vac Ban int: 365 The minimum amount of days since the last vac ban a player can have
Private Profile Allowed bool:true Can players have a private profile
Violation Action bool: false If set to true, players will be banned instead of kicked
Ban Length int: 60 How long will the ban be if the action is set to ban in minutes (0 is a perm ban)


Localization (English)
Property Default Value
COMMAND_GETBAN_SYNTAX Valid Syntax: getban [steamid/ip/username:required]
COMMAND_GETBAN_INFO Ban Information For {player}\n – Reason: {reason}\n – Notes: {notes}\n – Expiration: {expiration}\n – IP Address(s): {ips}\n – Steamid(s): {ids}
COMMAND_UNBAN_SYNTAX Valid Syntax: removeban [steamid/ip/username:required]
COMMAND_UNBAN_RESPONSE Unban {type}:\n – Player: {player}\n – Battle Metrics: {battlemetrics}\n – MySQL: {mysql}\n – Local Storage: {localstorage}\n – Native: {native}
COMMAND_WHITELIST_SYNTAX Valid Syntax: whitelist [steamid/username]
COMMAND_WHITELIST_NOT_ENABLED Whitelisting is not enabled in the configuration.
COMMAND_WHITELIST_ALREADY_WHITELISTED {player} is already whitelisted on this server.
COMMAND_WHITELIST_SUCCESS {player} has been whitelisted successfully.
COMMAND_UNWHITELIST_SYNTAX Valid Syntax: unwhitelist [steamid/username]
COMMAND_UNWHITELIST_NOT_ENABLED Whitelisting is not enabled in the configuration.
COMMAND_UNWHITELIST_NOT_WHITELISTED {player} is not whitelisted on this server.
COMMAND_UNWHITELIST_SUCCESS {player} has been removed from the whitelist successfully.
COMMAND_KICK_SYNTAX Valid Syntax: kick [steamid/username] [reason:optional]
COMMAND_BAN_SYNTAX Valid Syntax: ban [steamid/ip/username:required] [date/time:optional] [reason:required] [notes:optional] [excluded:optional|steamid,ip,name]
COMMAND_BAN_SYNTAX_2 Valid Syntax: ban [steamid/ip/username] [reason:required] [notes:optional]
COMMAND_BAN_INVALID_EXCLDUE Invalid exclude parameter ({excluded}): Valid options are steamid, ip and name
COMMAND_BAN_INVALID_EXCLUDE_2 Invalid exclude parameter, you cannot use both steamid and ip.
COMMAND_BAN_RESPONSE Ban {type}:\n – Player: {player}\n – Battle Metrics: {battlemetrics}\n – MySQL: {mysql}\n – Local Storage: {localstorage}\n – Native: {native}
COMMANDS_NOIDENTFOUND Unable to find player or player identifiers in string: {passed}
COMMANDS_NOTBANNED Player {player} is not banned.
BROADCAST_BAN_ONLINE {name} has been banned: {reason}
BROADCAST_BAN_OFFLINE {name} has been banned: {reason}
BROADCAST_KICK {name} has been kicked: {reason}
STEAM_KICK_PRIVATEPROFILE Your profile must be public to play on this server
STEAM_KICK_MAXVACBANS Exceeded maximum {count} vac bans
STEAM_KICK_VACBANDAYS You cannot have a vac ban within the last {days} days
WHITELIST_KICK You are not whitelisted on this server.

Issues and Reports:

Given that this plugin uses an experiential API with battle metrics there is a high likelihood there will be multiple errors that I was not able to catch upon release. These errors should not effect your ability to ban or unban people as that has been tested exclusively, but certain features like  native banning (sync) on battle metrics has proven to cause some issues. This is why the removeban command is not named unban, as that has proven to cause issues with battle metrics. If you encounter any issues, please contact me on discord at DylanSMR#6251, or via lones discord in the plugin support channel.

Cloudflare Errors:

After any set amount of time using this plugin with the battle metrics integration you may start to receive cloud flare errors. Sadly there is nothing I can do about this from what I am aware, however what you will have to do is go to and contact them. You will most likely be asked to provide your servers ip(s).



There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Version 1.0
  • Added Initial release

No License Found!

Got something to discuss?

How do I use this .zip/.7z file I just purchased on my server?

• First, you want to unzip the file. You can do so by just double-clicking it to open, then drag the contents to the desired location (you may need to install an external unzipping software if you don’t already have one such as 7zip or winrar)
• Next you will find either a structure of folders or just the .cs file itself (it’s the actual plugin file itself).
• After that just install the .cs (plugin file) into your …/oxide/plugins/ folder where you will install plugins you ever need to.

Additionally, here’s a great video that easily covers adding a plugin to your server if you need!