
PerfomanceAnalyzer
PerformanceAnalyzer gives you clear visibility into how your server is performing live and over time. With database-backed statistics, an in-game GUI, optional Discord alerts, and a helper-level AntiCheat/X-Ray module, it’s a handy toolkit for anyone.
Список изменений
v2.0.0 (18.02.2025) - Major Release
Why Version 2.0? This release fundamentally transforms PerformanceAnalyzer from a simple monitoring tool into an intelligent lag diagnosis system. With 4 new classes, a completely redesigned GUI, and groundbreaking lag source detection, this is more than just new features—it's a new generation of the plugin.
Major New Features:
-
🎯 Lag Source Detection - Automatically identifies what's causing lag
- Player Activity Tracking - Monitors player actions (blocks, movements, commands, interactions)
- Plugin Performance Analysis - Identifies suspect plugins by event listeners and task count
- Integrated with Performance Drops - Lag sources are shown in
/perfdropsreports - Shows top 5 most active players during performance drops
- Shows top 5 suspect plugins with risk scores
- Weighted activity scoring (breaking blocks = higher weight than walking)
- Detects "heavy" plugins (WorldEdit, FAWE, CoreProtect, etc.)
-
🚨 Restricted World Zones - Instant alerts for specific worlds
- Configure worlds as "restricted zones" for mining monitoring
- Option to monitor specific ores or all ores in restricted worlds
- Instant alerts when players mine ores in restricted zones (no threshold needed)
- Perfect for protecting areas or catching suspicious behavior
- New config:
anticheat.restricted_worldsandanticheat.restricted_world_ores - Logs to database with type
anticheat_restricted_zone
Critical Bugfixes:
- ✅ Fixed missing imports in
PerformanceAnalyzer.java(Player, UUID) - ✅ Fixed MySQL incompatibility -
AUTOINCREMENTvsAUTO_INCREMENT - ✅ Fixed MySQL datetime syntax - All time-based queries now work with MySQL
getRecentMspt()- FixedgetAverageByType()- FixedcountPerformanceSpikes()- FixedcleanOldData()- Fixed
- ✅ Plugin now fully compatible with both SQLite AND MySQL
Improvements:
- 🔧 Configurable Performance Thresholds - All lag detection thresholds are now customizable
- Chunk thresholds: tile entities, redstone, entities (warning/critical)
- World health thresholds: entity warning/critical levels
- Plugin risk score interpretation: low/medium/high boundaries
- Prevents false positives on servers with different hardware
- Config includes recommendations for standard/powerful/weak servers
- Allows fine-tuning based on your specific server needs
- Movement detection now properly distinguishes between walking and sprinting
- XRay detector properly handles ore blocks (not items)
- Better null-safety in configuration migration
- Improved performance drop reports with lag source attribution
- Version compatibility updated: Paper 1.21.x (all 1.21 versions)
🔥 Performance Optimizations:
- Movement Sampling - PlayerMove events only processed every 10th occurrence or >2 blocks distance (~90% reduction)
- Chunk Analysis Timeout - Configurable timeout (default 5s) prevents long-running chunk scans
- Self-Monitoring - Plugin measures and warns about its own performance impact
- Config Options - All lag analysis features can be disabled independently
- Memory Cleanup - Automatic cleanup on player quit prevents memory leaks
- New Config Section:
lag_analysiswithplayer_tracking,plugin_analysis,chunk_analysis_timeout_ms
🎨 GUI Improvements:
- 🆕 Lag-Analyse GUI Page - Interactive page showing active players and suspect plugins
- Top 5 most active players with detailed breakdown
- Top 5 suspect plugins with risk scores
- Refresh and clear data buttons
- Config-aware (shows warnings if features disabled)
- 🆕 Performance Drops GUI Page - Browse and click drops for detailed reports
- Visual list of 21 recent drops
- Color-coded by severity (Red/Orange/Yellow)
- Click any drop for full report in chat
- Shows lag source previews
- Expanded Main GUI - Now 2 rows of features instead of 1
- Database Info button
- World Stats quick-link
- Better organization
- Multi-page Navigation - Consistent back buttons between pages
New Classes:
PlayerActivityTracker- Monitors player actions in real-time (with sampling)PluginTimingsAnalyzer- Analyzes plugin performance impactLagAnalysisGUI- GUI page for lag source inspectionPerformanceDropsGUI- GUI page for drop history browsing
