Skip to content

StaffHub Guide

StaffHub is a simple staff moderation plugin for Purpur/Paper servers. It stores reports, warnings, notes, kicks, bans, and audit logs in SQLite, and includes a built-in staff website.

Install

  1. Put staff-hub-1.0.0.jar into your server's plugins folder.
  2. Restart the Minecraft server.
  3. StaffHub will create its config and database automatically.

The database is stored locally in:

plugins/staff-hub/moderation.db

Website Setup

By default, the website uses:

web:
  host: "127.0.0.1"
  port: 8088
  public-url: "http://127.0.0.1:8088"

For a public panel, change it to something like:

web:
  host: "0.0.0.0"
  port: 8088
  public-url: "http://YOUR_SERVER_IP:8088"

If you use server Panel, make sure port 8088 is added/opened as an extra allocation. If your panel gives you a different external port, use that in public-url.

After config changes, restart the server or run:

/staffhub reload

Staff Login

Staff log into the website with a one-time code.

In-game, run:

/staffpanel login

Open the website URL, enter the code, and log in. Codes are single-use and expire quickly.

If login acts weird, visit:

/logout

or open:

http://YOUR_SERVER_IP:8088/logout

Then generate a new code.

Main Commands

/report <player> <reason>
/warn <player> <reason>
/warnings <player>
/staffnote add <player> <note>
/staffnote view <player>
/staffpanel login
/kick <player> <reason>
/ban <player> <reason>
/staffhub reload

StaffHub also supports:

/staffhub kick <player> <reason>
/staffhub ban <player> <reason>

Permissions

Common permission nodes:

staffhub.report
staffhub.staff
staffhub.warn
staffhub.warnings.view
staffhub.note.add
staffhub.note.view
staffhub.report.manage
staffhub.punish.kick
staffhub.punish.ban
staffhub.audit.view
staffhub.admin

Give staff staffhub.staff so they can use the web dashboard login.

Custom Messages

Most messages can be edited in config.yml under:

messages:

This includes report messages, warning messages, kick messages, ban messages, web login messages, and permission errors.

Useful placeholders include:

{id}
{target}
{staff}
{reason}
{url}
{code}
{count}
{permission}

For example, the ban screen can be customized with:

messages:
  ban-screen: "You were banned.\n\nReason: {reason}\nStaff: {staff}"

Staff Broadcasts

Reports are sent to online staff with permission.

Warnings, kicks, and bans can also be broadcast to staff by enabling:

punishments:
  broadcast-staff-actions: true

HTTPS Note

If you access the panel using plain HTTP, keep:

web:
  secure-cookie: false

Only set it to true if your panel is behind HTTPS, such as Cloudflare, Caddy, or nginx:

web:
  secure-cookie: true

Troubleshooting

  • Website does not load: check the web port is open in your panel/firewall.
  • Login does not stick: if using HTTP, make sure secure-cookie is false.
  • Dashboard shows an error: check the server console for Web request failed.
  • Existing config missing new messages: copy the latest messages: section from the jar/default config, or regenerate the config after backing up changes.