Sueta

BanManager

v7.10.0

Cross-server banning, mutes, warnings and much more!

·Plugin
  1. v7.10.0latestJan 18, 2026
    - New Platform: Velocity proxy support with configurable mute handling - New Platform: Fabric support for 1.20.1, 1.21.1, and 1.21.4 - New Platform: Sponge API 11+ support - Added /bmnames <player> command to view a player's name history - Added /kickall and /nlkickall commands for mass kicks - Added /bminfo <player> -reports flag to see reports against a player - Added online-only temp mutes via -o flag - timer pauses on disconnect, resumes on reconnect - Added RGB hex color support (&#rrggbb) in messages.yml - Added pointsTimeframe option to warningActions for time-limited warning points - Added denyNotify option to exemptions.yml - Added geyserPrefix config option for Bedrock player name prefixes - Added [actor] token to deniedNotify messages - PlaceholderAPI tokens are now parsed in Bukkit messages - Breaking: Discord integration replaced - DiscordSRV removed, now uses webhooks.yml - Fixed /bmreload now reverting to previous config on failure - Fixed MySQL driver conflicts with other plugins - Fixed expired mutes not being removed correctly - Fixed multiaccount check blocking the main thread - Fixed cross-platform scheduler timing issues - Fixed rollback command inconsistencies - Fixed importing report states from H2 to MySQL - Fixed duplicate entry errors when punishing alts - Fixed kick silent flag being ignored - Various Velocity and Fabric stability fixes
    8 downloads
  2. v7.9.0Sep 19, 2022
    · Fixed muted blacklist sub commands on bukkit builds · Fixed global sync to only remove local punishment if not a duplicate · Lowered default polling timings in schedules for new installations · Fixed Y2K38, temporary punishments past the year 2038 no longer cause an error · Added resource loading interference detection. Outputs an error message informing users of the plugin preventing BanManager loading its own resource files · Added [created] token to ban deny messages · Updated UTF8 collations (utf8mb4 & utf8mb4_unicode_ci) for new installations · Removed enabled config option for local database, this is always required · Fixed H2 /bmactivity incompatibility causing malformed results to show. This command now requires INET6_NTOA support in MySQL/MariaDB · Added fast IPv6 conversion mode for those updating from an older pre-IPv6 BanManager version · Fixed compatibility with older Minecraft versions (1.8) by shading slf4j for bukkit · Fixed exempt permissions for temp ip ban and mutes · Updated the default website default message for /bminfo with the new webui format, setting this to empty an empty string now also prevents it from showing · Added [actor] to deniedNotify messages · Fixed the silent flag in /kick command from being ignored
    5266 downloads
  3. v7.8.0May 2, 2022
    · Fixed offline UUID lookups · Fixed MySQL driver loading in Sponge · Added new events PluginReloadedEvent & PlayerDeniedEvent to resolve issues with reloads and pin parsing in WebEnhancer addon
    983 downloads
  4. v7.7.0Mar 11, 2022
    · Added bm.command.unmuteip.own & bm.command.unbanip.own permissions · Add username in front of Muted messages to see who is writing muted messages, thanks @TomLewis for the PR · Added BmAPI.getPlayers(ip) method · Fixed a race condition on getPlayer Bungee implementation · Added [created] token to discord messages · Refactored build process to gradle (jars may be slightly bigger whilst we continue to optimise the new build system) · Fixed an NPE when specifying an unban ip reason · Added messagesFromActor in discord.yml to toggle messages from users in DiscordSRV
    458 downloads
  5. v7.6.0Jan 2, 2022
    · Fixed bStat preventing plugin from starting in some scenarios, thanks to @Sir-Will for the PR! · Remove erroneous System.out · Fixed quick disconnects causing NPEs, thanks to @Kadeluxe for the PR! · Added report discord notifications · Bumped mysql/mariadb drivers and HikariCP · Fixed incorrect muteip disallowed message in default messages.yml, thanks to @MattW-source for the PR! · Empty messages from messages.yml are no longer sent to players, thanks to @Kadeluxe for the PR! · BanManager's chat handling (including muting etc) can now be disabled by setting chatPriority to NONE in its config, thanks to @Kadeluxe for the PR! · Added baniprecords to /bmdelete, requires bm.command.delete.baniprecords permission to use · Added baniprange & tempbaniprange to exemptions.yml, so certain players can bypass range bans · Added exemption permissions to bypass maxOnlinePerIp & maxMultiaccountsrecently config options, requires bm.exempt.maxonlineperip and bm.exempt.maxmultiaccountsrecently permissions respectively
    570 downloads
  6. v7.5.0Aug 2, 2021
    · Fixed alt checking · Added /bminfo <ip> · Added support for geysermc names in /bminfo · Fixed alt notification on join from showing even when no alts found
    823 downloads
  7. v7.4.0Jun 6, 2021
    · Fixed player name case sensitivity for H2 users · Fixed player name for report closed message - Thanks to @TrekkieEnderman for the PR · storageType in config is now case insensitive · Added BmAPI.toTimestamp method · Added ignoreSilent option to discord.yml, controls whether silent punishments should be sent, defaults to true · Bumped bStats to v2 to meet Sponge Ore guidelines · Added timeAssociatedAlts to ignore old ip address associations, disabled by default · Added PlaceholderAPI support, see https://banmanagement.com/docs/banmanager/placeholders for the full list · A message is now sent to players with the permission bm.notify.alts when an alt joins the server · Added punishment [id] token to messages · Fixed /reports info not running from the console · Removed unused warningCooldown option, use cooldowns instead · Removed unused incorrectFlagUsage message · Fixed /bminfo -ips history using the wrong dateTimeFormat message · Added api-version to remove legacy warning on newer Spigot versions, should not affect older versions · Block muted players from using signs (Bukkit & Sponge) and books (Bukkit only) · requires the following permissions to enable: · bm.block.muted.sign · bm.block.ipmuted.sign · bm.block.muted.book · bm.block.ipmuted.book · Fixed reports help not showing sub command correctly · Added option to configure a different uuid/name API
    645 downloads
  8. v7.3.1Feb 9, 2021
    · Fixed report state missing a default value for some installations
    700 downloads
  9. v7.3.0Feb 7, 2021
    · Fixed /reports list running in a sync task · Fixed /bmrollback argument parsing · Expose connectionTimeout, maxLifetime, allowPublicKeyRetrieval connection options · Added discord notifications on unbans/unmutes · Fixed /bminfo command not always returning results for players consisting of numbers only - thanks to @lekro for the fix · Use webhooks for discord integrations, notifications show as actor (name/avatar) · Fixed /bminfo website not opening as a link on Sponge · Fixed unban/unmute commands broadcasting when silent
    97 downloads
  10. v7.2.2Jun 16, 2020
    · Fixed issue preventing global temp bans from kicking players on sync · Fixed Discord warning notification errors · Fixed slf4j warnings on start up · Fixed BungeeCord mutes not blocking chat · Fixed duplicates name change validation issue · Fixed duplicates command usage showing /bmutils twice
    5301 downloads
  11. v7.2.1May 16, 2020
    - Fixed typo in temp ip ban causing affected players to be kicked outside the main thread - Save lastChecked values on shutdown, fixes global punishment sync creating duplicates on quick/repeated start/stops - Fixed ip unbans not being removed from memory correctly - Unban/unmute reasons are optional again, caused by a fix in previous release - Fixed global sync kick NPE in certain scenarios
    464 downloads
  12. v7.2.0BanManager v7.2.0May 12, 2020
    · Added report support to hooks config · Added cooldowns for some punishment commands in config.yml · BREAKING report/warning cooldown options moved to cooldowns config area · Soft mute messages are now broadcasted to those with bm.notify.muted permission · Force bad ip values from v7 conversion to 127.0.0.1 · Fixed temp player bans/mutes not always creating records on expiration · Fixed global sync duplicate errors · Fixed /bminfo with no args to run against player executing command · Fixed /unban and /unmute not showing usage
    295 downloads
  13. v7.1.1BanManager v7.1.1Apr 28, 2020
    - Fixed not ignoring cancelled AsyncPlayerPreLoginEvent events, fixes compatibility issues with other plugins - thanks to mxs42 for the PR! - Fixed player being notified when a soft mute is unmuted - thanks to mxs42 for the PR! - Fixed command registration causing issues with commands.yml - Fixed invalid players in /alts throwing an NPE - Fixed /alts message colours - Fixed /alts name clicking, no longer executes /bminfo against the wrong player name - Fixed message colours in BungeeCord builds - Fixed duplicate join notifications in BungeeCord builds - Added [notes] to info.stats.player message - Added [player] to info.connection message
    290 downloads
  14. v7.1.0Apr 17, 2020
    - Added checks to console.yml name to prevent duplicate names - Added discord notifications on player kicks and ip bans - Added [players] variable to discord ip ban notification messages - Added baniprecords to /bmclear - Added tab completion to reasons (#reasons) and added a config option to block invalid reasons being used, thanks to JOO200 for the PR! - Added IP mute methods to BmAPI, thanks to mxs42 for the PR! - /reports list and reports on join now shows newest reports first - Added utility command, /bmutils duplicates [UUID] [newName], this is to assist with name duplicate issues, see https://banmanagement.com/faq#duplicate-issues for usage instructions - Raw JSON messages are now supported within messages.yml for further flexibility, thanks to mxs42 for the PR! - Removed INET6_NTOA from /bmactivity fixing compatibility with older MySQL/MariaDB versions - Fixed actor lookups when duplicate names present, now correctly UUID based - Fixed duplicate notification messages for ip bans and mutes when syncing changes - Fixed NPE when temp muting an offline player, thanks to mxs42 for the PR! - Fixed command blocking on mute/soft mute - Fixed /reports list and on join reports not querying the correct state value - Fixed player name tab completion not handling new players and name changes correctly, thanks to mxs42 for the PR!
    236 downloads
  15. v7.0.4Mar 12, 2020
    - Added an additional permission check when a BanManager command is executed; this resolves compatibility issues with plugins such as EssentialsX which attempts to proxy/execute another plugin's commands incorrectly
    899 downloads
  16. v7.0.3Mar 10, 2020
    - Fixed an issue with bans and mutes not broadcasting correctly
    154 downloads
  17. v7.0.2Mar 7, 2020
    - Removed unused dependencies and general clean up reducing overall jar size - Fixed global command reason parsing - Added missing addnoteall notify message - Stop invalid ip addresses from plugin starting up; this can be caused when running different BanManager versions against the same database/tables - Catch/log command registration failures for older Bukkit versions for better compatibility with other plugins - Downgraded bStats in Sponge as it was causing the server to crash on start up when BanManager was installed with other plugins using bStats
    161 downloads
  18. v7.0.1Mar 4, 2020
    - Enable H2 by default, now works out of the box with no configuration needed - Added Discord support for Sponge via MagiBridge - Fixed Sponge command argument handling - Reduced ORMLite logging, no longer shows table creation and index logs on first start up
    160 downloads
  19. v7.0.0Mar 2, 2020
    · Breaking To support other servers API classes have been relocated moved and been updated. Plugins integrating with older BanManager versions must be updated. · Added H2 support and set as default storageType · Added BungeeCord and Sponge builds · Added IPv6 support (database schema changes will applied on start up) Backup your database before updating · Added DiscordSRV support (Bukkit only) · Added AdvancedBan importer · Added PlayerKickedEvent · Added clean up option to player history which will not remove history if the ip address is currently banned · Added bStats (can be disabled in bStats/config.*) · Fixed MaxMind Lite integration by adding license key support · Fixed silent punishments broadcasting on sync
    144 downloads
  20. v6.0.2BanManager v6.0.2Jun 11, 2019
    · Fixed JDBC issue of timezone mapping errors when attempting to connect to older MySQL versions on start up
    937 downloads
  21. v6.0.1BanManager v6.0.1May 24, 2019
    · Fixed /reports list error due to issue with countOf in newer ORMLite version. Also fixes error thrown when some players joined the server.
    205 downloads
  22. v6.0.0BanManager v6.0.0May 13, 2019
    · Breaking Dropped Java 7 support, plugin now compiled against 8. · Added MariaDB support, change the new field storageType in your config.yml from mysql to mariadb after updating to use MariaDB drivers · Shaded in newer mysql connector driver, adds MySQL 8+ support · Specify plugin events as async, adds support for Bukkit 1.14 · Correctly handle time difference check returning a double for some database drivers · JSONified /alts and possible alts in /bminfo · Clicking player name will execute /bminfo · Player names are now colour coded in this command: · Green = never banned · Yellow = Banned previously · Gold = Temporarily banned · Red = Perm banned · Allow clicking report ids in /reports list, this will run /reports info <id> on each report · Added [expires] token support to hooks · Fixed missing unique key on player mutes table · Added note amount on player join · Requires permission bm.notify.notes.joinAmount · Clicking this message will execute /notes <player> command · Players with all permissions or op must have bm.notify.notes.join negated to prevent both messages from showing · Fixed list others reports permission, now correctly works as documented bm.command.reports.list.others thanks to @Ghostlyr for the PR! · Bump dependencies
    186 downloads
  23. v5.15.0BanManager v5.15.0Oct 8, 2017
    WARNING, BACK UP DATABASE BEFORE UPDATING - This release converts all BanManager tables from MyISAM to InnoDB · Shade Guava 17.0, fixes MC 1.12 · Whilst this increases final jar size, it maintains backwards compatibility with older MC versions · Added [id] to /report notification message · Added lookups via UUID to /bmactivity, e.g. /bmactivity <uuid> · Added multi account check, thanks to @sigmaroot · Allows denying accounts with the same ip address within a configurable time period · Added MySQL SSL support · Added /bmutils missingplayers, this attempts to re-add any missing players associated to a punishment in the players table · Requires bm.command.bmutils and bm.command.bmutils.missingplayers permission to use · Lookups are sent to Mojang's API, may fail if rate limit reached · Added current ip ban to /bminfo player lookup · Safely handle duplicate punishment commands · Previously multiple staff members attempting to ban the same player at the same time would result in a duplicate entry error within the console; players are now sent a message stating that they are already banned/muted. · Added bm.exempt.alts and alts to exemptions config · On join, players with this permission will not cause alt actions to take place · Players with alts set to true in exemptions config will not display in duplicate checks
    1160 downloads
  24. v5.13.1BanManager v5.13.1Jan 8, 2017
    · Render colours within note messages · EXPERIMENTAL Configurable chat listener priority, requires a plugin reload or server restart to take affect · Fixed sub commands (e.g. /report Assign) being case sensitive · Added report [id] token to report teleport · Fixed issues with kicking players when onlineMode false · Added /reports info <id> · requires permission bm.command.reports.info · EXPERIMENTAL Added /bmrollback <player> <timeDiff> [types] · Reverses staff actions · NOTE Take care using this, whilst this has been tested, it will cause irreversible changes (ensure you have backups!) · Requires permission bm.command.bmrollback · timeDiff can be limited via timeLimits config options/perms · Deletes bans/mutes/notes/warnings made by the player within the time frame · Re-bans any players/ips that were unbanned during the time frame · Caveats: Notes and warnings can't be undeleted, any unbans/unmutes made via the -d flag can't be rolled back · Fixed an incorrect calculation (+ 1 day at the end of a month) on temp actions. Thanks to sigmaroot for the pull request. · Added ability to ban by names · /banname <name> <reason>, requires bm.command.banname permission · /tempbanname <name> <timeDiff> <reason>, requires bm.command.tempbanname · /unbanname <name> [reason], requires bm.command.unbanname · Added useSSL=false to JDBC connection URL, this adds compatibility with newer versions of MySQL. Thanks to ColorizedMind for the pull request. · If anyone requires SSL configuration options, please open an enhancement issue · Added duplicate name support to /bminfo · When multiple players found with the same name, a list is provided · Specify which player to lookup via /bminfo <player> <index>
    704 downloads
  25. v5.12.0Sep 11, 2016
    * Fixed reports assignee table null error. * /bmdelete and /bmclear now correctly clear all associated report data. * Disallow creating reports for non stored players. Fixes accidental typos. * Handle offline UUIDs on join correctly. * Ignore ip and ip range bans missing actors instead of crashing on startup. * Throttle deny broadcast messages. Only displays once per minute per player/ip. * Fixed report listing max page rounding error. * [BREAKING] Moved Split /report sub commands into /reports. /report <player> <reason>, /reports list etc. The permissions have also been updated, any report sub commands previously under /report, now require bm.command.reports.subCommand permission. * Handle multiple report ids in some commands, e.g. /reports assign 1,2,3 confuser, /reports unassign 1,2,3 confuser, /reports close 1,2,3 confuser * Player mute warnings no longer removed on leave, stored for up to 1 day. * Removed case sensitivity for warning mute reasons. * Warn of duplicate names in offline mode, no longer incorrectly queries Mojang. * /reports tp now runs sync, oops. * Added delete flag to unban command, /unban -d confuser, unbans a player without creating a ban record. Requires permission bm.command.unban.delete. This update is highly recommended for those using offline mode.
    367 downloads
  26. v5.11.0Performance imporvements and connection fixesAug 6, 2016
    · Use case insensitive UUIDs when not in online mode. Fixes offline mode support. Set onlineMode to false in your config.yml · [BREAKING] Changed bmactivity permission, now bm.command.bmactivity for consistency. · Updated HikariCP to 2.4.7 · Ensure tasks don't overlap. Fixes connection issues on slow database connections for some users. · Optimised startup data retrieval. Faster and less taxing on the database. This update is highly recommended for those experiencing connection issues.
    204 downloads
  27. v5.10.1BanManager v5.10.1Jun 25, 2016
    · Leak detection is now configurable, can be disabled by setting to 0. · Added more missing default permissions. · Fixed incorrect date and actor when listing past bans via /bminfo -b. · Added [warnPoints] to bminfo summary. · Fixed createNoteReasons option not being honoured. Thanks to sigmaroot for the PR. · Fixed ban/mute expiration lengths incorrectly rounding, e.g. 10d showed 1 week, instead of 1 week 3 days. Thanks to sigmaroot for the PR. · Ignore command blocks during broadcasts. This fixes incompatibilities with PaperSpigot as well as a possible crash in Spigot 1.10. · Fixed typo in unban ip range notify causing NPE. · Updated HikariCP to 2.4.6, fixes issue with showing network timeout as an error rather than info in logs. · Added /reasons to list all predefined reasons. · Notify player when unmuted via /unmute. · Added mute on warn, disabled by default. · Requires players to type in their most recent warning reason otherwise they will not be able to chat · Removed on server restart and player leave · Added player join leave history ip history, enabled by default, set logIps to false to disable · Usage: /bminfo -i <pageNumber> <player> · Requires permission bm.command.bminfo.history.ips · Added flag parsing to predefined #reasons. · Fixed temp warnings still broadcasting when silent. · Converted warning points to decimals. You may now warn a player for x.y points. · Fixed geoip config file deleting. · Some messages can now be disabled by simply blanking them within the messages.yml file. Please open an issue if you find any that are not affected. · Added warning points to bminfo via [meta] token. · Requires adding [meta] to history.row in messages,yml · Renamed external to global. · Configs will automatically convert. · This change is to avoid confusion between local and remote databases. · Reports · Added report states, with custom state support. · Added /report tp <id> · Assign reports to players via /report assign <id> <player> · Unassign reports via /report unassign <id> · List reports via /report list [page] [state] · Close a report with a comment or command via /report close <id> · /report close 2 /ban someHacker Hacking. · /report close 3 Resolved in game. · Output open and assigned reports on join, requires bm.notify.reports.open and bm.notify.reports.assigned permissions. · Fixed new players missing from autocomplete. · Fixed /bmactivity player search.
    235 downloads
  28. v5.9.0Apr 17, 2016
    271 downloads

Similar projects

Plugin →