PhantomBans v1.1.0
Punishments now sync across your whole network, with optional proxy support.
Network Sync
PhantomBans now works across a multi-server network, not just a single server. Ban, mute, unban, and unmute actions propagate to every backend automatically, so a punishment on one server takes effect everywhere.
- Instant cross-server enforcement: a banned player is kicked network-wide the moment the ban lands, no matter which server issued it
- Network-wide broadcasts: bans, mutes, and their reversals announce across all servers
- Server-wide commands propagate:
/mutealland/unmuteallapply across the network- Silent stays silent: silent (
-s) punishments remain hidden everywhere
Network sync is opt-in. Enable it in the newnetwork.yml. Single-server setups are unaffected and need no changes.
One Requirement: A Shared Database
For network sync, every backend server must point at the same shared MySQL or MariaDB database. SQLite or a separate database per server will not sync, and is the single most common setup mistake. One network, one database.
🛡 Proxy Support (Optional)
Two optional companion jars stop banned and IP-banned players right at the proxy, before they ever reach a backend. They read the same shared database, and the connection fails open, so a database hiccup never locks players out of your network.
- Velocity (recommended)
- BungeeCord (experimental)
Optional, the backend always enforces punishments on its own. The proxy jars just turn players away one step earlier.
Fixes & Hardening
- Plain bans and mutes no longer affect other accounts that happen to share an IP. Only
/ipbanand/ipmuteenforce by IP- Backends now always enforce bans even behind a proxy, closing an edge case where a player could slip through
- Added database indexes for faster punishment lookups on large histories
- Clearer database connection error messages to make setup mistakes easier to spot
- General stability and thread-safety improvements across the sync layer
Install
- Replace the jar on every backend and restart.
- Point all backends at one shared MySQL or MariaDB database.
- Enable sync in
network.yml.- Optionally drop the Velocity or BungeeCord jar on your proxy for boundary-level blocking.
Need help setting up network sync? Join the Discord.
Read the documentation | Join the Discord
Enjoying the plugin? Areview goes a long way!
