Staff Stats is a powerful Minecraft plugin that monitors and records everything your staff members do — from bans and mutes to active time spent working. It filters out AFK time, supports multiple servers, and gives you clean daily, weekly, monthly, and lifetime breakdowns.
Features
- Staff Activity Tracking - Only tracks players with the
Commands
Stats Command Usage
/sstaff stats <server|all-server> <staffname|all-staff> <daily|weekly|monthly|lifetime>
Examples:
Permissions
Storage Options
Local Storage (Default)
Data is saved as a JSON file at
MySQL Storage
For multi-server networks or when you want database reliability:
1. Set
2. Fill in your MySQL connection details
3. Restart the server — tables are created automatically
Multi-Server Setup
To sync staff stats across multiple servers:
Requirements
Web API
Expose your staff statistics as JSON for your website or external tools.
PlaceholderAPI
Staff Stats registers placeholders when PlaceholderAPI is installed. Use these in scoreboards, holograms, tab lists, or any plugin that supports PlaceholderAPI.
Available Placeholders
Leaderboard Placeholders
Support
For issues, feature requests, or questions, contact soulessstudio.
GUI EXAMPLES
Features
- Staff Activity Tracking - Only tracks players with the
staffstats.staff permission- AFK Detection - Ignores idle time only counts real active work time
- All Punishment Types - Bans, temp-bans, mutes, temp-mutes, warns, temp-warns, kicks, unbans, IP-based punishments, and more
- Time Period Breakdown - View stats as daily, weekly, monthly, or lifetime
- Multi-Server Support - Sync data across your network using Redis + MySQL
- In-Game GUI - Browse staff stats visually with player heads and filters
- Web API - Expose stats as JSON for your website
- PlaceholderAPI - Create leaderboards, scoreboards, and holograms
- LiteBans & Compatible - Hooks directly into popular punishment plugins
- Hex Color Support - Full
&#RRGGBBhex color codes in all messages - Fully Customizable - Every message, GUI element, and behavior is configurable
- Folia Compatible - Works on Folia's regionized threading model
- Optimized - Async I/O, in-memory caching, batched writes
Commands
| Command | Description |
| /sstaff | Opens the Staff Stats GUI |
| /sstaff help | Shows the help menu |
| /sstaff list | Lists all tracked staff members (online/offline status) |
| /sstaff stats <server> <staff> <period> | View detailed stats with filters |
| /sstaff reload | Reloads all configuration files |
Stats Command Usage
/sstaff stats <server|all-server> <staffname|all-staff> <daily|weekly|monthly|lifetime>
Examples:
/sstaff stats survival Steve daily— Steve's daily stats on the survival server/sstaff stats all-server Steve weekly— Steve's weekly stats across all servers/sstaff stats survival all-staff monthly— All staff combined on survival this month/sstaff stats all-server all-staff lifetime— Everyone's lifetime stats everywhere
Permissions
| Permission | Description | Default |
| staffstats.staff | Marks a player as staff (their actions get tracked) | OP |
| staffstats.use | Allows using /sstaff, /sstaff list, and /sstaff stats | OP |
| staffstats.admin | Allows using `/sstaff reload | OP |
Storage Options
Local Storage (Default)
Data is saved as a JSON file at
plugins/StaffStats/data.json. The plugin:- Auto-saves at your configured interval (default: every 5 minutes)
- Creates backups in
plugins/StaffStats/backups/ - Keeps up to 5 backup files (configurable)
- Saves all data on server shutdown
- Recovers from corrupted files using backups
MySQL Storage
For multi-server networks or when you want database reliability:
1. Set
storage.type to "mysql" in config.yml2. Fill in your MySQL connection details
3. Restart the server — tables are created automatically
Multi-Server Setup
To sync staff stats across multiple servers:
Requirements
- MySQL storage enabled on all servers
- Redis server accessible from all servers
Web API
Expose your staff statistics as JSON for your website or external tools.
PlaceholderAPI
Staff Stats registers placeholders when PlaceholderAPI is installed. Use these in scoreboards, holograms, tab lists, or any plugin that supports PlaceholderAPI.
Available Placeholders
| Placeholder | Returns |
| %staffstats_active_time_<player>_<period>% | Active time (e.g., "2h 35m") |
| %staffstats_total_<player>_<period>% | Total punishment count |
| %staffstats_ban_<player>_<period>% | Ban count |
| %staffstats_mute_<player>_<period>% | Mute count |
| %staffstats_warn_<player>_<period>% | Warn count |
| %staffstats_kick_<player>_<period>% | Kick count |
Leaderboard Placeholders
| Placeholder | Returns |
| %staffstats_top_time_<position>_<period>% | Staff name at position (by active time) |
| %staffstats_top_time_value_<position>_<period>% | Active time value at position |
| %staffstats_top_actions_<position>_<period>% | Staff name at position (by total actions) |
| %staffstats_top_actions_value_<position>_<period>% | Action count at position |
Support
For issues, feature requests, or questions, contact soulessstudio.
GUI EXAMPLES
