File Details
performance-analyzer-2.0.0.jar
- R
- Dec 18, 2025
- 13.19 MB
- 13
- 1.21.10+10
File Name
performance-analyzer-2.0.0.jar
Supported Versions
- 1.21.10
- 1.21.9
- 1.21.8
- 1.21.7
- 1.21.6
- 1.21.5
- 1.21.4
- 1.21.3
- 1.21.2
- 1.21.1
- 1.21
## Changelog
### v2.0.0 (18.12.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 `/perfdrops` reports
- 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_worlds` and `anticheat.restricted_world_ores`
- Logs to database with type `anticheat_restricted_zone`
**Critical Bugfixes**:
- ✅ Fixed missing imports in `PerformanceAnalyzer.java` (Player, UUID)
- ✅ Fixed MySQL incompatibility - `AUTOINCREMENT` vs `AUTO_INCREMENT`
- ✅ Fixed MySQL datetime syntax - All time-based queries now work with MySQL
- `getRecentMspt()` - Fixed
- `getAverageByType()` - Fixed
- `countPerformanceSpikes()` - Fixed
- `cleanOldData()` - 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_analysis` with `player_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 impact
- `LagAnalysisGUI` - GUI page for lag source inspection
- `PerformanceDropsGUI` - GUI page for drop history browsing

