OaklineReports | Advanced GUI-Based Reporting System | 1.8 - 1.21.X icon

OaklineReports | Advanced GUI-Based Reporting System | 1.8 - 1.21.X -----

Professional Report Management System



OaklineReports
Professional Report Management System

[​IMG] [​IMG] [​IMG]

OaklineReports is a comprehensive, professional-grade reporting system designed for Minecraft servers of all sizes. Built with multi-version support (1.8-1.21+), this plugin provides an intuitive GUI-based reporting system that allows players to easily report rule-breaking behavior while giving staff powerful tools to manage and respond to reports efficiently.

Whether you're running a small community server or a large network, OaklineReports scales to meet your needs with MySQL database support, BungeeCord cross-server notifications, and extensive customization options.

report.png

reports1.png

claimreport.png

reportactions.png

warnaction.png

muteaction.png

banaction.png

historyselector.png

historyfor.png

historyagainst.png

And more... SpigotMC limits us to 10 images.

Key Features

Player Features

- Simple Reporting System: Easy-to-use GUI interface - just type `/report <player>` and select a reason
- Multiple Report Reasons: Pre-configured reasons including:
- Cheating/Hacking
- Griefing
- Harassment
- Offensive Language
- Exploiting
- Inappropriate Structures
- Other (with custom description)
- Optional Descriptions: Add detailed descriptions to provide context for staff
- Cooldown System: Prevents spam reporting with configurable cooldowns per player/reason combination
- Confirmation System: Review your report before submission to ensure accuracy
- Report History: Players can view their own report history
- Anonymous Reporting: Optional anonymous reporting feature (configurable)

Staff Features

- Comprehensive Report Management GUI: Beautiful, paginated interface to view all pending reports
- Quick Actions: Take immediate action on reports directly from the GUI:
- Ban Players: Configure multiple ban durations (1 hour, 1 day, 1 week, permanent, etc.)
- Mute Players: Configure multiple mute durations
- Warn Players: Issue warnings with custom descriptions
- Resolve Reports: Mark reports as resolved with or without taking action
- Unclaim Reports: Release claimed reports for other staff to handle
- Report Details View: See complete report information including:
- Reporter and reported player names
- Report reason and description
- Timestamp
- Report status (pending, claimed, resolved)
- Claimed by information
- Resolution action taken
- Report Claiming System: Staff can claim reports to prevent duplicate handling
- Report History: View complete history of all reports, including resolved ones
- Staff Notifications: Get notified when new reports are submitted (via chat, action bar, or both)
- Cross-Server Notifications: BungeeCord support for network-wide staff notifications
- Automatic Reminders: Configurable reminders for staff about unresolved reports
- Shift-Click Details: Shift-click on reports in history to see executed commands

Technical Features

- Multi-Version Support: Fully compatible with Minecraft 1.8 through 1.21+ (tested on 1.8.8, 1.12.2, 1.16.5, 1.19.4, 1.21.10)
- Dual Storage Options:
- MySQL (recommended for production): Full database support with automatic table creation and migrations
- Local YAML (great for development): Simple file-based storage that auto-creates if MySQL fails
- BungeeCord Integration:
- Cross-server staff notifications
- Separate BungeeCord plugin included for message forwarding
- Configurable forwarding rules (all servers, specific servers, excluded servers)
- Asynchronous Operations: All database operations run asynchronously to prevent server lag
- Automatic Database Reconnection: Handles MySQL connection drops gracefully
- Extensive Configuration:
- Fully customizable GUI layouts
- Customizable messages and language support
- Configurable report reasons, materials, and lore
- Flexible action commands and durations
- Permission-Based: Granular permission system for fine-grained access control
- Comment Preservation: All config files preserve comments and annotations, even on older versions (1.8.8)
- LuckPerms Support: Full integration with LuckPerms for displaying player rank colors/prefixes

The following are brief overviews for this resource page. Full in-depth plugin documentation can be found here.

Installation

Requirements

- Minecraft Server: Spigot, Paper, or any Spigot-based server
- Minecraft Version: 1.8 - 1.21+ (tested on 1.8.8, 1.12.2, 1.16.5, 1.19.4, 1.21.10)
- Java: Java 8 or higher
- MySQL (optional): For production use (local YAML storage available as fallback)

Basic Installation

1. Download `OaklineReports-1.0.0.jar` from the releases page
2. Place the JAR file in your server's `plugins` folder
3. Start or restart your server
4. The plugin will generate configuration files in `plugins/OaklineReports/`
5. Configure the plugin to your needs (see Configuration section)
6. Reload with `/oaklinereports reload` or restart the server

BungeeCord Setup (Optional)

For cross-server notifications on a BungeeCord network:

1. Download `OaklineReports-Bungee-1.0.0.jar` here
2. Place it in your BungeeCord proxy's `plugins` folder
3. Start or restart your BungeeCord proxy
4. Configure the BungeeCord plugin in `plugins/OaklineReports-Bungee/config.yml`
5. Ensure each Spigot server has BungeeCord enabled in its `config.yml`

Commands

Player Commands

Code (Text):

| Command | Aliases | Description | Permission |
|---------|---------|-------------|------------|
| `/report <player>` | `/r` | Open the report GUI for a specific player | `report.use` |
| `/report <player> <reason>` | `/r` | Quick report with reason (opens GUI) | `report.use` |
 
Staff Commands

Code (Text):

| Command | Aliases | Description | Permission |
|---------|---------|-------------|------------|
| `/reports [page]` | `/rgui` | Open the admin report management GUI | `report.view` |
| `/oaklinereports` | `/oreports`, `/or` | Main plugin command | None |
| `/oaklinereports help` | `/oreports help`, `/or help` | Show help menu | None |
| `/oaklinereports reload` | `/oreports reload`, `/or reload` | Reload plugin configuration | `report.reload` |
| `/oaklinereports history <player>` | `/oreports history`, `/or history` | View report history for a player | `report.view` |
 

Permissions

Player Permissions

Code (Text):

| Permission | Description | Default |
|------------|-------------|---------|
| `report.use` | Allows players to report others | `true` (all players) |
| `report.bypasscooldown` | Bypass report cooldown restrictions | `op` |
 
Staff Permissions

Code (Text):

| Permission | Description | Default |
|------------|-------------|---------|
| `report.view` | View all reports and report history | `op` |
| `report.manage` | Take action on reports (resolve, claim, unclaim) | `op` |
| `report.ban` | Ban reported players | `op` |
| `report.mute` | Mute reported players | `op` |
| `report.warn` | Warn reported players | `op` |
| `report.reload` | Reload plugin configuration | `op` |
 
Permission Examples:
Code (Text):

# Give a player permission to report
/lp user <player> permission set report.use true

# Give a moderator permission to view and manage reports (but not ban)
/lp group moderator permission set report.view true
/lp group moderator permission set report.manage true

# Give an admin full access
/lp group admin permission set report.* true
 

Configuration

OaklineReports uses a modular configuration system with separate files for different aspects:

Main Configuration (`config.yml`)

Located at `plugins/OaklineReports/config.yml`

Report Reasons

Customize the reasons players can select when reporting:

Code (YAML):

reasons
:
  CHEATING
:
    display_name
: "&3Cheating"
    material
: "DIAMOND_SWORD"
    lore
:
     - ""
      - "&7Report player for using"
      - "&7cheats, hacks, or exploits"
      - ""
      - "&2Click &7to start report"
 
Important Notes:
- Reason keys (e.g., `CHEATING`, `GRIEFING`) are used internally - don't change them unless you want to break existing reports
- After adding a new reason, you MUST add it to `reason_slots` in `guis/report_gui.yml`
- `display_name` and `material` can be changed freely
- `lore` is optional

Cooldown Settings

Code (YAML):

cooldown
:
  enabled
: true                     # Enable/disable cooldown system
  duration_seconds
: 300             # Cooldown duration (300 = 5 minutes)
 
The cooldown applies per player/reason combination, meaning a player can report different players or use different reasons without waiting.

Notification Settings

Code (YAML):

notifications
:
  staff
:
    enabled
: true                   # Enable staff notifications
    action_bar
: true               # Show notifications in action bar
    chat
: true                     # Show notifications in chat
    bungeecord
:
      enabled
: false               # Enable cross-server notifications
      server_name
: "lobby"         # Server name for BungeeCord
 
Reminder Settings

Code (YAML):

reminder
:
  enabled
: true                     # Enable automatic reminders
  interval
: 5                       # Interval in minutes between reminders
 
Staff with `report.view` permission will receive reminders about unresolved reports at the configured interval.

Database Settings

Code (YAML):

database
:
  type
: "mysql"                     # "mysql" or "local"
  mysql
:
    host
: "localhost"
    port
: 3306
    database
: "oakline_reports"
    username
: "root"
    password
: "password"
 
Storage Options:
- MySQL: Recommended for production. Automatically creates tables and handles migrations.
- Local: YAML file storage. Automatically used if MySQL connection fails. Files saved to `reports.yml` and `cooldowns.yml`.

Action Commands

Configure the commands executed when staff takes action:

Code (YAML):

actions
:
  ban
:
    times
:
      "1h"
:
        label
: "1 Hour"
        value
: "1h"
        material
: "CLOCK"
  mute
:
    times
:
      "1h"
:
        label
: "1 Hour"
        value
: "1h"
        material
: "CLOCK"
  warn
:
    default_description
: "Report: {reason}"
 
GUI Configuration

All GUI layouts are customizable in the `guis/` folder:

- `report_gui.yml` - Player report GUI
- `reports_gui.yml` - Staff reports list GUI
- `claim_report.yml` - Report claiming GUI
- `report_actions.yml` - Action buttons (ban, mute, warn, resolve, etc.)
- `ban_action.yml` - Ban duration selection GUI
- `mute_action.yml` - Mute duration selection GUI
- `warn_action.yml` - Warning configuration GUI
- `report_history.yml` - Report history GUI
- `report_history_selection.yml` - Report history selection GUI

Each GUI file allows you to customize:
- Titles
- Item materials
- Display names
- Lore text
- Slot positions
- Colors and formatting

Language Configuration

Messages are customizable in the `lang/` folder:

- `en.yml` - English language file (default)

You can:
- Customize all messages
- Change color codes
- Modify placeholders
- Add new languages by creating new files (e.g., `es.yml` for Spanish)

Set the language in `config.yml`:
Code (YAML):

language
: "en"   # Change to "es" to use lang/es.yml
 

GUI Overview

Player Report GUI

When a player types `/report <player>`, they see:
- List of report reasons with custom materials and lore
- Confirmation screen to review their report
- Optional description input
- Final confirmation before submission

Staff Reports GUI

Staff can:
- View all pending reports in a paginated list
- Click on reports to see full details
- Claim reports to prevent duplicate handling
- Take actions: Ban, Mute, Warn, Resolve
- View report history
- See claimed reports and who claimed them

Report Details View

Shows complete information:
- Reporter and reported player names
- Report reason and description
- Timestamp
- Status (pending, claimed, resolved)
- Claimed by information
- Resolution action (if resolved)

BungeeCord Integration

OaklineReports includes a separate BungeeCord plugin for cross-server notifications. It can be downloaded here.

Setup

1. Install `OaklineReports-Bungee-1.0.0.jar` on your BungeeCord proxy
2. Configure each Spigot server's `config.yml`:
Code (YAML):

notifications
:
  staff
:
    bungeecord
:
      enabled
: true
      server_name
: "lobby1"   # Unique name for each server
 
3. Configure the BungeeCord plugin (`plugins/OaklineReports-Bungee/config.yml`):
Code (YAML):

channel
: "oakline:reports"
logging
:
  debug
: false
  log_received
: true
  log_forwarded
: true
forwarding
:
  forward_to_all
: true
  target_servers
: [ ]
  excluded_servers
: [ ]
 
Features

- Cross-Server Notifications: Staff on all servers receive notifications when reports are submitted
- Configurable Forwarding: Forward to all servers, specific servers, or exclude certain servers
- Reminder Notifications: Unresolved report reminders are also forwarded
- Server Identification: Each server can have a unique name for identification

Database Schema

MySQL Tables

The plugin automatically creates the following tables:

reports
- `id` (INT, AUTO_INCREMENT, PRIMARY KEY)
- `reported_player_uuid` (VARCHAR(36))
- `reported_player_name` (VARCHAR(16))
- `reporter_uuid` (VARCHAR(36))
- `reporter_name` (VARCHAR(16))
- `reason` (VARCHAR(50))
- `description` (TEXT)
- `timestamp` (BIGINT)
- `status` (VARCHAR(20)) - 'pending', 'claimed', 'resolved'
- `resolution_action` (VARCHAR(50)) - 'ban', 'mute', 'warn', 'resolved', etc.
- `claimed_by_uuid` (VARCHAR(36))
- `claimed_by_name` (VARCHAR(16))
- `claimed_at` (BIGINT)

cooldowns
- `id` (INT, AUTO_INCREMENT, PRIMARY KEY)
- `reporter_uuid` (VARCHAR(36))
- `reported_player_uuid` (VARCHAR(36))
- `reason` (VARCHAR(50))
- `timestamp` (BIGINT)

Local Storage

When using local storage, data is saved to:
- `plugins/OaklineReports/reports.yml` - All reports
- `plugins/OaklineReports/cooldowns.yml` - Cooldown data

Advanced Features

Full LuckPerms Support

Anonymous Reporting

Enable anonymous reporting in `config.yml`:

Code (YAML):

anonymous
:
  enabled
: true
  display_name
: "&7Anonymous"
 
When enabled, players can choose to submit reports anonymously. Staff will see "Anonymous" instead of the reporter's name.

Auto-Resolve on Action

Automatically resolve reports when staff takes action:

Code (YAML):

reports
:
  auto_resolve_on_action
: true
 
When enabled, reports are automatically marked as resolved when staff bans, mutes, or warns a player.

Report History

Staff can view complete report history:
- All reports (pending, claimed, resolved)
- Filter by player
- See executed commands (shift-click on reports)
- View resolution actions

Custom Action Commands

Configure custom commands for ban, mute, and warn actions. The plugin supports:
- Placeholders: `{player}`, `{reason}`, `{time}`, `{description}`
- Multiple duration options
- Custom command formats

Performance

- Asynchronous Operations: All database operations run asynchronously
- Efficient Caching: In-memory caching for frequently accessed data
- Optimized Queries: Efficient database queries with proper indexing
- Minimal Server Impact: Designed to have minimal impact on server performance

Updates & Compatibility

Version Support

- Minecraft: 1.8 - 1.21+
- Tested Versions: 1.8.8, 1.12.2, 1.16.5, 1.19.4, 1.21.10
- Java: 8+
- Server Software: Spigot, Paper, and all Spigot-based servers

Multi-Version Features

- Automatic material compatibility (handles 1.8-1.12 vs 1.13+ material names)
- Cross-version GUI compatibility
- Legacy API support (works with `api-version: 1.8` setting)
- Paper Commodore remapping support

Troubleshooting

Common Issues

Reports not saving:
- Check database connection (if using MySQL)
- Check file permissions (if using local storage)
- Check server logs for errors

GUI not opening:
- Ensure you have the correct permission (`report.use` for players, `report.view` for staff)
- Check server logs for errors
- Try reloading the plugin: `/oaklinereports reload`

BungeeCord notifications not working:
- Ensure BungeeCord plugin is installed on proxy
- Check that `bungeecord.enabled: true` in Spigot server config
- Verify server names are unique and match BungeeCord server names
- Check BungeeCord plugin logs

Config file missing comments:
- This is a known issue on 1.8.8 - the plugin automatically detects and regenerates corrupted config files
- Delete the config file and let the plugin regenerate it
- Ensure you're using the latest version

Troubleshooting

If you encounter issues check out our troubleshooting guide on the wiki!

Support:

1. First - Check this post to make sure your issue has not already been addressed on the discussions page
2. Issues or Questions - Report bugs using the issues feature on our GitHub repository
3. Requesting Changes - Please also use the issues feature on our GitHub repository to request changes
4. Updates - Check the resource page for the latest version

License

This plugin is proprietary software. All rights reserved.

Credits

Developed by: NootherG

Special Thanks:
- The Minecraft community for feedback and testing
- SpigotMC for the excellent API
- PaperMC for version compatibility improvements

Reviews & Feedback

We appreciate all feedback! If you enjoy using OaklineReports, please consider leaving a review and rating. Your feedback helps us improve the plugin and helps other server owners make informed decisions.

Thank you for choosing OaklineReports!

Disclaimer: You do not have permission to decompile, edit, or redistribute this resource. You may request changes via discussion threads. This plugin is meant to be used as an aid to detect players using X-Ray and not as a definite punishment system; always review flags to confirm the accusations of cheating before punishing players.

Resource page last updated for OaklineReports Version 1.1.0
Resource Information
Author:
----------
Total Downloads: 3
First Release: Dec 8, 2025
Last Update: Yesterday at 12:21 AM
Category: ---------------
All-Time Rating:
0 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings