Added automatic banning of linked accounts. The new `ban_alts` option accepts four different values with escalating levels of enforcement: Disabled, Enabled, Enhanced, and Extreme. By default, it is disabled.
Added configurable filter duration for linked accounts (`dupeip_scan_filter_duration: 7d`), which is intended to prevent or reduce false positives by ensuring that only recent IP addresses are scanned with /alts, or when banning accounts automatically as mentioned above.
Added template flags, which can be used to automatically add command flags and server scopes to specific templates and/or ladder steps. For example, you can make a template always execute global and silent punishments by setting `flags: '-g -s'`.
Added support for webhook inline fields for embeds (optional).
Added /checkwarn command which allows you to check specific warnings by player name or UUID.
Added /warnlist command which allows you to scroll through all warnings.
Added unwarn messages & entries to /history and /staffhistory.
Added `online_mode` option to config.yml (to specify whether players who have never joined the server before should be handled as premium or non-premium players).
Added `mode:deactivate` and exclude options for `/litebans reset-database`.
(BungeeCord) Optimized ServerConnectEvent listener - database queries will no longer be performed in this context under any conditions.
Fixes:
Fixed unban/unmute/unwarn webhooks inheriting silent state from the punishment instead of checking whether the operation is silent.
Fixed hex colours not working in lockdown kick messages - reconnect messages unaffected.
Fixed variables such as `playerBans` not working in webhook embed messages.
Minor improvements:
Added new reset_database messages to messages.yml.
Added messages for unsuccessful loading of templates.yml. If templates.yml is invalid, you will receive a message each time commands are used, as a reminder to fix your configuration.
Added error handling for incorrectly configured URLs from webhooks.yml.
When a name-banned or name-muted player attempts to join, their punishment ID will be logged to console.
The `litebans cleariphistory` command has been replaced with the `litebans unlink` command which serves the same purpose.
When the console receives a click event JSON message, the command or URL will be sent to console with the message.
Chat event priority used by LiteBans is now low (instead of lowest) on all platforms.
Minor fixes:
Fixed /banlist and /mutelist displaying one less page (page #0).
Fixed unban queueing not unbanning accounts when `ban_names` is enabled, a player has a banned name and the UUID joining the server was not banned.
Fixed permission error message not being updated on reload under Bungee.
Fixed hex colours not being translated for permission error messages sent by the platform.
Fixed bracket character being added to `start_no_ip` dupeip-on-join messages (/alts unaffected).
Fixed a harmless warning message on newly created MariaDB databases.
Fixed timezone offsets not applying correctly to $timeSince in unban/unmute/unwarn messages.
Fixed an error caused by empty commands specified in the configuration (none by default).
Fixed an error caused by server names or scopes that are configured or specified above the already documented 32 character limit.
2.16.1:
Fixes:
Fixed login timestamps not being updated if the IP is unchanged (missing alts fix).
Fixed /alts or /dupeip not showing the original account if they haven't joined within `dupeip_scan_filter_duration`.
Fixed webhook routes handling 'on' / 'true' as an invalid URL.
Fixed webhook embed messages interpreting colour codes & hex colours which made it impossible to tag channels.
Fixed a mute bypass involving cheat clients (Velocity only).
Fixed some notifications being throttled indefinitely (until next reload/restart) if throttling is enabled and the plugin was reloaded.
Minor fixes:
Fixed /banlist sometimes showing an empty page (only if the number of bans is divisible by the number shown per page) since version 2.16.
Fixed some caches being kept a few hours longer than intended if the plugin was reloaded.
2.16.2:
Fixes:
Fixed error on warning modification (`/warn -m`) for players that lack `litebans.group.unlimited` or similar permissions. (Console unaffected)
Fixed cross-server kicks (via /kick command only) not working as intended on Bedrock users.
Fixed messages combining hover text and click events (run/url) having bugged text. (Velocity unaffected)
Minor improvements:
Support MySQL 9.x for creating database indexes (if you recently upgraded from MySQL 8.x, the indexes have likely been created already). This does not impact MariaDB.
When excluding tables from database reset, the history and config tables will be kept.
Added additional data limits to prevent errors from incorrect usage of commands. For example, usernames larger than the username character limit will be truncated.
Embeds can now have no content if inline fields are specified.
Support player variables in GeoIP messages.
If delete_warnings_after_action is enabled, warnings will only be cleared upon the final action being executed rather than the first.
If messages.yml failed to load, you will be notified of this each time a command is used, not only on startup.
Improved robustness of table upgrade check on servers that cannot upgrade normally under very rare, unknown circumstances (possibly DB crash or hardware error related).
Minor fixes:
Fixed reset chat colour (&r) appearing specifically in webhook fields when referencing the executor variable.
Fixed chat colours not being removed (generally from prefixes/suffixes) specifically in embed messages.
Fixed random ID hex colour prevention (#$id) applying to webhook embed messages, which do not use colours.
Fixed colour codes not being removed in webhook embed inline fields.
Fixed IP addresses which have never joined the server before being displayed as #offline# instead of ip_hidden.
2.16.3:
Important fixes:
Fixed new global punishments not being applied correctly since version 2.16.2 (Velocity unaffected)
Fixes:
Fixed proxy_switch_banned chat messages not being delivered under Bungee for server scoped bans.
2.16.4:
Fixes:
Fixed `litebans reset-database` not working since version 2.16.2.
Fixed disabled webhooks using the default webhook on Bungee/Velocity.
Minor improvements:
The `litebans reset-database` confirm message now quotes all arguments for confirmation, not just the server scope.
Added warning message for unrecognized settings (ban_alts)
Minor fixes:
Fixed hex colour codes not being removed in webhook messages.