Mod - Modrinth
mBans
Flexible moderation and punishment management for Paper, Purpur, Folia, and Velocity networks.

Source-provided project description. FreeMinecraftMods keeps creator credit and adds separate compatibility and decision guidance below.
Project overview
mBans Flexible moderation and punishment management for Paper, Purpur, Folia, and Velocity networks. The backend plugin supports Paper, Purpur, and Folia 26.2. The proxy module blocks banned accounts before they enter a Velocity network. ## What it does - permanent and temporary bans, IP bans, regular/IP/shadow mutes, warnings, and kicks - UUID-first records with online lookup, local player history, and an asynchronous Mojang fallback - H2 and SQLite for a single server; MySQL, MariaDB, and PostgreSQL for shared networks - polling-based cross-server synchronization and a separate Velocity login check - punishment history, staff history, rollback, notes, IP exceptions, alt detection, and exports - permission-gated silent punishments, reason templates, evidence links, and `-last` chat evidence - cached mute enforcement for chat and configurable private-message commands; no database query per message - shadow-muted chat is visible only to its sender, console, and staff with `mbans.notify.shadow` - active ban/mute/warning lists, punishment lookup by ID, reason editing, and ID-based revocation - configurable warning escalation and moderator immunity levels - offline warning delivery and generated appeal IDs - UUID-bound in-game mute appeals with a staff review queue; external support links remain available for bans - Discord embeds with per-type webhooks and an optional appeal button - optional local GeoLite2 country filtering and an authenticated read-only REST API - vanilla JSON and adaptive JDBC migration with dry-run support - English and Russian messages, bStats, and Modrinth update checks ## Requirements - Java 25 - Paper, Purpur, or Folia 26.2 - Velocity 3.4 when using `mBans-Velocity-1.2.0.jar` No external database is required for one backend. A network installation must use one shared MySQL, MariaDB, or PostgreSQL database. Do not share an H2 or SQLite file between processes. ## Install on one server 1. Put `mBans-1.2.0.jar` in the server `plugins` directory. 2. Start the server once. 3. Edit `plugins/mBans/config.yml` and restart when changing storage or network settings. H2 is selected by default. Player messages are loaded from `lang/en_US.yml`; set `language.default: ru_RU` to use the bundled Russian file. ## Install on a Velocity network 1. Create one MySQL, MariaDB, or PostgreSQL database. 2. Install `mBans-1.2.0.jar` on every backend. 3. Configure the same database on every backend and give each one a different `network.server-name`. 4. Install `mBans-Velocity-1.2.0.jar` in the Velocity `plugins` directory. 5. Start Velocity once and configure `plugins/mbans-velocity/config.properties` with the same JDBC connection. 6. Restart the proxy and all backends. The Velocity module reads the shared punishment tables directly. Install and initialize a backend first so that the schema exists. See [the network guide](docs/NETWORK.md) for complete examples. ## Configuration The main sections are: - `storage`: local file, database engine, connection credentials, pool limits, and optional complete JDBC URL - `network`: unique backend name and database journal polling interval - `templates` and `durations`: reusable reasons and GUI duration choices - `escalation`: count, time window, resulting action, duration, and reason - `immunity` and `exemptions`: permission levels, excluded worlds, and IPv4/IPv6 CIDR ranges - `discord`: default or per-punishment webhooks and an appeal URL containing ` ` - `chat-evidence`: in-memory message count available to `-last N` - `geoip`: local MMDB filename and ISO country allow/block lists - `rest-api`: localhost bind, port, and bearer token - `appeals`: enable in-game submissions and cap message length - `metrics` and `updates`: bStats and Modrinth update discovery Missing defaults are added without replacing existing values. `/mbans reload` reloads messages and safe settings; storage, network, REST, and GeoIP changes require a restart. See [configuration](docs/CONFIGURATION.md). ## Commands | Command | Purpose | |---|---| | `/ban [duration] [reason]` | Ban a player permanently or temporarily | | `/tempban [reason]` | Require a temporary ban duration | | `/unban [reason]` | Remove an active ban | | `/banip [duration] [reason]` | Ban an IP address | | `/unbanip ` | Remove an IP ban | | `/mute`, `/tempmute`, `/unmute` | Manage chat mutes | | `/ipmute [duration] [reason]` | Mute accounts using an IP address | | `/unipmute ` | Remove an IP mute | | `/shadowmute [duration] [reason]` | Isolate chat without notifying the target | | `/tempshadowmute [reason]` | Require a temporary shadow-mute duration | | `/unshadowmute ` | Remove a shadow mute | | `/appeal ` | Submit an appeal tied to your own punishment | | `/warn [reason]` | Add a warning and evaluate escalation rules | | `/unwarn ` | Remove one or all active warnings | | `/kick [reason]` | Remove an online player | | `/history [page]` | View player punishment history | | `/staffhistory [page]` | View actions issued by a moderator | | `/check ` | Show active ban, mute, and warning state | | `/banlist [page]` | List active bans | | `/mutelist [page]` | List active mutes | | `/warns ` | List active warnings | | `/punishment ` | Ins
FreeMinecraftMods decision guide
This mod is most relevant to players looking for management, utility on folia, paper, purpur, velocity. Treat those labels as discovery hints, then verify the exact file and dependency list on the official project page.
The source record was updated on Aug 27, 2026, which is a recent freshness signal. A recent date does not guarantee support for every loader or Minecraft version, so still inspect the current file list.
What to verify before choosing a file
- Confirm that the file is published by the credited creator on the linked official source.
- Match the Minecraft version exactly instead of relying only on a broad category label.
- Read dependencies, incompatibilities, and changelog notes before updating an existing instance.
- Match the loader or server platform and its required version. Forge and NeoForge are not interchangeable.
- Back up worlds and configuration files before testing the project in a long-term save or public server.
Compatibility at a glance
Minecraft versions in this snapshot: 26.2
Loaders and platforms: folia, paper, purpur, velocity
Before you install
Match the exact Minecraft version and loader, install every required dependency, and test in a separate profile before opening an important world. Keep a backup before changing a working mod list.
Source, licensing, and corrections
FreeMinecraftMods does not mirror the project files. Use the official source for downloads, release notes, dependencies, support, and licensing details. Project names, images, and creator-written descriptions remain the property of their respective owners.
How listings are reviewed | Report incorrect project information | Rights-holder and DMCA information
This source record is available for discovery, but it does not yet contain enough verified description, classification, image, freshness, or compatibility information to be indexed as a full editorial page. It is therefore marked noindex and is not eligible for advertising.
