Moderation System

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.

107 downloads 0 followers

๐Ÿšจ 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 โค๏ธ

Version Minecraft Loader Download

Moderation System 2.4.0

2.4.0

26.3
paper
Download

Moderation System 2.4.0

2.4.0

26.3
forge
Download

Moderation System 2.4.0

2.4.0

26.3
neoforge
Download

Moderation System 2.4.0

2.4.0

26.3
fabric
Download

Moderation System 2.3.0

2.3.0

26.2
paper
Download

Moderation System 1.5.0

1.5.0

26.2
paper
Download