Moderation System
All-in-one report, mute, kick and ban system for Paper servers. Players report rule breakers with /report, and moderators handle it in one click with on-screen notices and a support link.
截图
介绍
🚨 The all-in-one staff plugin for your server
ReportSystem gives your players an easy way to report rule breakers, and gives your staff everything they need to handle them: a ticket menu, mutes, kicks, bans, a duty mode, vanish and fly.
No commands to remember. Players click through a menu, and staff handle every report in a few clicks.
✅ Server-side only: players don’t need to install anything
✅ No dependencies: just drop it into your plugins folder
✅ Works out of the box: no permission plugin needed
✨ Features
📢 Report menu for players
- Type
/reportand pick a player from a menu with everyone’s heads - Or type
/report <player>to jump straight to the reasons - Choose a reason with one click: Hacking, Spam, Insults, Griefing, Bug abuse, Scamming, Inappropriate name or skin
- “Other reason” lets players type their own reason in the chat
- A confirm screen makes sure nobody reports by accident
- The reasons and their icons can be changed in the config
- Spam protection: configurable cooldown between reports
🎫 Ticket menu for staff
/ticketsshows all open reports, with the player, who reported them, the reason, the time and who is online- Open a ticket to get one-click buttons:
- 🟣 Teleport to the reported player
- 🔵 Teleport to the reporter
- 🔇 Mute with a duration of your choice (10 minutes up to permanent)
- 👢 Kick
- ⛔ Ban with a duration of your choice (1 hour up to permanent)
- ✅ Close ticket without punishing anyone
- The punishment reason is filled in automatically, e.g.
Report #3: Hacking - Tickets close by themselves when the player gets muted, kicked or banned
🟢 Duty mode
- Staff use
/adutyto go on or off duty, with a big “On duty” / “Off duty” title on screen - Only staff on duty get new reports: a chat message, a sound and an [Open ticket] button
- If nobody is on duty, the player is told their report was saved and will be checked later
- When staff join, they’re reminded whether they’re on duty, with a one-click [Go on duty] button
👻 Vanish & ✈️ Fly (on duty only)
/vanish: become invisible to normal players, including the tab list. Other staff can still see you- No join or leave messages while vanished, no item pickup, and mobs ignore you
/fly: toggle flying, even in survival- Both only work while on duty and turn off automatically when you go off duty
- Both stay on after rejoining, as long as you’re still on duty
🏷️ Staff tag in the tab list
- Moderators show up as
[Mod] Nameand admins as[Admin] Namein the tab list - The tag updates right away when someone becomes a moderator, and also works with permission plugins
- Text and colors can be changed or turned off in the config
🔇 Mutes
- Temporary or permanent mutes, always with a reason
- Big on-screen notice: muted players see “You have been muted!” with the reason and a live countdown of the time left
- Join reminder: muted players see “You are still muted!” shortly after joining
/mutetime: players can check how long they’re still muted- Unmute notice: when a mute runs out or is lifted, the player sees “You have been unmuted!”, even if they were offline at the time
⛔ Kicks & bans
- Custom kick screen with the reason and who kicked the player
- Custom ban screen with the reason, who banned the player and the time left, shown every time a banned player tries to join
- Temporary or permanent bans: temporary bans expire on their own
💬 Support link
/supportshows a clickable link to your Discord or website- The link also appears on the kick and ban screens, and muted players get a clickable
/supporthint, so everyone knows where to appeal
🛡️ More staff tools
- OP protection: moderators can’t mute, kick or ban operators
- In-game moderator management with
/mod add <player> - Clickable buttons in chat for every new report
- Tab completion for player names, durations and ticket IDs. Vanished staff are never suggested to normal players
- Saved data: moderators, mutes, bans, reports, duty, vanish and fly survive restarts
- Automatic config updates: after an update, new options are added to your
config.yml, and your own settings stay untouched
💬 Commands
👤 For all players
| Command | Description |
|—|—|
| /report | Open the report menu |
| /report <player> | Report a player (opens the reason menu) |
| /report <player> <reason> | Report a player directly, without the menu |
| /mutetime | See how long you’re still muted |
| /support | See where to get help or appeal a punishment |
| /reportsystem:credits | See who made the plugin and where to report bugs |
👮 For moderators
| Command | Description |
|—|—|
| /aduty | Go on or off duty (alias: /duty) |
| /tickets | Open the ticket menu |
| /tickets <id> | Open one ticket directly |
| /vanish | Become invisible to normal players (alias: /v, on duty only) |
| /fly | Toggle fly mode (on duty only) |
| /mute <player> [duration] [reason] | Mute a player (default: 10m) |
| /unmute <player> | Unmute a player |
| /mutetime <player> | See how long a player is still muted |
| /kick <player> [reason] | Kick a player |
| /ban <player> [duration] [reason] | Ban a player (permanent if no duration is given) |
| /unban <player> | Unban a player |
| /reports | List open reports in chat |
| /reports close <id> | Close a report |
Durations: 30s · 10m · 2h · 1d · 1w · perm
Examples:
/mute Steve 1h Spamming
/kick Steve Please calm down
/ban Steve 7d Hacking
👑 For admins (OP)
| Command | Description |
|—|—|
| /mod add <player> | Make a player a moderator |
| /mod remove <player> | Remove a moderator |
| /mod list | List all moderators |
Note:
/kickand/banreplace the vanilla commands. The vanilla versions are still available as/minecraft:kickand/minecraft:ban.
🔐 Permissions
| Permission | Description | Default |
|—|—|—|
| reportsystem.report | Use /report | Everyone |
| reportsystem.moderator | Tickets, duty, vanish, fly, mute, kick and ban | OP |
| reportsystem.admin | Manage moderators (includes moderator) | OP |
Players added with /mod add are moderators even without a permission plugin. If you use a permission plugin, you can grant the permissions above instead.
🖼️ What it looks like
Report notification (staff on duty)
[Report] New report #3: Alex reported Steve
[Report] Reason: Hacking / cheating
[Open ticket] [Mute 10m] [1h] [1d] [Kick] [Ban 1d] [Done]
Ban screen
You are banned!
You are banned from this server.
Reason: Report #3: Hacking / cheating
Banned by: Mod
Time left: 6 days 23 hours (until 2026-10-19 18:00)
Think this was unfair? Contact the staff team.
Support: https://discord.gg/abc123
Mute (in the middle of the screen)
You have been muted!
Reason: Spamming
Time left: 59 minutes 58 seconds
Tab list
[Admin] Notch
[Mod] Alex
Steve
⚙️ Configuration
plugins/ReportSystem/config.yml
# Cooldown in seconds between two reports from the same player
report-cooldown-seconds: 60
# Reasons players can pick in the /report menu ("Other reason" is always added)
# Format: "ITEM:Text" – the item is the icon in the menu
report-reasons:
- "IRON_SWORD:Hacking / cheating"
- "PAPER:Spam"
- "SKELETON_SKULL:Insults / toxic behavior"
- "TNT:Griefing"
- "COMMAND_BLOCK:Bug abuse"
- "GOLD_INGOT:Scamming"
- "NAME_TAG:Inappropriate name or skin"
# Default duration when /mute is used without one
# Formats: 30s, 10m, 2h, 1d, 1w, perm
default-mute-duration: 10m
# Seconds after joining until a muted player sees the "You are still muted!" screen
join-mute-notice-delay-seconds: 10
# Support link shown with /support, on the kick/ban screen and to muted players
# Put your Discord invite (or website) here, e.g. "https://discord.gg/abc123"
# Leave empty ("") to turn it off
support-link: ""
# Text shown above the link with /support (MiniMessage format)
support-message: "<gray>Need help or want to appeal a punishment? Contact us here:</gray>"
# Last line on the kick and ban screen (MiniMessage format, leave empty to hide)
screen-footer: "<gray>Think this was unfair? Contact the staff team.</gray>"
# Shown in front of the name in the tab list (MiniMessage format, leave empty "" to turn off)
tab-prefix-moderator: "<gold>[Mod]</gold> "
tab-prefix-admin: "<red>[Admin]</red> "
# Prefix shown before every message (MiniMessage format)
prefix: "<dark_gray>[<red>Report</red>]</dark_gray> "
📦 Installation
- Download the latest version from the Versions tab.
- Put the
.jarfile into your server’spluginsfolder. - Start the server once.
- Put your Discord link into
plugins/ReportSystem/config.yml(support-link) and restart. - Make your first moderator with
/mod add <player>. - Your moderators type
/adutyto go on duty and start getting reports.
Requirements: Paper 26.2 · Java 25
❤️ Credits
ReportSystem made by BF-DEV
Found a bug or have an idea? Let me know here: beacons.ai/bf_dev ❤️
常见问题
Moderation System 支持哪些 Minecraft 版本?
Moderation System 支持 Minecraft Java 版 26.2–26.3,共 2 个版本,可用的加载器:Fabric / Forge / NeoForge / Paper。下载时注意选择和你游戏版本一致的文件。
Moderation System 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge / Paper,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅服务端。
BF-DEV 的其他作品
查看全部 →
Simple Grave Stones
Simple Grave Stones puts your items, armor and XP into a grave when you die. Right-click it to get everything back, with armor going straight into its slots.
Just Claim
Just Claim is a Mod/Plugin that lets players claim parts of land.
评论
登录后评论和评分