Tags
Creators
Details
2.0.0
Compatibility
Changes
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
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:xcpph8Xo:ABsRWBw8"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:xcpph8Xo:ABsRWBw8"
}

