Content generated with AI — it may contain mistakes.

Modules

Staff admin

The panel that investigates the team: who is on duty, the team board, the audit of every command, flags, notes, coverage and the module switches.

/staffadmin, or /sadmin, with exyliastaff.admin.panel, opens a hub. Everything behind it is read from what the other modules recorded, so a module switched off still shows its history. The one thing the panel changes is a staff member's file: notes and strikes.

Module id staffadmin, switch modules.staff-admin, files under modules/staffadmin/.

The hub

TileOpens
Staff onlineEvery open session on the network, then the staff online here without one. Left click a row for the profile, right click to teleport, shift left to follow.
TeamThe team board.
AuditEvery recorded row in the window, network wide.
FlaggedOnly the flagged ones.
InvestigateAsks for a name and opens that member's file.
CoverageWho is on duty when, by weekday and three-hour block.
ModulesThe sixteen switches.
WindowCycles the period the panel looks at: 1, 7, 30 or 90 days.

/staffadmin online, team, audit, coverage and modules skip the click, and /staffadmin <player> opens a file directly.

The audit

Three kinds of rows land in staff_audit:

  • Actions the modules announce: a freeze, an inspection, a resolved report, a punishment.
  • Commands run by anyone holding exyliastaff.staff, with the full line, when log-commands is on and the command is not in ignored-commands.
  • Items dropped, picked up or taken out of a container by somebody in staff mode, when log-items is on.

Rows older than keep-days are deleted once a day. The feed reads the latest feed-limit rows.

Flags

A command row is flagged by its first word. A flag is not an accusation; it is a line worth a look.

FlagWhenWeight
self_giveA give-commands command whose item went to the sender, or to @s, or to no player name25
giveAny other give-commands command8
creativeA gamemode-commands command that sets creative: gmc, or an argument of creative, c or 110
revokeA revoke-commands command12
itemAn item row6
sensitiveA sensitive-commands command3

The weights add up to a member's risk over the window.

The team board

One row per staff member with anything recorded in the window, sorted by active time; the order button cycles to risk, response time, punishments and quota. Each row shows active and total time with the AFK share, the quota reached against quota-hours-week, reports and helpops handled with the average response time, punishments with their average severity from punishment-severity, and how many punishments they revoked. A member with a risk above zero is marked.

A member's file

Status, last time on duty, first seen; time on duty, work done, punishments issued; a Review tile with the flag counts, the Audit of their rows, Notes, Inventory if they are online and the inspect module runs, Follow and Teleport.

Follow puts you in spectator view behind them, which needs the staff mode module and you in staff mode; if they are on another server it teleports you there instead.

Notes and strikes are written from a chat prompt and kept with the author's name and the date; shift right click removes one. Both need exyliastaff.admin.notes. Notes are never purged.

Coverage

Seven weekday rows, eight three-hour blocks each, and in each block the average number of staff on duty over the window, drawn as a bar: green from 1.5, yellow from 0.5, red below. The Thinnest cover tile names the weakest block of the week. Times are the server's zone.

Modules

One entry per module, enabled, disabled or failed. Clicking switches it, with exyliastaff.admin.modules, and re-registers the commands so the server matches the module set. The panel's own module cannot be switched off from here, and a failed module needs a restart.

Configuration

plugins/ExyliaStaff/modules/staffadmin/config.yml
keep-days: 90
log-commands: true
log-items: true
quota-hours-week: 10
default-days: 7
feed-limit: 500
ignored-commands:
  - staffadmin
  - es
  - exyliastaff
  - msg
  - r
  - tell
  - helpop
  - report
  - list
  - spawn
give-commands:
  - give
  - i
  - item
gamemode-commands:
  - gamemode
  - gm
  - gmc
revoke-commands:
  - unban
  - pardon
  - unmute
  - untempban
  - unpunish
  - revoke
sensitive-commands:
  - op
  - deop
  - ban
  - tempban
  - mute
  - kick
  - clear
  - setblock
  - fill
  - effect
  - enchant
flag-weights:
  self_give: 25
  give: 8
  creative: 10
  revoke: 12
  item: 6
  sensitive: 3
punishment-severity:
  WARN: 1
  MUTE: 2
  KICK: 2
  TEMPBAN: 4
  BAN: 6

Messages

modules/staffadmin/messages.yml: never-played, no-data with %days%, search-prompt, note-prompt, note-added with %target%, note-removed, follow-offline, follow-started, follow-needs-staffmode, module-toggled with %module% and %state%, module-locked, no-flag, flag-line with %flag% and %count%.

Storage

staff_audit for the rows, staff_notes for the notes. The board and the file also read staff_log_sessions, staff_punishments, staff_reports and staff_helpop.

Something missing on this page? Tell us on Discord