Skip to content
Bloga Dön
Minecraft server admin checking player punishment history and ban records in database

LibertyBans: Building Discipline in Your Minecraft Server

ice
ice
@ice
Updated
107 görüntüleme
TL;DR:LibertyBans automates player punishment and moderation on Minecraft servers using a database-backed system. Learn how to set it up, manage bans and mutes, detect alt accounts, and integrate with Discord webhooks.

"The be-all, end-all of discipline."

A248/LibertyBans · github.com
⭐ 215 stars💻 Java📜 AGPL-3.0

Running a Minecraft server means dealing with rule-breakers. Some players spam, grief, or harass others. If you're moderating manually, you're losing countless hours that could go to building, testing updates, or just playing. LibertyBans automates all that punishment stuff so you and your mods can actually enjoy the server too.

What LibertyBans Does

LibertyBans is a punishment management plugin for Paper and Spigot servers. It handles bans, mutes, warnings, and kicks - plus it tracks everything in a database so you've got a permanent record of who did what and when. The key difference from simpler plugins is that it's built around databases from the ground up, not just text files.

You can use a local file-based database if you're running a small server, or connect to MariaDB, MySQL, or PostgreSQL if you're running a network. So this isn't a limitation though - it's actually one of LibertyBans' strengths. The developer clearly thought about both hobbyists and server networks with hundreds of concurrent players.

One thing worth mentioning: this is admin-only territory. It's not a plugin players interact with directly. It's entirely command-based, living in the hands of staff members with the right permissions.


Why Server Admins Use It

Performance and reliability matter when you're dealing with potentially thousands of punishment records. LibertyBans was designed with this in mind. Instead of storing everything as bulky text strings, it uses raw bytes and lets the database handle calculations. Translation: less memory bloat, faster lookups.

The alt-detection feature is genuinely useful. When someone gets IP-banned, LibertyBans can automatically catch their alternate accounts joining from the same IP. You set the enforcement level, so you're not blindly nuking everyone who shares a network (which matters in schools, internet cafes, or households with multiple players).

Recent releases added webhook support. So that means you can pipe all your punishment logs directly to Discord, so your moderation team sees instant notifications without checking the server constantly. The latest version (1.1.2) lets you customize the JSON payload, so you control exactly what gets logged.

Most there's an actual API. If you're running plugins that need to interact with the punishment system, or building custom tools, you're not reverse-engineering anything. The framework exists and it's documented.


Getting It Installed and Running

Installation is straightforward. Grab the JAR from SpigotMC or GitHub, drop it in your plugins folder, restart the server, and you're done. The plugin generates a config file on first run.

bash
cd ~/papermc/plugins
wget https://github.com/A248/LibertyBans/releases/download/1.1.2/LibertyBans_Release-1.1.2.jar
cd ~./restart.sh

The first time it starts, LibertyBans creates default configuration. Out of the box, it uses HyperSQL (embedded), so there's no database setup needed immediately. Test the plugin, get comfortable with the commands, and upgrade to a remote database later if you want.

If you're moving to a remote database, you'll edit the config to point at your MariaDB instance. The migration is non-destructive - existing punishment records stay intact. Pro tip: use the Server Properties Generator to double-check your server settings align with what LibertyBans expects, especially around UUID mode and query mode.

But actually, here's where it gets a bit confusing: the config syntax is YAML, and small indentation mistakes break everything. Copy examples from the docs exactly, or you'll spend an hour wondering why it's not loading.


Key Features That Matter

LibertyBans comes with a full suite of punishment types. You've got /ban, /ipban, /unban, /unbanip for permanent bans, plus temporary versions for when you want to give someone a timeout. Same structure for mutes and warnings. If you want to boot someone immediately without recording a permanent punishment, there's /kick and /ipkick.

The command suite includes:

  • /banlist - See all active bans at a glance
  • /mutelist - Who's currently muted
  • /history <player> - Full punishment record for a specific player
  • /warns <player> - All warnings issued
  • /blame <player> - All punishments a staff member has issued

Timestamps are automatic. When you ban someone, LibertyBans records the exact moment, the staff member who did it, and any notes you added. If a punishment expires, it's automatically lifted. No cleanup needed.

The alt-detection system is worth its own mention. You can set different enforcement levels based on how strict you want to be. "Strict" mode will kick anyone from a banned IP. Here's the thing, "Lenient" prevents them from joining but lets the player know why. You control the threshold - maybe only catch alts if the original account was banned for serious infractions.

Webhooks integrate with Discord or any service accepting JSON POST requests. So when a moderator bans someone, a message appears in your mod channel immediately with customizable formatting. No more "wait, who banned player X?" arguments in private messages.


Common Gotchas and What To Watch For

Database choice matters. If you're running 50+ players regularly, HyperSQL will slow down. Migrate to MySQL or PostgreSQL. It's painless, but don't wait until you're already experiencing lag to think about it.

UUID mode is required. Some older servers store player names instead, which breaks everything. LibertyBans refuses to run on name-based systems because alts are trivial to bypass. Check your server.properties and make sure online-mode is true if you're using Mojang auth.

Scope-based punishments got a tweak in 1.1.2. There was a bug where overly strict scope enforcement kicked too many players. If you're running an older version and suddenly everyone's getting disconnected, update immediately. The fix is in the latest release.

The webhook configuration can be finicky. Small JSON syntax errors and nothing logs. Double-check your bracket matching and comma placement. Or use the examples from docs verbatim until you understand the format.

And here's something nobody mentions until it bites them: if you're importing punishment data from another plugin or vanilla backups, weird input breaks the importer. IP addresses with ports in them, malformed UUIDs, stuff like that. Clean your source data first.


Building Your Moderation Setup

LibertyBans is one tool in a bigger moderation toolkit. You'll probably pair it with ChatControl or similar plugins to catch spam before it even needs banning. Use it with AntiBot to prevent join floods.

If you're serious about server customization, build your spawn and rules using tools like the Minecraft Skin Creator for cosmetics, and keep your actual server mechanics tight with LibertyBans handling discipline.

The plugin plays nice with permission systems like LuckPerms. Admins can ban without typing full commands by giving them the right permission nodes. Moderators get /mute and /warn but not /ban. Junior staff get just /warn. It's granular enough to build any permission structure your team needs.

Version compatibility is solid. It's tested on recent Paper and Spigot builds. Older forks sometimes break, but the maintainer fixes those when reported. The latest release fixed issues with LeafMC, so odd forks do get attention.


Is It Worth Running?

If you're moderating more than a handful of players, absolutely. The time savings alone justify it. Instead of sitting in the server making sure nobody's breaking rules, you can actually play or do other admin stuff. Logs are perfect for handling disputes later.

The plugin is actively maintained. Documentation is thorough, there's a Discord community, and the source is open (AGPL-3.0). If something breaks, you're not stuck waiting for updates that never come.

The one situation where it might be overkill: pure vanilla survival servers with trusted friends where nobody breaks rules anyway. But even then, having a permanent record is nice. And it uses barely any resources, so there's no real downside to installing it.

At 215 stars and solid maintenance, this isn't some obscure side project. It's the real deal for server discipline.

Frequently Asked Questions

Is LibertyBans free and what license does it use?
Yes, LibertyBans is completely free and open-source under the AGPL-3.0 license. You can use it on any server, modify the code, and contribute improvements. The source code is available on GitHub, and there are no hidden costs or subscription fees.
Does LibertyBans work with other punishment plugins?
LibertyBans can replace other punishment systems, but running multiple punishment plugins simultaneously creates conflicts. We recommend using LibertyBans as your primary discipline tool. If you're migrating from another plugin, LibertyBans has an import function for existing punishment records.
What Minecraft versions does LibertyBans support?
LibertyBans works on recent versions of Paper and Spigot servers. It's tested across multiple recent versions and maintains compatibility with most server forks. Check the SpigotMC resource page for the exact tested version list, as support updates with new releases.
Can I use LibertyBans on a bungeecord or velocity network?
Yes. LibertyBans is network-aware. Multiple servers can connect to the same database backend, and punishments synchronize across all servers in your network. This is especially useful for server networks where you want consistent moderation across different game modes or worlds.
What database options does LibertyBans support?
LibertyBans supports HyperSQL (embedded, good for small servers), MySQL, MariaDB, and PostgreSQL. For single-server setups with under 50 players, HyperSQL works fine. Larger networks should use MySQL or PostgreSQL for better performance and easier backups.