Перейти к содержимому
Mineforgian

LessLagg

Async performance guardian plugin

Загрузки
141
Подписчики
0
Обновлён
6 апреля 2026 г.
Лицензия
GPL-3.0-or-later

Опубликован 11 февраля 2026 г.

LessLag

Server performance guardian for Paper/Spigot (1.20.4+) with Folia support.

LessLag is built for production servers that need stable TPS without disruptive “wipe everything” behavior. It focuses on three things:

  • Detect lag early
  • Explain what is causing it
  • Apply safe, configurable mitigation

Why use LessLag?

  • Actionable diagnostics, not guesswork
  • Adaptive responses based on live server pressure
  • Modular controls for entities, redstone, AI, chunks, memory, and farms
  • Low overhead: workload budgeting + on-demand deep metrics

Highlights

  • /lg status dashboard with health score, MSPT percentiles (P50, P95, P99), uptime, queue status, and spike counters
  • /lg tickmonitor diagnostics with MSPT distribution + avg/min/max
  • Lag source analysis via /lg sources and /lg trace to identify hotspots and likely culprits
  • Entity management with protections for named/tamed/NPC entities
  • Redstone safeguards (activation limits, clock detection, piston pressure control)
  • Mob AI optimization (frustum/distance-based)
  • Farm optimizations (villager optimizer, breeding limiter, density optimizer)
  • Predictive optimization from MSPT trend analysis

What makes it practical in production?

  • Operator-focused workflows for daily checks and incident response
  • Targeted mitigation before emergency-wide cleanup
  • Farm-aware controls for villager halls and high-density breeding setups
  • Low-overhead telemetry model (on-demand deep stats + workload budgeting)

Useful Commands

  • /lg status — live performance dashboard
  • /lg health — health report and context
  • /lg tickmonitor — tick/MSPT distribution diagnostics
  • /lg sources — lag source analysis
  • /lg trace — runtime bottleneck summary
  • /lg density — density optimizer limits + suppression stats
  • /lg breeding — breeding limiter blocked-event stats
  • /lg reload — reload config/messages without restart

Quick Operations Workflow

  1. Baseline with /lg status and /lg health
  2. During spikes, run /lg tickmonitor + /lg trace
  3. Use /lg sources to identify likely hotspots
  4. Mitigate minimally (/lg clear hostile, /lg ai disable) only when needed
  5. Tune one module group, then /lg reload
  6. Validate recovery through MSPT percentile and spike trend improvements

Tuning by server style

  • SMP: keep balanced defaults, tune entities/chunks gradually
  • Farm-heavy/Skyblock: prioritize density + breeding + villager modules
  • Lobby/Minigame: emphasize chunks/world-guard and notifications

Permissions

  • lesslag.admin — full command access
  • lesslag.notify — receive performance alerts
  • lesslag.setup — setup advisor access

Compatibility

  • Paper/Spigot 1.20.4+
  • Folia supported
  • Compatibility toggles for common optimization plugin stacks

Install

  1. Put LessLag.jar in your /plugins folder
  2. Restart the server
  3. Configure plugins/LessLag/config.yml
  4. Run /lg status and /lg setup to verify baseline

Links

If you report an issue, include your server version, plugin list, and output from /lg status, /lg tickmonitor, and /lg trace.

Ченджлог

1.5-SNAPSHOTРелиз1.21.9, 1.21.10, 1.21.11 · 6 апреля 2026 г.

May be the last version

1.5-SNAPSHOTРелиз1.21.9, 1.21.10, 1.21.11 · 15 марта 2026 г.
1.5-SNAPSHOTРелиз1.21.9, 1.21.10, 1.21.11 · 3 марта 2026 г.

feat: improve bottleneck analyzer and optimize villager AI management; enhance API with rate limiting and tests feat: add plugin state checks to prevent task execution during disable; improve error handling in SchedulerAdapter

1.5-SNAPSHOTРелиз1.21.9, 1.21.10, 1.21.11 · 3 марта 2026 г.

See full changelog in github because there is so many changes, improvement and new features that i cannot specific all of them here

1.2Релиз1.21.9, 1.21.10, 1.21.11 · 13 февраля 2026 г.

LessLag v1.2 Release Notes New Features Asynchronous Workload Distribution: Implemented WorkloadDistributor to handle heavy bulk operations (such as clearing thousands of entities) across multiple ticks, preventing main thread freezes.

Incremental Analysis: Refactored LagSourceAnalyzer to use IncrementalSnapshotBuilder, spreading snapshot collection over time to reduce analysis overhead.

Localization Support: Externalized all hardcoded messages to messages.yml, allowing for full language customization.

Pufferfish Hybrid Mode: Added support for Pufferfish Hybrid Mode in CompatibilityManager.

New Actions: Added notify-admin and reduce-view-distance to the available action list in ActionExecutor.

Configurable Budget: Added configuration options for the workload distributor's per-tick time budget.

Performance Improvements Frustum Culling Optimization: Refactored FrustumCuller algorithm to O(m) complexity using player-centric iteration for faster processing.

Concurrency: Increased the asynchronous thread pool size from 2 to 4 to better handle concurrent monitoring tasks.

Optimized Entity Checks: Improved enforceEntityLimits performance by refactoring distance calculations and map lookups.

Bug Fixes Memory Leaks:

Fixed a task leak in RedstoneMonitor where scheduled tasks were not properly cancelled on reload.

Fixed potential memory leaks by ensuring LessLag instance references are nullified on disable.

Thread Safety:

Resolved race conditions in ActionExecutor by switching from World objects to UUID as map keys during async analysis.

Added verification for thread safety in monitor cleanup routines.

Configuration & Logic:

Fixed ThresholdConfig incorrectly reading from the root thresholds path instead of automation.thresholds.

Fixed WorldChunkGuard interval calculation causing unit errors (seconds vs. ticks).

Fixed TPSMonitor threshold logic to prevent "sticky" states where actions would not de-escalate properly.

Fixed duplicate per-chunk-limit keys in the default configuration.

Fixed ActionExecutor entity limit enforcement to correctly interpret category keys (monster, animal, etc.).

Compatibility:

Fixed CompatibilityManager logic to avoid false positives when detecting Pufferfish/DAB.

Prevented RedstoneMonitor from forcefully disabling when ClearLag is detected (changed to warning only).

Refactoring Refactored LagSourceAnalyzer to fix chunk load rate calculation bugs.

Added shutdown() method to WorkloadDistributor to ensure clean termination of pending tasks.

General code cleanup and linting fixes across the codebase.

1.1Релиз1.21.9, 1.21.10, 1.21.11 · 12 февраля 2026 г.
  1. RedstoneMonitor Optimization: Replaced expensive string key generation with a custom ChunkKey and bit-shifting for coordinate access.
  2. Threshold Logic Fix: Corrected the severity calculation where high TPS was incorrectly flagged as severe.
  3. ActionExecutor Optimization:
    • Deduplicated action execution.
    • Optimized disableMobAI using a chunk-based "near player" check instead of O(N*M) distance checks.
    • Switched to getEntitiesByClass for faster entity filtering.
  4. Monitor Optimization: Cached configuration values (whitelists, protected types) and JMX beans in FrustumCuller, ChunkLimiter, MemoryLeakDetector, and GCMonitor to avoid repetitive overhead.
  5. Refactoring: Cleaned up LessLag.java by extracting monitor lifecycle management, eliminating code duplication in reloadPlugin.
  6. Audit Logging: Added console logging for sensitive administrative commands.
  7. Testing: Added unit tests for threshold logic and report formatting. And more....
1.0Релиз1.21.9, 1.21.10, 1.21.11 · 11 февраля 2026 г.

First release

Комментарии

Загружаем…