Plugin Release LibertyBans

Download Link
https://github.com/A248/LibertyBans/releases
Source Code
https://github.com/A248/LibertyBans
Documentation
https://docs.libertybans.org/#/
Support
https://discord.gg/3C4qeG8XhE
Minecraft Versions
1.8-1.18 and all versions in between
Compatible Java Versions
Java 11 or later
banner.png
home-page.png
documentation-icon.png discord-icon.png
[IMG]



Free software and high quality, LibertyBans is the best-designed punishment plugin. It can efficiently scale to large networks and operate on single servers with minimal resources.

Design​

  • Effective and lightweight. No complicated installation and avoids unnecessary features.
  • Option to use local file-based database (HyperSQL), or remote database (MariaDB, MySQL, PostgreSQL).
  • Enhanced database-oriented performance emphasising calculations in SQL. Low memory usage because punishments are stored almost completely in the database. Data is stored in minimal form as raw bytes instead of strings.
  • Best practices for asynchronous calculations are followed. The performance cost of context switching is understood and avoided; the plugin does not blindly fire async tasks.
  • Designed for high availability and concurrency. Minimal locking is employed while keeping state consistent; this is mostly realised through the fact that most plugin state is maintained in the database itself.
  • Well-structured API providing a framework for other plugins to work with the plugin.

Features​

  • Add and remove punishments:
    • /ban, /ipban, /unban, /unbanip - bans or unbans a player or IP address
    • /mute, /ipmute, /unmute, /unmuteip - mutes or unmutes a player or IP address
    • /warn, /ipwarn, /unwarn, /unwarnip - warns or unwarns a player or IP address
    • /kick, /ipkick - kicks a player or IP address
  • Temporary versions of bans, mutes, and warns
  • All player data is stored using UUIDs. This isn't a silly plugin which stores data by player name.
  • List punishments:
    • /banlist - shows all bans
    • /mutelist - shows all mutes
    • /history - shows all punishments for a player
    • /warns - shows all warns for a player
    • /blame - shows all the punishments a staff member has enacted
  • Multiple means to block alt accounts:
    • Automatic enforcement to block alt accounts. By default, when using IP-bans, alts are automatically banned from joining if the main account is banned. This behavior is configurable, and you can even increase the strictness of alt-checking.
    • Manual /alts command - shows suspected alt accounts for a player.
    • Alts notification on join - tells staff members when a player whose suspected alt is banned or muted.
  • Options and behaviour are fully configurable. You can even tweak your connection pool and statement cache settings to fine-tune performance.
  • Full multi-proxy and multi-instance support. You can place LibertyBans on the proxy if you use a single proxy, or on multiple backend servers.
  • All dependencies are automatically downloaded with secure SHA-512 hashes used to validate the downloads. Additionally, builds of LibertyBans are reproducible from the source code, meaning checksums can be personally verified.

Basic Info

Requirements​

  • Java 11
Supported platforms:

  • Spigot/Paper or any forks thereof
  • BungeeCord
  • Velocity
Compatibility with Geyser/Floodgate usernames.

Installation​

LibertyBans will work out-of-the-box for most users.

  • When using a single proxy, it is recommended, but not required, to install LibertyBans on the proxy itself.
  • LibertyBans can also be installed on the backend servers if you are willing to configure multi-instance synchronization.
For installing on the backend servers and synchronizing punishments, see the wiki for additional information.

External Connections
When the plugin first starts, it downloads its API and internal dependencies. This is normal, and can take a couple of seconds the first time. Afterward, the plugin should start faster. The method used to download dependencies is just as secure as if the dependencies were shaded – the expected hashes of the dependencies are hard-coded, so if the downloaded dependency's hash differs, it is not saved to the filesystem.

Development Builds
https://ci.hahota.net/job/LibertyBans/

Reporting Bugs
Please use Github issues: https://github.com/A248/LibertyBans/issues
 
Last edited:

LoJoSho

New member
Jan 4, 2022
11
4
3
Recently switched from Litebans to Libertybans and can't say I would go back. Geyser support, easy setup (and migration), and fast support are all amazing to have with LibertyBans!

Thank you @A248 for making this amazing plugin 🙂
 
  • Like
Reactions: Detfor and 4drian3d