跳到正文

Moderation System

作者:BF-DEV

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 /report and 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

  • /tickets shows 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 /aduty to 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] Name and admins as [Admin] Name in 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

  • /support shows a clickable link to your Discord or website
  • The link also appears on the kick and ban screens, and muted players get a clickable /support hint, 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: /kick and /ban replace the vanilla commands. The vanilla versions are still available as /minecraft:kick and /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

  1. Download the latest version from the Versions tab.
  2. Put the .jar file into your server’s plugins folder.
  3. Start the server once.
  4. Put your Discord link into plugins/ReportSystem/config.yml (support-link) and restart.
  5. Make your first moderator with /mod add <player>.
  6. Your moderators type /aduty to 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 的其他作品

查看全部 →