- Minecraft Versions
- 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20
- Documentation
- https://gitlab.com/ruany/litebans-php/-/wikis/home
About
LiteBans is a cross-server punishment management system with many advanced customizable features to enhance your moderation experience.
All punishments made through LiteBans will take effect globally across all servers linked to the same database.
Although LiteBans is designed to effectively synchronize between hundreds of servers, it can still work alone on a single server without a MySQL database.
LiteBans can run natively under Spigot, Folia, BungeeCord, and Velocity, offering the same features on all platforms.
Features
- Designed from the ground up with UUID support in mind. All punishments are UUID-based.
- Fully customizable kick screen for banned players, multiple lines and colours can be used, as well as ban information variables – duration until ban expires, reason, staff member who placed the ban, server which ban was placed on, time since ban was placed, original ban date & duration, and many more.
- Template system allows you to make fully customizable punishment ladders. Each time you punish someone using a template, they will climb the ladder you have created and receive an incrementally larger punishment. Each ban template can be assigned with a custom kick screen message!
- Custom warning templates are supported, allowing you to define categories for warnings that each have their own set of triggered punishment commands which run after players are warned a specific number of times.
- Server scopes are supported, granting you the ability to place per-server punishments and global punishments.
- All messages are customizable in messages.yml. There are many useful variables available to place in any configurable message that involves a ban, mute, or warning. Hover-text and RGB colours supported.
- You can view punishment history for players (/history) and punishments issued by staff members (/staffhistory).
- Several database types are supported, including MySQL, MariaDB, PostgreSQL, and H2. H2 is used by default, meaning that MySQL is not needed to use LiteBans with a single-server setup.
- Multi account notifications - when a player with a banned account on the same IP joins, all players with the right permissions will be notified.
- Multi-instance synchronization system allows global punishments and broadcasts to instantly take effect across all servers connected to the same database, even if the plugin is not installed under BungeeCord.
- Staff members can be "rolled back" – all punishments which they've issued can be removed at any time with a single command. Staff abuse has never been easier to deal with.
- Bans can be imported from vanilla (including Essentials), and 7 popular plugins, including MaxBans, BanManager, AdvancedBan, and BungeeAdminTools.
- Users who have been IP-banned or GeoIP-blocked can be permitted using the "/litebans allow" command, which excludes their account from the IP ban without removing the ban entirely.
- Offline players can receive warnings; they will see all of their new warnings when they join. This works across servers.
- Players cannot override punishments by setting very short bans or mutes unless they have permission.
- Lightweight, multithreaded, and designed for performance. LiteBans uses a minimal amount of memory and does not block the main server thread with any database queries after startup.
Cross-Server Synchronization
One of the best features of LiteBans for networks is its cross-server synchronization system.
For example:
Server A, Server B and Server C are all running LiteBans, connected to the same MySQL database.
If a player who is on Server A is muted on Server B, it will immediately take effect on Server A, the player will be muted, and all players on Server A, B and C will see the broadcast indicating that the player was muted if they have permission and broadcast synchronization is enabled. If the player leaves Server A and joins Server B or Server C, they will still be muted.
Web Interface
The web interface lists all bans, mutes, warnings, and kicks.
It can be used to view all punishments for specific players or by staff, and check when those punishments will expire.
* Free website is not included, you will require your own website hosting.
LiteBans allows you to define custom hover text in all messages, including broadcasts.
Only players with permission (litebans.json.hover_text) will see the hover text.
All variables available to use in messages.yml can also be included in hover text, along with colours and newlines.
Example:
Code:
broadcast_ban: '&e$bannedPlayer &chas been banned. {hoverText: &aHover text here!}'
Template System
LiteBans has a powerful template system. Templates can be applied to bans, mutes, warnings, and kicks.
Each template has a configurable ladder, so, for example, you can have a template which bans a player for 2 weeks the first time you apply that template, one month when they are banned for the second time, and three months when they are banned for the third time.
That's the tip of the iceberg. See Templates on the wiki for the full documentation and examples!
Commands
LiteBans has a powerful template system. Templates can be applied to bans, mutes, warnings, and kicks.
Each template has a configurable ladder, so, for example, you can have a template which bans a player for 2 weeks the first time you apply that template, one month when they are banned for the second time, and three months when they are banned for the third time.
That's the tip of the iceberg. See Templates on the wiki for the full documentation and examples!
Commands
The ban command (/ban) can be used like this:
/ban [-s] <target> [duration] [reason] [server:*]
Also: /tempban, /ipban, /unban
<target> can be a name, UUID, or IP address.
If you IP-ban a player, their UUID and IP address will be banned simultaneously, so they cannot join on the same account using a different IP address.
[server:*] is an optional parameter which can be used when the plugin is installed on Bungee/Velocity or if you have multiple instances of LiteBans.
By default, all punishments are global (*).
Server scopes (per-server punishments) are explained in detail on the wiki here.
Example: /ban Player 7d [reason] server:Survival
The /ban and /mute commands have a permanent duration if not specified. If the player does not have the litebans.unlimited permission, the duration will be limited to the maximum duration (per group) specified in config.yml.
Reasons for /ban, /mute, /warn, and /kick can contain colours and newlines ("\n").
For example:
Code:
/ban Player &cLine 1\n&aLine 2
Wildcard IP-bans are supported, e.g. /ipban 127.0.0.*
Example: /ban Player -s 7d [reason]
You can also use it like this:
/ban Player -s 7 days [reason]
Or this:
/ban Player [reason] -s 7d
Or this, if you really wanted to:
/ban 7d -s Player [reason]
The target should be specified first. The reason (optional) must be provided after the target. The duration can be specified anywhere.
If the duration is not provided, a permanent ban will be placed.
These flags can be used for bans, mutes, warnings, and kicks:
You can ban online and offline players, including players that have never joined the server before.
Other commands that accept a target and reason (/mute and /warn) can be used in the same way as the ban command.
Arguments: <REQUIRED> [OPTIONAL]
Valid units: (s)econds, (m)inutes, (h)ours, (d)ays, (w)eeks, (mo)nths, years.
Time unit examples (All of these commands are valid):
You can also use it like this:
/ban Player -s 7 days [reason]
Or this:
/ban Player [reason] -s 7d
Or this, if you really wanted to:
/ban 7d -s Player [reason]
The target should be specified first. The reason (optional) must be provided after the target. The duration can be specified anywhere.
If the duration is not provided, a permanent ban will be placed.
These flags can be used for bans, mutes, warnings, and kicks:
- -s for silent punishments. Only online players with the permission litebans.notify.silent will be able to see the broadcast.
- -S for extra silent punishments. Only the console will see the broadcast. Requires permission litebans.extrasilent to use.
- -p for public punishments - if you have silent punishments enabled by default, you can use this flag to make punishments public (non-silent).
- -g for global punishments - a shortcut for "server:global".
- -N to prevent existing punishments from being overridden by new punishments unless (configurable) the specified duration is higher than the existing punishment's duration.
You can ban online and offline players, including players that have never joined the server before.
Other commands that accept a target and reason (/mute and /warn) can be used in the same way as the ban command.
Arguments: <REQUIRED> [OPTIONAL]
Valid units: (s)econds, (m)inutes, (h)ours, (d)ays, (w)eeks, (mo)nths, years.
Time unit examples (All of these commands are valid):
Code:
/ban Player 3 days [reason]
/ban Player 3d [reason]
/ban Player 3days [reason]
/ban Player 1 day [reason]
/ban Player 1day [reason]
The mute command (/mute [-s] <target> [duration] [reason] [server:*]) allows you to mute a player. While a player is muted, they cannot talk in chat or use blacklisted commands.
Related commands: /tempmute (requires duration), /ipmute, /unmute
The warn command (/warn [-s] <target> <reason> [server:*]) allows you to warn a player. Warnings expire after a configurable duration. When a player obtains a configurable amount of warnings, configurable commands can be executed.
Related commands: /unwarn (removes a player's last warning)
The history command (/history <target> [server:*]) shows bans, mutes, kicks, and warnings that a player has received recently, sorted by date.
You can view active warnings for a player by using /warnings <target>.
/staffhistory <target> can be used to show bans, mutes, kicks and warnings placed by a player.
/prunehistory <target> [duration] can be used to clear the punishment history of a player.
Example: /prunehistory Player 5 days
/staffrollback <target> [duration] can be used to rollback all staff actions (bans, mutes, warnings, kicks) with an optional duration.
For /prunehistory and /staffrollback, the duration provided means the time passed since today.
If you use "/staffrollback StaffMember 3 days", all punishments executed by StaffMember within the last 3 days will be removed, and all unbans/unmutes performed by them within the last 3 days will be reversed.
Note: These two commands cannot be undone, unless you have backups.
The dupeip command (/dupeip <target>) allows you to view all accounts who have joined on the same IP as the target, and see whether they're online, offline, or banned.
You can also use /ipreport which executes a dupeip check for all online players.
You can also use /iphistory to check the recent IP addresses that a player has joined the server with. (Requires "delete_previous_history: false" in config.yml)
The checkban command (/checkban <target>) allows you to check if a target is banned. It will also tell you when the ban was placed, when it will expire, whether the ban was an IP ban, and if it was a silent ban.
Related commands: /checkmute
The kick command (/kick [-s] <player> [reason]) allows you to kick an online player. This will be recorded in the player's history.
You can also kick players from other servers & proxies running LiteBans connected to the same database.
This applies to all versions of the plugin (Spigot/Bungee/Velocity) and does not strictly require Bungee/Velocity.
The geoip command (/geoip <target>), if enabled in the configuration, allows you to check which country a player comes from. This can also be used on offline players.
You can check the UUID of a player (online or not) using /lastuuid <target>.
Chat can be cleared with /clearchat. Players with the "litebans.notify.clearchat" permission will be notified when chat is cleared.
Like lockdown, this only affects the local server scope by default. (server:local)
You can view a list of active bans by using /banlist [page].
You can reload the configuration at any time using /litebans reload.
This will reload config.yml and messages.yml, and apply new settings.
Reloading LiteBans will also make it reconnect to the database.
The server can be put into lockdown mode by using /lockdown <reason>. All players without the bypass permission will be kicked when the lockdown starts, and will be unable to join until it ends. It can be ended with /lockdown end.
Under Bungee/Velocity, you can provide a server scope for /lockdown. Currently only one scope at a time can be affected by /lockdown.
Example: /lockdown <reason> server:Survival
Global lockdown for ALL servers on the same network: /lockdown <reason> server:*
Note: /togglechat can not be used with the Bungee/Velocity version of the plugin.
Chat can be toggled for users with the litebans.togglechat permission using /togglechat. This command allows users to "toggle off" incoming messages from other players.
Chat can be globally disabled temporarily with the /mutechat command. Players with the litebans.mutechat.bypass permission will still be able to chat.
LiteBans admin utility commands
/litebans reload
: Reloads the plugin and re-connects to the database./litebans allow
: Allow specific users to join the server, even if they are IP-banned or blocked via GeoIP restrictions./litebans info
: Provides database connection status information, number of active connections, and shows servers connected to the same database./litebans broadcast <message>
: This command allows you to broadcast any message using the LiteBans broadcast channel. The message will reach all servers connected to the same database, it can contain chat colours and newlines, and only players with "litebans.notify.broadcast" will see it. The "broadcast-type:<perm>" argument allows you to override the permission required to see the broadcast (litebans.notify.<perm>), and this command requires the "litebans.broadcast" permission./litebans timezone [timezone]
: See wiki: Timezones/litebans reset-database [server:*]
: Clears all punishments from the database. This command requires confirmation and can only be run by console./litebans unlink <player>
: Unlinks all IP addresses for the given player from /alts. This unassociates the targeted accounts. If these accounts are joined by the same IP again in future, they will be re-associated./litebans cleariphistory <name/UUID/IP>
: Clears IP history for a specific name, UUID, or IP address. The unlink command is preferred for general use, as it allows punishment history to render correctly./litebans fixhistory
: Not generally required. Adds missing username+UUID entries to the history table. This can be used after cleariphistory, but this only works in online-mode because the usernames are fetched from Mojang./litebans add-login <name> <UUID> <IP>
: Allows you to add login records to the database directly.FAQ
Read the FAQ before posting a review or reporting problems with the plugin!
The FAQ can be viewed here.
Permissions
The full permissions list can be viewed here.
Configuration
All options in the configuration work equally on all versions of the plugin (Spigot/Bungee/Velocity) unless explicitly otherwise stated.
Plugin configuration (config.yml):
The default config.yml can be viewed here.
Custom messages (messages.yml):
The default messages.yml can be viewed here.
All variables are now documented in messages.yml and can be viewed above.
All variables are now documented in messages.yml and can be viewed above.
Database Configuration
The plugin is pre-configured for H2, so you don't need to configure anything if you don't have a MySQL database.
H2 does not require any configuration, and operates using files on disk.
To configure the plugin for MySQL, open config.yml, change 'driver' to "MySQL", and set 'username', 'password', 'address', and 'database' as needed.
Importing
A full guide with information, instructions, and examples can be viewed here:
https://gitlab.com/ruany/LiteBans/-/wikis/Importing
Images
Requirements
For MySQL support in the plugin, a working MySQL database is required.Requirements
If you're running a single plugin instance and don't need the web interface, you do not need a MySQL server and the plugin will already work immediately without configuration after being installed.
An active Internet connection is required, but only for the first time the plugin is started. The dependencies -- which are only downloaded once per update, and can be downloaded separately -- will work offline after being stored in the LiteBans data folder.
Installation
LiteBans can be installed in several ways. It can run on a single Spigot server, multiple Spigot servers linked to the same MySQL database, or it can be installed directly on BungeeCord or Velocity.
Should I install the plugin on all of my Spigot servers or only on Bungee/Velocity?
Note that your configured permissions under Spigot will not automatically carry over onto BungeeCord or Velocity.
LuckPerms has BungeeCord & Velocity support. If installed correctly, permissions are bridged between Spigot and the proxy.
If you want LiteBans to have a Spigot presence (Spigot permissions, usable with Spigot plugins that use /ban, /mute, /kick, etc), then you can install it on each Spigot server and link all plugin instances together with the same database.
Otherwise, if you're fine with using the Bungee/Velocity permission system (LuckPerms is recommended) and don't have any Spigot plugins which need to use LiteBans commands, then you can install it on BungeeCord/Velocity directly and you don't have to install it on any of the servers connected to the proxy.
For a single-server Spigot setup
- Download the plugin to the Spigot plugins folder.
- Start the server (or restart it, if it is already running)
- Edit config.yml and messages.yml as needed, then run "/litebans reload".
- Set up permissions using whatever permissions plugin you have installed.
With multiple Spigot servers
- Install the plugin on all servers that you want to link together using the instructions above for each server.
- Configure the plugin to connect to the same database across all servers.
With BungeeCord
- Download the plugin to the BungeeCord plugins folder. The plugin does not need to be installed on any of the servers linked to the proxy.
- Start BungeeCord (or restart it, if it is already running)
- Edit config.yml and messages.yml as needed, then run "/litebans reload".
- Set up permissions using whatever permissions plugin you have installed. You need to add the "litebans.notify.broadcast" permission to the default group if you want players to see broadcasts.
- If you're running an offline-mode server, you need to link your authentication system (e.g. AuthMe) with BungeeCord, otherwise users will be able to run commands without being logged in.
With multiple BungeeCord instances
Note: LiteBans does not require nor utilize RedisBungee for synchronizing across multiple servers.
Bans, mutes, broadcasts, notifications, and kicks will be synchronized across multiple BungeeCord proxies running LiteBans as long as they are connected to the same database.
Configuration is simple and intuitive - you only need to connect the servers to the same database, nothing else is required.
- Download the plugin and copy it to each BungeeCord instance's plugins folder.
- Configure config.yml and messages.yml and copy them across all instances. The default configurations will be placed in "plugins/LiteBans/" after the plugin starts for the first time. All instances need to be connected to the same MySQL database in order for them to synchronize properly.
- Set up permissions in each BungeeCord instance's config.yml and restart. You need to add the "litebans.notify.broadcast" permission to the default group if you want players to see broadcasts.
- If you're running an offline-mode server, you need to install AuthMeBungee, otherwise users can run commands without being logged in.
by running the "/litebans info" command. It will tell you if multiple servers are connected to the database.
Spigot version vs BungeeCord version
All commands and features of LiteBans are available under BungeeCord (except for /togglechat).
Features of the BungeeCord version
- Players across all servers on the network are treated as if they are on the same server.
- No need to set up LiteBans across all servers with the same MySQL configuration. One setup on just the BungeeCord proxy is enough for bans to work across every server.
- The BungeeCord version can use a local file database (H2) and still work across multiple servers (with a single-proxy setup), however, there is no official web interface support for this.
- Spigot plugins cannot override what happens at the proxy level, so it's much less likely for other plugins to interfere with LiteBans.
- LiteBans doesn't mind what type of servers you're running behind the proxy - they don't have to be Spigot servers, and there is no "bridge" plugin required. If you can get a Vanilla server running behind Bungee, you can still use LiteBans on it!
Caveats of using the BungeeCord version
- You will require a native Bungee permission system (LuckPerms is recommended).
- There is only one global configuration per plugin instance. (config.yml, messages.yml) - this can also be considered a positive.
- Spigot plugins cannot directly execute BungeeCord commands, and vice versa. Anticheat plugins, for instance, will not be able to globally ban players if they can't run the /ban command from the backend server.
- When banning from console, you must use the BungeeCord console.
API
https://gitlab.com/ruany/LiteBansAPI/wikis/home
If you want your server to be added to the list, contact me via PM or post on the discussion thread.
Note: Servers on this list will be automatically checked every few months. Dead servers and web links are removed. Try to have 24/7 uptime
- Skyblock.net
- Minetime.com
- Mineverse.com
- mc.paradise-network.com
- play.breakingmc.net
- play.zonecraft.es
- play.differentcraft.net
- play.cwoare.nl
- play.forgotten-empires.com
- finprison.net
- play.nerocraft.es
- play.lividacraft.com
- play.thedivinemc.com
- moondustmc.com
- ArsonMC.com
- mc.side.lv - https://side.lv/bans/
- play.tecnocraft.net
- mc.crapticraft.com
- Play.SilverThornMC.com - https://bans.silverthornmc.com/
- play.wickedworlds.ca - http://wickedworlds.ca/bans/
- royalcraft.co
- unitedcraft.pl
- mc.maelk.net
- jes.earth
- play.funmc.net
- Play.Vanillaplus.uk
- play.valatic.net
- play.amethystcraft.com - https://bans.amethystcraft.com/
- mc.bagma.eu
- AscendantSurvival.com
- sweetcraftmc.apexmc.co
- mc.moycraft.org
- mc.towercraft.me - https://towercraft.me/pages/bans/
- play.verbramd.nl
- play.indiummc.net
- axecraft.pl
- Play.FederalPvP.net - https://federalpvp.com/bans/index.php
- play.dracadian.com - https://dracadian.com/bans
- beeplay.pl
- Ethria.de
- play.minetopiaremake.nl
- spaceshield.org
Note: Servers on this list will be automatically checked every few months. Dead servers and web links are removed. Try to have 24/7 uptime