Mod
NeoBans
No reviews yet
Modern GUI Based Banning System
Neoforge is a fork of the Minecraft Forge available for versions 1.20.1+ of Minecraft. Many Forge mods are compatible with Neoforge and vice versa.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
# NeoBans
A server-side punishment management mod for **Minecraft 1.21.1** running **NeoForge 21.1.x**.
Adds a full suite of ban, mute, kick, and warn commands along with an in-game GUI for staff to issue punishments. All punishment history is stored on the server and persists across restarts. **Players do not need the mod installed to join** — it is only required on the client if staff want to use the GUI.
---
## Features
- Permanent and temporary bans (player and IP)
- Permanent and temporary mutes
- Kick and warn commands
- In-game ban GUI with configurable preset reasons and durations (requires mod on staff client)
- Full punishment history per player
- Server-side ban list browser
- Fully configurable ban disconnect message with placeholder support
- Optional appeal link appended to ban messages
- Data stored as JSON in the world folder — no database required
---
## Requirements
| Requirement | Version |
|---|---|
| Minecraft | 1.21.1 |
| NeoForge | 21.1.x (tested on 21.1.222) |
| Java | 21 |
The mod is **server-side only**. Players without NeoBans can connect normally. Staff who want the `/ban` GUI need the mod on their client as well.
---
## Installation
1. Download the NeoBans `.jar` file.
2. Place it in your server's `mods/` folder.
3. Start the server once to generate the config file.
4. Edit `world/serverconfig/neobans-server.toml` to your liking (see [Configuration](#configuration) below).
5. Restart the server (or use `/reload` — the config will reload automatically).
For staff who want the GUI, they also place the same `.jar` in their client `mods/` folder.
---
## Commands
All commands require operator permission level 2 or higher.
### Ban
| Command | Description |
|---|---|
| `/ban` | Opens the player-select GUI (requires mod on client) |
| `/ban <player> [reason]` | Permanently bans a player |
| `/ban-ip <player\|ip> [reason]` | Permanently IP-bans a player or raw IP address |
| `/tempban <player> <duration> [reason]` | Temporarily bans a player |
| `/tempban-ip <player\|ip> <duration> [reason]` | Temporarily IP-bans a player or raw IP |
| `/unban <player>` | Pardons a player's active ban |
### Mute
| Command | Description |
|---|---|
| `/mute <player> [reason]` | Permanently mutes a player |
| `/tempmute <player> <duration> [reason]` | Temporarily mutes a player |
| `/unmute <player>` | Removes a player's active mute |
### Other
| Command | Description |
|---|---|
| `/kick <player> [reason]` | Kicks a player from the server |
| `/warn <player> <reason>` | Issues a formal warning |
| `/history <player>` | Opens the punishment history GUI for a player |
| `/banlist` | Opens the active ban list GUI |
### Duration format
Used by `/tempban`, `/tempban-ip`, and `/tempmute`.
| Suffix | Meaning |
|---|---|
| `m` | Minutes — e.g. `30m` |
| `h` | Hours — e.g. `2h` |
| `d` | Days — e.g. `7d` |
| `w` | Weeks — e.g. `2w` |
| `M` | Months — e.g. `1M` |
| `y` | Years — e.g. `1y` |
| `permanent` | No expiry |
---
## Configuration
The config file is generated at:
```
<world folder>/serverconfig/neobans-server.toml
```
### Options
#### `banReasons`
List of preset reasons shown in the `/ban` GUI. Editable without restarting — changes take effect the next time a staff member opens the GUI.
```toml
banReasons = [
"Griefing",
"Hacking / Cheating",
"Harassment",
"Inappropriate Content",
"Spam",
"Exploiting",
"Racism / Hate Speech",
"Other"
]
```
#### `appealLink`
URL shown at the bottom of every ban disconnect message. Set to `""` to hide the appeal line entirely.
```toml
appealLink = "https://your-server.com/appeal"
```
#### `banMessage`
The full disconnect message shown to a banned player. Supports Minecraft colour codes (`§` or `&`). Use `\n` for newlines.
```toml
banMessage = "§c§lYou are banned from this server!\n\n§fReason: §e{reason}\n§fBanned by: §e{banned_by}\n§fExpires: §e{expires}\n\n§7Punishment ID: {id}\n\n§eAppeal your ban: §b{appeal_link}"
```
**Available placeholders:**
| Placeholder | Value |
|---|---|
| `{reason}` | The ban reason |
| `{banned_by}` | The staff member who issued the ban |
| `{expires}` | `Permanent` or a human-readable time remaining (e.g. `3d 2h 15m`) |
| `{id}` | The internal punishment ID |
| `{appeal_link}` | The appeal URL — the **entire line** is removed if `appealLink` is empty |
---
## Data Storage
Punishments are saved to:
```
<world folder>/neobans/punishments.json
```
This file is written on every punishment action and on server shutdown. It is safe to back up while the server is running.
---
## Permissions
NeoBans uses NeoForge's built-in permission API. Each command has its own permission node so you can grant or deny them individually using a permissions mod such as [LuckPerms](https://luckperms.net/).
**If no permissions mod is installed**, every node falls back to vanilla operator level 2 — the behaviour is identical to before.
### Permission nodes
| Node | Commands |
|---|---|
| `neobans.ban` | `/ban`, `/ban-ip` |
| `neobans.tempban` | `/tempban`, `/tempban-ip` |
| `neobans.unban` | `/unban`, `/unban-ip` |
| `neobans.mute` | `/mute` |
| `neobans.tempmute` | `/tempmute` |
| `neobans.unmute` | `/unmute` |
| `neobans.kick` | `/kick` |
| `neobans.warn` | `/warn` |
| `neobans.history` | `/history` |
| `neobans.banlist` | `/banlist` |
Console always bypasses permission checks and has access to all commands.
### LuckPerms example
```bash
# Give a group access to kick and warn only
/lp group moderator permission set neobans.kick true
/lp group moderator permission set neobans.warn true
# Give a group full access
/lp group admin permission set neobans.* true
```
---
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources