PerformanceAnalyzer
PerformanceAnalyzer is a lightweight monitoring and analysis plugin for Paper/Spigot 1.21+ servers.
It helps you track MSPT, TPS, memory usage, packet load, and mining behavior so you can quickly find lag sources and spot suspicious activity like X-Ray or packet floods.
Key Features
📊 Live Performance Overview
/perfstatus shows live MSPT, TPS, heap usage, online player count, and more.
- Fully configurable thresholds for what counts as “warning” or “critical”.
🕒 Historical Performance Tracking
- Stores performance metrics in a database (SQLite or MySQL).
- Analyze spikes and long-term trends with
/perfhistory.
- Great for finding recurring lag, peak times, and slowdowns after certain events or plugin changes.
🖼️ In-Game Performance GUI
/perfgui opens a clean, in-game GUI with the most important metrics.
- Designed for staff and admins who prefer a visual overview instead of reading console logs.
🔔 Alerts & Notifications
- Configurable alerts for:
- High MSPT
- TPS drops
- High heap usage
- Packet floods / abnormal packet rates
- Alerts can be sent:
- To console / in-game chat
- To a Discord webhook (optional)
🧪 Optional AntiCheat & X-Ray Detection (BETA, disabled by default)
- Analyzes mining behavior and ore statistics for X-Ray-like patterns.
- Highlights players with suspicious ore rates.
- Whitelist support for trusted players and/or permission groups.
- Controlled via
/xrayalerts, /xrayores, and /acwhitelist.
- Designed as a helper/indicator, not a full replacement for dedicated anti-cheat plugins.
🤝 Integrations
- ProtocolLib – more accurate packet analysis when installed.
- spark – complementary profiling information.
- LuckPerms – use groups for whitelists and notifications in AntiCheat/X-Ray features.
Storage & Database
PerformanceAnalyzer supports two storage backends:
SQLite (default)
- Simple and file-based, no extra setup required.
- Ideal for small to medium servers or quick setups.
MySQL
- Better suited for larger servers or multiple instances.
- Useful if you want to analyze data across different machines or tools.
Note: When using MySQL, the MySQL JDBC driver must be installed/provided on the server.
If MySQL is selected but the driver is missing, PerformanceAnalyzer will log a clear error message explaining what to install.
Installation
- Download
performance-analyzer-1.2.2.jar.
- Place the JAR into your server’s
plugins/ folder.
- Start the server once to generate
config.yml and the database structure.
- Open
plugins/PerformanceAnalyzer/config.yml and adjust:
- Database backend:
sqlite or mysql
- Thresholds for MSPT/TPS/memory/packet alerts
- Discord webhook URL (if you want alerts on Discord)
- Optional: enable AntiCheat/X-Ray (
anticheat_enabled: true) if you want to use it
- Restart or reload the server to apply your configuration.
Commands
/perfstatus
Show the current live performance overview (MSPT, TPS, memory, players, etc.).
/perfhistory
View historical performance data from the database.
/perfgui
Open the in-game performance GUI.
/perfreload
Reload the plugin configuration.
/acwhitelist
Manage the AntiCheat/X-Ray whitelist (players who should be ignored by checks).
/xrayalerts
View and manage X-Ray- and AntiCheat-related alerts.
/xrayores
Show ore mining statistics and potentially suspicious patterns.
All commands are permission-based so you can decide exactly who can view or manage what.
Permissions (Examples)
Some example permissions you can assign:
performance.status – use /perfstatus
performance.history – use /perfhistory
performance.gui – use /perfgui
performance.admin – use /perfreload and admin features
performance.anticheat.manage – manage AntiCheat/X-Ray features and whitelists
You can combine these with your existing permission system (e.g. LuckPerms) to create admin, moderator, or support roles.
Use Cases
- Find out when and why your server lags.
- See if lag spikes are caused by:
- plugin changes,
- peak player times,
- heavy redstone farms,
- or specific events.
- Receive Discord alerts when your TPS drops or MSPT spikes.
- Monitor suspicious mining behavior and get an early warning for potential X-Ray users.
Special Thank
to ELITEK3V for testing