All versions
1.0.1
Release
FluxBans 1.0.1 (Universal)last week 40
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.8–1.8.9
Platforms
Bukkit
BungeeCord
Folia
Paper
Purpur
Spigot
Velocity
Waterfall
Changes
Added
- Kick List web page (/kicks): full kick history with pagination, matching the ban and mute list pages. Accessible from the web dashboard sidebar.
- Google Analytics 4 support: set web.analytics-id to a measurement ID like "G-XXXXXXXXXX" in web.yml to add the GA4 snippet to every dashboard page. Leave it empty to disable.
- /fluxbans author: new subcommand showing the plugin author (SneakyWrld), the Modrinth page, and the GitHub repo. Works on every platform.
- /fluxbans info now shows total bans, mutes, kicks, and warnings, not just the active counts.
- Modrinth auto-updater: FluxBans checks for new releases on startup in the background and lets operators know in chat if a newer version is out. Turn it off with check-updates: false in config.yml.
- Database migration (/fluxbans migrate): move everything in your current database over to MySQL, MariaDB, or PostgreSQL with one command. Requires a confirmation step. Works on Bukkit, Folia, and NeoForge.
- Usage: /fluxbans migrate mysql, then /fluxbans migrate mysql --confirm
- After migrating, update database.type in config.yml and restart the server.
- GitHub wiki: full documentation covering installation, commands, permissions, configuration, database setup, the web dashboard, importers, FAQ, and the developer API.
- check-updates config flag in config.yml to disable the Modrinth update checker.
- web.analytics-id field in web.yml for the Google Analytics integration above.
- Bulk export methods on the database layer (getAllBans, getAllMutes, getAllKicks, getAllWarnings, getAllPlayers), used by the new migration feature.
- Full-insert database methods (insertBanFull, insertMuteFull, insertKickFull, insertWarningFull) so IDs and active/removed state are preserved correctly when migrating.
- countTotalBans/Mutes/Warnings methods for all-time totals instead of just active counts.
Fixed
- Fixed an incorrect GitHub repository URL throughout the project (web dashboard, plugin.yml files, pom.xml, Modrinth description) - it pointed at the wrong org and now correctly points at sneakywrld/fluxbans.
- Fixed the empty ban list and mute list messages showing the literal text "{prefix}" instead of the actual configured prefix. This affected every platform.
- Fixed /unwarn always saying a warning was removed, even for a warning ID that never existed. It now correctly reports "not found" when there's nothing to remove.
- Added the /unbanip command to Velocity and BungeeCord. It already worked on Bukkit and Folia, but was never actually implemented on the proxy platforms, so it just returned "command not found" there.
- Fixed the Velocity build failing to load at all, on every server. A packaging change had broken the logger Velocity injects into the plugin at startup, so the plugin never even initialized.
- Fixed FluxBans failing to start on old Bukkit/Spigot 1.8.8 servers. Those old server jars bundle their own ancient SQLite driver, and it was silently overriding FluxBans' own driver and breaking the database connection. FluxBans now loads its own driver in a way that can't be shadowed like this.
- Fixed the NeoForge mod crashing on startup because several of its dependencies (SnakeYAML, HikariCP, and others) weren't actually being packaged into the mod jar.
- Fixed the NeoForge mod writing its database and config files to the root of the C: drive instead of the server's own folder.
- Fixed /ban, /kick, and /banlist on NeoForge silently running Minecraft's own built-in commands instead of FluxBans' versions, meaning punishments issued this way were never actually recorded by FluxBans at all. FluxBans now takes over these command names properly.
- Extended official Paper and Folia support down to 26.1.2 (previously only 26.2 was tested and guaranteed to work).
Changed
- /fluxbans info now shows six stat lines (active and total for bans and mutes, plus totals for kicks and warnings) instead of two.
- DatabaseManager was refactored: create() now delegates to a new createForType(config, dataFolder, type) method that can be called with an explicit type override, which is what the migration command uses.
- AbstractDatabase gained three new dialect hook methods (insertOrIgnoreInto, insertOrIgnoreSuffix, identityOverride), correctly implemented for MySQL/MariaDB, SQLite, and PostgreSQL.
- NeoForge is now distributed only as its own jar (FluxBans-Forge.jar). An experimental build that tried to fold NeoForge support into the universal jar has been removed, since it could crash on startup in some cases. FluxBans-Universal.jar now covers Bukkit, Paper, Folia, BungeeCord, and Velocity.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:uEIesc8Q:4qrbseyD"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:uEIesc8Q:4qrbseyD"
}

