Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
Platforms
Links
Tags
Creators
Details
Licensed ARR
Published 4 months ago
Updated 3 days ago
ReportSystem
Reports by players via menu with staff viewing from their own side and a copy in Discord.
A player will type /report and select a target and a cause then submit the report. Staff will receive an immediate in-chat notification of the report and will process the reports via the /reports menu. Reports can also be automatically sent to a Discord channel. ReportSystem does not include auto-take action or anti-cheat.
Overview
- A player menu to report. Select a target, select a reason from a list, add additional information and an optional Discord contact. Or you can also type the report in full:
/report player Steve griefing broke my base - A staff report queue with sorting, filtering, priorities, notes and the ability to close the report with a closing note
- Three types of reports: player, staff (private) and bug
- Reports appear as Discord embeds, one per report with a colour indicating the status
- Supports multiple networks. Uses a single shared report list in a single MySQL database. Uses Redis for real-time global notifications.
Features
- Queue. Filter by offense or type, sort by oldest, newest or priority, page through the queue, refresh the page and view a specific user's report history.
- Priority can be normal, high or low or auto assigned based on the rank of the user that made the report.
- Close with reason: verified or struck out, false report, insufficient evidence or a custom reason. Closed reports are added to the reported user's report history.
- Notes and note book. Moderators can add notes to reports and there is a book that stores a note of each report. By clicking the coordinates in the book you can be teleported to that location. The permission is checked each time you use the book and if the user has been given the book it will do nothing.
- The location of the reported user at the time the report was made is also included in the report.
- Tools to combat report abuse. Permanent bans and timeouts from using the
/reportcommand with a record of who issued what. - Suspicious view. Using
/suspiciousa list of users with three or more open reports is displayed. The number of reports to list as suspicious can be set by the user. Only a list is generated and not any additional information. - Staff alerts in chat (can also be in full width or in small caps). Network alerts include the server the alert originated from.
- Protected users can be exempted. Staff reports are only viewable by moderators with the permission
reportsystem.moderate.staffreports
Extra Information
- It is not an anti cheat.
/suspiciousonly tracks open reports it does not do any rejoin detection or IP matching. - Blocks and timeouts only apply to
/report, bans and mutes are done by your punishment plugin - Split sqlite databases cannot be combined into a network list. Use MySQL for this.
- The picker by default shows online players. Entering a name will work for any player that has previously connected. Set
show-offline-players: trueto also show previously connected players. - Redis is not required for network usage. If Redis is not used, staff on other servers will need to manually refresh the page to see a new report instead of receiving it as it occurs.
Details
Commands
| Command | What it does |
|---|---|
/report |
Opens the report menu |
/report player <player> <reason> [notes] |
Reports a player from chat |
/report staff <staff> <reason> <details> |
Reports a staff member from chat |
/report bug <reason> <details> |
Reports a bug from chat |
/reports |
Reports queue for staff |
/suspicious |
Players with reports above the suspicious threshold |
/rs alert |
Toggles your own alerts |
/rs report, /rs reports, /rs suspicious |
Shortcuts |
/rs doctor |
Performs health checks |
/rs debug confirm |
Supports redacted reports in plugins/ReportSystem/debug-reports/ |
/rsreload |
Reloads the configuration |
/rsproxy status|reload|doctor|debug confirm |
Supports BungeeCord or Velocity |
Tab complete reasons by single word (e.g. cheating_hacking, griefing) and by number. Sponge specific: /report <player> <reason>, /reports with close, priority, lowpriority and note, /suspicious, /rs and /rsreload
Permissions
| Node | Covers | Default |
|---|---|---|
reportsystem.report |
Permissions for use of /report |
everyone |
reportsystem.report.staff |
Staff tab in /report |
everyone |
reportsystem.moderate |
All moderation commands and the reports queue | op |
reportsystem.moderate.close, .priority, .notes, .notebook, .staffreports |
Sub-commands of above | op |
reportsystem.suspicious |
Suspicious view | op |
reportsystem.advanced, .advanced.timeout, .advanced.block |
Timeouts, blocks and user management | op |
reportsystem.alerts |
Enables receiving of report alerts | op |
reportsystem.staff |
Treated as staff in the picker if LuckPerms isn't used | op |
reportsystem.report.exempt |
Cannot be reported | nobody |
reportsystem.punishment.exempt |
Cannot be timed out or blocked | nobody |
reportsystem.reload, .doctor, .debug, .updates |
Admin | op |
reportsystem.* |
All permissions | op |
Network config example
multi-platform:
instance-name: "Survival-1" # unique per server
platform: auto
database:
type: mysql
mysql:
host: "127.0.0.1"
port: 3306
database: "reportsystem"
username: "reportsystem"
password: "change-me"
pool-size: 5
ssl-mode: PREFERRED # REQUIRED or VERIFY_CA if MySQL is on another machine
redis:
enabled: true
host: "127.0.0.1"
port: 6379
password: ""
ssl: false # true if Redis is on another machine
channel: "reportsystem-sync"










