LiteBans icon

LiteBans -----

A complete, modern, cross-server banning solution (Spigot, Bungee, Velocity).



LiteBans 2.11 - 2.11.7
idRandom.jpg

Improvements:
  • Added randomized punishment IDs ($idRandom), with configurable seed and a unique algorithm. These reversible and unpredictable IDs can be used in /checkban, /checkmute, or you can use "/litebans reveal" to convert a random ID into a real ID. This feature has practically no overhead for servers not using it, as only the sequential ID is stored in the database, and server resources (CPU/memory) required to obscure these numbers are only claimed upon use of this feature.
  • Added unban/unmute/unwarn by-ID support (example: `/unban 1234`). This supports regular punishment IDs, but also directly supports randomized IDs which are added in this update.
  • Added the ability to run commands when clicking on messages. Variables that are included in the command will be substituted as well. Example: "Test {run: /command $playerName}"
  • Added the ability to open URLs when clicking on messages. Example: "Test {url: https://example.com/}". This is only supported for chat messages, as the equivalent JSON in disconnect messages would have no effect if clicked - alas, a client side limitation.
  • Added "expire_ladder" template option. Each template of any type can now have a ladder duration. This allows you to set precisely how long a template ladder will last for. For example, if you set `expire_ladder: 50d`, any punishments older than 50 days will not count towards the template's ladder anymore. This is separate from punishment expiry - when the template ladder expires, all of its issued punishments may still be active.
  • Added /namehistory command. This command displays usernames and the last login date of each username linked to each account. This can also be used on IP addresses to get a list of usernames per IP (like /alts, but with a login date for each username).
  • Added "punish_ip" option to config.yml. When enabled, all punishments will be IP-based by default, so you can IP-ban players by using the /ban command.
  • Added automatic SHA-256 checksum verification for all library dependencies. Note that all dependencies have always been downloaded from the official Maven repository over HTTPS.
  • Added support for importing from LibertyBans (supported: temporary bans, permanent bans, IP bans).
  • Tab completion will now work for all commands even if Essentials is installed, without additional configuration under Spigot.
Fixes:
  • Fixed template steps with permanent duration creating punishments that expire instantly.
  • Fixed kick templates not supporting colours & variables in the kick messages.
  • Fixed permitted players (via "/litebans allow") being able to join the server even if they have a ban matching their account directly. There was a check for this, but it didn't trigger as intended.
  • Fixed short-format durations in the configuration specified in days (e.g. `30d`) being processed as 0 seconds. Other duration units unaffected, and long format (e.g. `30 days`) unaffected.
  • Fixed /staffrollback & /prunehistory removing all of the user's punishments if an invalid duration was provided, instead of giving an error message.
  • Fixed PostgreSQL startup error ("Something unusual has occurred to cause the driver to fail") due to a bug in the database driver (negative timeout caused by driver calculated integer overflow)
Minor improvements:
  • Added locale setting to messages.yml. This option controls the language which dates are represented with, so if your host machine has a different system locale than you wanted and you are unable to change that system locale, you can set it manually instead.
  • Templates with no duration option will now permit the duration to be specified manually through the command.
  • Under Bungee & Velocity, disabling mutes in the configuration will now let the backend servers handle mute commands instead. This can serve as a workaround for the issue where muted players get kicked if they try to chat while muted under 1.19.2+, if you still need LiteBans to be installed under the proxy.
Minor fixes:
  • Reduced unnecessary on-demand Mojang API requests.
  • Fixed /ipban requiring `litebans.ban` permission in addition to `litebans.ipban`.
  • Fixed JSON hover text not functioning in messages when hover text is configured on a new line with no spaces after the new line.
  • Fixed /tempbanip and /tempmuteip checking inconsistent permissions (litebans.tempbanip instead of litebans.ipban) under Bungee & Velocity.
  • Fixed mutechat bypass permission only applying when chat messages are sent and not when blacklisted commands are used.
  • Fixed an error which could occur specifically under BungeeCord if another plugin stops the server while the server hasn't loaded yet, while LiteBans is attempting to load.
  • Fixed punishments of the same type submitted at the exact same time possibly reporting incorrect IDs in immediate post-punishment messages (e.g. broadcasts)
  • Fixed "temporary players" error under Spigot again - this error has no side effects and it should also be exceedingly rare.
  • Fixed errors caused by having an invalid duration format configured. A warning will be logged, and the default format will be used if the duration format is invalid.
  • Fixed malformed configurations causing errors in specific cases.
  • Fixed two types of startup errors with unknown causes which could not be replicated. Neither of these errors were reported to occur under Bungee or Velocity.

2.11.1:

Fixes:
  • Fixed kicks matching `ignored_kick_messages` not being processed correctly (kick was broadcasted, and not added to database, but player wasn't kicked).
API changes:
  • Fixed punishment IDs being set to -1 on the event API. Entries in-database unaffected.

2.11.2:

Improvements:
  • Added support for setting timezones (/litebans timezone) under local H2 database.
  • Updated database driver: MariaDB (3.0.7 => 3.1.2). Notably, 3.1.2 includes a fix for an ArrayIndexOutOfBoundsException driver bug.
Fixes:
  • Fixed MySQL->H2 self-import searching for uppercase tables that don't exist (H2->MySQL unaffected).
  • Fixed templates with names consisting of numbers not working correctly.
  • Fixed an edge-case bug with imported bans having invisible staff history until the staff have joined the server for the first time after import.
  • Fixed `obscure_seed` not updating correctly when `/litebans reload` is used.
Minor fixes:
  • Further reduced unnecessary on-demand Mojang API requests.
  • Attempted another fix for an error with unknown causes which could not be replicated.
  • Fixed an error which could randomly occur on shutdown ("Interrupted during connection acquisition")
  • Fixed short-format durations specified in days (e.g. "30d") not working specifically with the `expire_after` option in config.yml. Long format is used by default ("7 days").

2.11.3:

Fixes:
  • Fixed GeoIP checksum error with new configurations.
  • Fixed GeoIP failing to initialize if the database file (GeoLite2-Country.mmdb) was downloaded manually.
  • Fixed templates being suggested in tab complete results for /unban, /unmute, and /unwarn.
  • Fixed randomized IDs being initialized on startup instead of on-demand since version 2.11.2.

2.11.4:

Improvements:
  • Added tab completion for server scopes.
  • Added security option (`ipban_command: 1`, enabled by default) to restrict the ability to perform wildcard IP bans (e.g. "/ban 192.168.1.*") to console only.
  • Added security option (`ipban_command: 2`, not enabled by default) to restrict the /ipban and /ipmute commands to console only.
Fixes:
  • Fixed `/banlist` showing empty pages when `banlist_show_active_only: true` is set and there are recently expired punishments.
  • Fixed players with two or more active mutes (due to server scopes and/or IP mutes) being considered fully unmuted if only one of their mutes is removed.
  • Fixed non-global server-scoped mutes under Bungee/Velocity not applying correctly if LiteBans is not installed under the backend servers (Unrelated to the issue where 1.19 chat signing prevents mutes from working as intended under Velocity).
  • Fixed certain hexadecimal usernames causing errors on /checkban or /checkmute since version 2.11 (other commands unaffected).
  • Fixed console login history being removed & re-added in the database on each startup when `delete_previous_history: true` is set.
  • Fixed /unban taking effect on recently expired punishments, which gives credit to the one who used /unban instead of expiry.
  • Fixed error when using `/litebans timezone` to alter the timezone across servers.
Minor improvements:
  • messages.yml: Added full duration formatting for cooldown messages (e.g. "you need to wait 20 days, 5 hours, 25 minutes") with "$duration" variable.
  • messages.yml: Added $playerServer variable to indicate the server of an online player.
  • Imported bans will now use the default server scope instead of global, and they will inherit the server origin of the importing server.
  • When a punishment occurs, players will no longer have their login recorded if their server is configured under `ignored_iphistory_servers`.
Minor fixes:
  • Fixed offline warning notifications not being queued if "sync_notifications: false" is set and the player is warned while online on a different server.
  • Fixed double logging of "LiteBans will use the default messages until errors have been fixed."

2.11.5:

Improvements:
  • Added support for importing mutes from LibertyBans, AdvancedBan, and BanManager v7. Warnings will also be imported from LibertyBans.
  • Added a new cooldown named "cooldown_redo", which will apply when someone removes their last punishment and places a new one. This allows you to place a cooldown on players performing `/ban` -> `/unban` -> `/ban` either as a way to kick players repeatedly, or simply banning the wrong players by accident.
  • Added "-g" flag for punishment commands (/ban, /mute, /unban, /unmute, ...). This flag sets the server scope to global - a shortcut for "server:global".
Fixes:
  • Fixed time zones applying incorrectly to specific messages while `use_database_time` is enabled (e.g. `UTC-2` when `UTC+2`).
  • Fixed JSON features like hover-text not being available in mute messages (muted, muted_permanent)
  • Fixed punishment ID lookups not matching the server scope of the punishment of that ID (affects /unban, /unmute, /unwarn, /checkban, /checkmute).
  • Fixed server scope tab completions not starting with "server:".
Minor improvements:
  • Added import_table_prefix option.

2.11.6:

Improvements:
  • Optimized MaxBans import handling.
Fixes:
  • Fixed Rcon unbans/unmutes not showing up in /history, and fixed Rcon not being targetable in other commands such as /staffhistory or /staffrollback (Console unaffected).
  • Fixed `error_no_loginrecord` message being cached on startup, making translation impossible for this message.
  • Fixed empty records being added on import (only when name->UUID conversion required) if the UUID could not be found and there is no IP ban.
  • Fixed an error when viewing imported punishments under specific conditions since version 2.11.5.
  • Fixed file-based import from BanManager v7 not working due to SQLite being used for the import instead of H2.
Minor fixes:
  • Fixed a ClassCastException when loading malformed/invalid configurations.

2.11.7:

Fixes:
  • Fixed H2->MySQL LiteBans import error due to a timezone fix in version 2.11.5.
----------, Jan 9, 2023
Resource Information
Author:
----------
Total Downloads: 17,803
First Release: Feb 5, 2015
Last Update: Sep 30, 2024
Category: ---------------
All-Time Rating:
696 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings