Resource icon

 LiteBans With Custom Messages 2018-02-18

Resource icon
About

LiteBans is a lightweight banning plugin supporting UUIDs which allows temporary and permanent bans.
When a player changes their Minecraft name through Mojang, they will still keep their bans, mutes, and warnings.

All punishments made through LiteBans will take effect globally across all servers connected 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 and BungeeCord, offering the same features on both platforms.
(The plugin can be installed in the Spigot plugin folder or the BungeeCord plugin folder.)

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, time since ban was placed, original ban duration, server which ban was placed on, etc.
  • 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.
  • Multiple types of databases are supported, including MySQL, MariaDB, and H2. H2 is used by default, meaning that you do not need to configure the plugin to connect to a MySQL database in order for it to work on a single-server setup.
  • Advanced light cross-server synchronization system allows global punishments and broadcasts to instantly take effect across all servers connected to the same database.
  • Offline players can receive warnings; they will see all of their new warnings when they join. This works across servers.
  • When a player with a banned account on the same IP joins, all players with the right permissions will be notified.
  • You can view punishment history for players (/history) and punishments issued by staff members (/staffhistory).
  • 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.
  • Players cannot override punishments by setting very short bans or mutes unless they have permission.
  • Bans can be imported from vanilla (including Essentials), and five popular free banning plugins, including MaxBans, BanManager, and BungeeAdminTools.
  • 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 if broadcast synchronization is enabled. If the player leaves Server A and joins Server B or Server C, they will still be muted.

This applies to both Spigot and BungeeCord versions of the plugin.

A BungeeCord proxy counts as a server, and all servers under the BungeeCord proxy will also be affected by the plugin
(if the plugin is installed in the Bungee plugin folder).

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.

2017-12-17-075616_3520x1080_scrot-png.303567


2017-12-17-080443_1040x273_scrot-png.303569


Installation:

The web interface can be downloaded here:

https://github.com/ruany/litebans-php
(ZIP archive)

Requires a PHP 5 web server with PDO support.

Note: The web interface is intended for users who already have a website.
Without an existing website it cannot be installed.
The web interface cannot be directly hosted on Enjin (see FAQ).


In order for the web interface to work, your MySQL database must be externally accessible for both the plugin and the website. MySQL servers are not configured by default to allow remote connections.
Web hosts generally do not allow their MySQL databases to be accessed remotely, so the plugin will not be able to connect to these databases.


Installation steps:
  1. Download the latest version of the web interface here.
  2. Extract the files onto your web server. The directory "litebans-php-master" will contain all extracted files, you can rename it or move the files inside of it as needed.
  3. Browse to the location on your website where the files were extracted to. If your website is "example.com" and the web interface directory is named "bans", visit "example.com/bans/index.php".
  4. Follow the instructions that are given to you by the web interface. You will need to edit inc/settings.php, so edit this file and replace the existing file, wherever it is located. The web interface needs to be configured to connect to the same MySQL database which the plugin is connecting to, so your MySQL server needs to be capable of accepting external connections from both the plugin and the web server.

Customization:

The web interface can be customized by changing the Bootstrap theme (inc/css/bootstrap.min.css).
You can find Bootstrap themes at https://bootswatch.com/.

You can also try the Material Design Theme by @TheGuildsPlugin.


Commands

The ban command (/ban) can be used like this:

/ban [-s] <target> [time spec] [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 BungeeCord or if you have multiple instances of LiteBans.
By default, all punishments are global (*).
Server scopes 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 thelitebans.unlimited permission, the duration will be limited to the maximum duration specified in config.yml.

Reasons for /ban, /mute, /warn, and /kick can contain colours and newlines ("\n"). For example:
Code (Text):
/ban Player &cLine 1\n&aLine 2
Wildcard IP-bans are supported, e.g. /ipban 127.0.0.*

The mute command (/mute [-s] <target> [time spec] [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.
2015-03-10_11-48-44__-png.25373

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 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.

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)
2015-02-13_08-44-20__-png.20959


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 running LiteBans connected to the same database.
This applies to both Spigot and BungeeCord versions of the plugin and does not strictly require BungeeCord.

If a player is on Proxy A and you use /kick from Proxy B, they will be kicked from Proxy A.

The geoip command (/geoip <target>), if enabled in the configuration, allows you to check which country a player comes from. It can be used on offline players. The free Maxmind GeoLite2 database is used for lookups.

You can check the UUID of a player (online or not) using /lastuuid <target>.


Note: Players with the litebans.clearchat.bypass permission will not have their chat cleared.
Chat can be cleared with /clearchat. Players with the "litebans.notify.clearchat" permission will be notified when chat is cleared.

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 BungeeCord, 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 BungeeCord 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.bypasspermission will still be able to chat.

LiteBans admin utility commands:
/litebans reload: Reloads the plugin and re-connects to the database.
/litebans info: Provides database connection status information, number of active connections, and shows servers connected to the same database.
/litebans sqlexec <query>: Allows you to execute arbitrary database queries, and allows you to view the results of these queries in table format.
/litebans timezone [timezone]: Shows the current cross-server timezone and allows you to change it. Requires "use_database_time: true" in config.yml across all servers. (See wiki: Timezones)
/litebans cleariphistory <name/UUID/IP>: Clears IP history for a specific name, UUID, or IP address.
Players with no IP history will not show up on /history, /staffhistory, or the web interface, because their name cannot be matched to a UUID. When they rejoin the server, their ban history will reappear.
/litebans fixhistory: 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 addhistory <name> <UUID> <IP>: Allows you to add IP history to the database directly.
/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.
/litebans import start: Begins the import process after importing has been configured in config.yml.


FAQ
Read the FAQ before posting a review or reporting problems with the plugin!
The new FAQ can be viewed here.


Permissions
  • litebans.*: All permissions except notify permissions.
  • litebans.ban: Permission to use /ban
  • litebans.tempban: Permission to use /tempban
  • litebans.ipban: Permission to use /ipban
  • litebans.ipmute: Permission to use /ipmute
  • litebans.unban: Permission to use /unban -- grants litebans.override
  • litebans.unban.queue: Permission to automatically queue unbans for offline players when a matching ban is not found
  • litebans.override: Permission to override previous bans/mutes.
  • litebans.unlimited: Permission to bypass ban/mute limits
  • litebans.unlimited.ban: Permission to bypass ban limits
  • litebans.unlimited.mute: Permission to bypass mute limits
  • litebans.mute: Permission to use /mute
  • litebans.tempmute: Permission to use /tempmute
  • litebans.unmute: Permission to use /unmute
  • litebans.kick: Permission to use /kick
  • litebans.warn: Permission to use /warn
  • litebans.unwarn: Permission to use /unwarn
  • litebans.history: Permission to use /history
  • litebans.warnings: Permission to use /warnings
  • litebans.warnings.self: Allows a player to use /warnings to see their own warnings (with no arguments).
  • litebans.staffhistory: Permission to use /staffhistory
  • litebans.prunehistory: Permission to use /prunehistory
  • litebans.staffrollback: Permission to use /staffrollback
  • litebans.iphistory: Permission to use /iphistory
  • litebans.banlist: Permission to use /banlist
  • litebans.checkban: Permission to use /checkban
  • litebans.checkmute: Permission to use /checkmute
  • litebans.lastuuid: Permission to use /lastuuid
  • litebans.geoip: Permission to use /geoip
  • litebans.dupeip: Permission to use /dupeip
  • litebans.dupeip.viewip: Permission to see IP addresses in /dupeip
  • litebans.ipreport: Permission to use /ipreport
  • litebans.togglechat: Permission to use /togglechat
  • litebans.togglechat.bypass: Permission to bypass /togglechat, showing your messages to all players that have /togglechat enabled.
  • litebans.clearchat: Permission to use /clearchat
  • litebans.clearchat.bypass: Permission to bypass /clearchat, anyone with this permission won't have their chat cleared
  • litebans.mutechat: Permission to use /mutechat
  • litebans.mutechat.bypass: Permission to bypass /mutechat, anyone with this permission will still be able to chat
  • litebans.lockdown: Permission to use /lockdown
  • litebans.lockdown.bypass: Permission to not be kicked during a lockdown, and to join the server while a lockdown is in progress.
  • litebans.admin: Permission to use /litebans <reload/import/sqlexec/...>
  • litebans.notify: Permission to see all notifications. This permission also needs to be negated if you are removing other notify permissions.
  • litebans.notify.clearchat: Permission to see the broadcast whenever someone uses /clearchat.
  • litebans.notify.silent: Permission to see silent punishments (e.g. "/ban -s <target> [reason]")
  • litebans.notify.banned_join: Permission to see when banned or blacklisted players attempt to join.
  • litebans.notify.mute: Permission to see when muted players try to chat.
  • litebans.notify.dupeip_join: Permission to see dupeip notifications, for example, when a player joins and has a banned account on the same IP address.
  • litebans.tabcomplete: Permission to tab-complete names of online players across the entire network with the BungeeCord version of the plugin.
  • litebans.server.<scope>: If the default_server_scope is not global, litebans.server.<scope> permission is required to use non-default server scopes.
These permissions are true by default under Spigot, but require manual configuration under BungeeCord:
  • litebans.notify.broadcast: Permission to see ban/mute/warning/kick broadcasts.
  • litebans.notify.warned: Permission to see own warning notifications.
  • litebans.notify.muted: Permission to see own muted notifications.

Exempt permissions require Vault for offline player checks under Spigot.
Under BungeeCord, no additional plugins are required.
  • litebans.exempt: Exempt from bans/mutes/warnings/kicks
  • litebans.exempt.ban: Exempt from bans
  • litebans.exempt.mute: Exempt from mutes
  • litebans.exempt.warn: Exempt from warnings
  • litebans.exempt.kick: Exempt from being kicked
  • litebans.exempt.bypass: Bypass exempt permissions
  • litebans.exempt.bypass.<type>: Same as above, bypasses specific exempt permissions.
  • litebans.exempt.dupeip_join: Exempt from dupeip checks on join
For exempt permissions to work, a player needs litebans.exempt or litebans.exempt.<type>. For example, if Admin is trying to ban Player, first Player is checked for litebans.exempt, then litebans.exempt.ban. If Player has either of those permissions, Admin is checked for litebans.exempt.bypass, then litebans.exempt.bypass.ban. If Admin has either of these permissions, Player is banned anyway.

Configuration
All options in the configuration work equally on both Spigot and BungeeCord versions of the plugin unless explicitly otherwise stated.

Plugin configuration (config.yml):


Custom messages (messages.yml):

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, change 'driver', 'username', 'password', 'address', and 'database' as needed in the configuration.

Importing
Currently, you can import from MaxBans, Ultrabans, BanHammer, BanManager v4/v5, and BungeeAdminTools.

You can also import from banned-players.json by setting 'from' to 'vanilla'. This works for Essentials as well.

To start the import process, first you have to configure the 'import' section in config.yml: set 'from' to the name of the plugin which you want to import from (or vanilla), and check the other configurable parameters.

Set 'sqlite' to false if you're importing from MySQL, otherwise it will try to import from a SQLite database file.

When you've configured it, type /litebans import start. This should work, as long as you've configured it correctly. Note that mutes and warnings are not imported unless you are importing from LiteBans.

Images

Requirements
For MySQL support in the plugin, a working MySQL database is required.

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.

Java 8 is preferable but not required, it will also run fine with Java 7.

An active Internet connection is required, but only for the first time the plugin is started without access to needed database drivers.
LiteBans will download these drivers once and it will never download them again afterwards as long as they are stored in the LiteBans data folder.
When the plugin is updated, drivers may be updated as well.

If you want to use Cauldron, you may have to follow the instructions in this post if the plugin fails to load.

Install
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.

If you are connecting the plugin to a MySQL database across multiple servers, do not copy server.yml. This file is uniquely generated for each server. If you have copied it, delete it and it will be re-generated.


Should I install the plugin on all of my Spigot servers or only on BungeeCord?

Note that your configured permissions under Spigot will not automatically carry over onto BungeeCord.

If you're using PEX or zPermissions, you can try BungeePEXBridge.

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 permission system (e.g. BungeePerms or permission configuration in Bungee's config.yml) and don't have any Spigot plugins which need to use LiteBans commands, then you can install it on BungeeCord directly and you don't have to install it on any of the servers connected to the proxy.




For a single-server Spigot setup:
  1. Download the plugin to the Spigot plugins folder.
  2. Start the server (or restart it, if it is already running)
  3. Edit config.yml and messages.yml as needed, then run /litebans reload.
  4. Set up permissions using whatever permissions plugin you have installed.
With multiple Spigot servers:
  1. Install the plugin on all servers that you want to link together using the instructions above for each server.
  2. Configure the plugin to connect to the same database across all servers.
With BungeeCord:
  1. 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.
  2. Restart BungeeCord (or create "plugins/LiteBans/" and copy over the default config.yml and messages.yml)
  3. Edit config.yml and messages.yml as needed, then run /litebans reload.
  4. Set up permissions in BungeeCord'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.
  5. 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.
  1. Download the plugin and copy it to each BungeeCord instance's plugins folder.
  2. 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.
  3. 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.
  4. If you're running an offline-mode server, you need to install AuthMeBridge, otherwise users will be able to run commands without being logged in.
After installing multiple instances of the plugin, you can check if everything is properly configured
by running the "/litebans info" command. It will tell you if multiple servers are connected to the database.

Remember not to copy the server.yml file across multiple servers.

Spigot version vs BungeeCord version
LiteBans can run directly under Spigot or BungeeCord -- it can be installed in either the Spigot plugin folder, or the BungeeCord plugin folder.

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:
  • Permissions have to be set through BungeeCord unless you use a system like BungeePEXBridge.
  • There is currently no way to have server-specific configurations (config.yml + messages.yml). There is only one global configuration per plugin instance.
  • Spigot plugins cannot directly execute BungeeCord commands, and vice versa. Any plugins that you intend on using with LiteBans must be BungeeCord plugins (Unless you use ExecuteEverywhere).
  • If you want to ban a player from the server console, it has to be done from the BungeeCord console.


Terms of Service
  1. You are allowed to use the plugin on multiple servers, provided that all of these servers belong to you.
  2. You are allowed to freely use and modify the web interface, you can also remove or modify the copyright message in header.php.
  3. You may not -Redacted- or re-sell the plugin; doing so will result in your access to the plugin and future updates being revoked permanently.
  4. You may not file a dispute or chargeback via PayPal; doing so will result in your access to the plugin and future updates being revoked permanently.
Refund policy:

Refunds will be granted for any reason within 30 days of purchase, unless the Terms of Service have been violated.

Send me a PM if you wish to request a refund.

Payment:

SpigotMC's resource system currently only supports PayPal as a payment system.
Contact me if you want to pay with Skrill or NOPE.
Skrill accepts Paysafecard as a money deposit option in certain countries.

Tags: LiteBans spigot plugin, LiteBans bukkit plugin, LiteBans bungee plugin, LiteBans bungeecord proxy plugin, LiteBans premium plugin, bukkit cross server bans, bungee cross server bans, cross-server punishments, multi server banning, cross-network punishments, punish, ban synchronization plugin mysql, ban sync mysql bukkit, bungee network banning plugin, ban sync mysql bungee, mute synchronization plugin mysql, punishment database plugin, uuid banning plugin, ip banning plugin, uuid punish plugin, custom kick message plugin, bukkit alts plugin, staff rollback plugin, litebans, light bans, lite bans, litebans web interface, litebans website, litebans download, litebans buy, litebans purchase, litebans spigot, litebans permissions, litebans servers, custom punish plugin, customizable punish plugin, global banning plugin, ban history bukkit plugin, ban plugin, mute history, litebans 1.10, litebans 1.11.2, litebans 1.12

Regarding reviews:
Read the FAQ before posting a review or reporting problems with the plugin!
Report issues via PM, discussion thread, or the issue tracker.

Please do not post a negative review without contacting me first!

Similar resources

☼ [New Theme!] Custom Litebans Message.yml ¦ Multiple themes ☼ MikeyBoy
5.00 star(s) 1 ratings
Downloads
1,755
Updated
EpicWorldGenerator LEAKED , Featherboard Leaked , ChatControl PRO Leaked, LiteBans Leaked, AAC K
EWG - EPICWORLDGENERATOR LEAKED - FEATHERBOARD LEAKED - CHATCONTROL PRO LEAKED - LITEBANS LEAKED
2.33 star(s) 9 ratings
Downloads
5,241
Updated
HolyHCF | LiteBans Messages Spayker
5.00 star(s) 1 ratings
Downloads
647
Updated
BlackSpigot General Chat
Rules Help Users
    Fuck-Skidders.Club @ Fuck-Skidders.Club: I've been waiting for over a week
    Top