HomeJavaModsAutomatic Lag Detective
Automatic Lag Detective
ModsJava

Automatic Lag Detective

The automatic performance investigator for your Minecraft server

⬇ Download on Spigot
Automatic Lag Detective (ALD)
The automatic performance investigator for your Minecraft server


Paper 1.21.11Java 21No dependencies required


What is Automatic Lag Detective?

Automatic Lag Detective (ALD) is not another TPS meter. It doesn't just tell you "the server is lagging" — it acts like an automatic investigator that watches your server 24/7, notices when something goes wrong, reconstructs what happened, and tells you why it happened in plain English, with real evidence to back it up.

When performance drops, ALD will:


If ALD isn't confident enough in a diagnosis, it will honestly tell you "Root Cause: Unknown" instead of making something up. It never invents evidence.


⚙️ Requirements


Note: ALD is built specifically for Paper's API. It will not work on vanilla, Fabric, Forge or Bukkit/Spigot-only servers.


Installation

  1. Stop your server.
  2. Drop AutomaticLagDetective.jar into your /plugins folder.
  3. Start your server. A config.yml will be generated automatically inside /plugins/AutomaticLagDetective/.
  4. (Optional) Edit config.yml to your liking, then run /ald reload — no restart needed.

That's it. ALD starts learning your server's normal performance behavior immediately and needs no further setup to work.

Important: ALD needs a little time after startup to learn what "normal" looks like on your specific server (this is called the baseline). During the first few minutes after installation, some detections may be less accurate simply because it hasn't finished learning yet. This is expected and resolves itself automatically.


️ Commands

The base command is /ald. Running it with no arguments (as a player) opens the graphical dashboard.

Command Description
/ald Opens the graphical administration dashboard (players only)
/ald status Shows a quick overall health snapshot: TPS, MSPT, heap usage, entity count, active incident
/ald diagnose Runs an on-demand diagnosis using the current live metrics, even if no incident is currently active
/ald incidents Lists the currently active incident (if any) and the most recent resolved ones
/ald incident <id> Shows the full detail of a specific incident: evidence, timeline, affected chunks/players, recommendations
/ald chunks Lists the busiest chunks currently being tracked, ranked by activity score
/ald chunk <world> <x> <z> Shows detailed activity data for one specific chunk (entities, hoppers, redstone events, etc.)
/ald player <name> Shows recent tracked actions for a player (block placements, chunk movement) relevant to performance correlation
/ald plugins Lists installed plugins and the current approximate scheduler load
/ald reload Reloads config.yml and restarts internal tasks without needing a server restart
/ald debug Toggles verbose internal debug logging (useful when reporting an issue)
/ald gui Opens the graphical administration dashboard directly


All commands support tab-completion, including live suggestions for online player names, world names and incident IDs.


Permissions

By default, all permissions are granted to server operators (OP) only. Give these to trusted staff via your permissions plugin (LuckPerms, PermissionsEx, etc.) as needed.

Permission Grants access to
ald.admin Grants every permission below at once
ald.use Base access to the /ald command
ald.status /ald status
ald.diagnose /ald diagnose
ald.incidents /ald incidents and /ald incident <id>
ald.chunks /ald chunks and /ald chunk <world> <x> <z>
ald.player /ald player <name>
ald.plugins /ald plugins
ald.reload /ald reload
ald.debug /ald debug
ald.gui Opening the graphical dashboard
ald.alerts Receiving automatic in-chat alerts when an incident or a degrading trend is detected



️ Using the Dashboard (GUI)

Run /ald or /ald gui to open the dashboard. It's organized into a few screens:


The GUI is read-only and completely safe to open on a live server — it never modifies gameplay, blocks, or items.


Automatic Alerts

Players/console with the ald.alerts permission automatically receive a chat message when:


Alerts are throttled by a cooldown (configurable, default 60 seconds) so you won't get spammed during a prolonged incident.


How an Incident is Investigated

  1. Detected — MSPT or TPS crosses a warning threshold
  2. Investigating — ALD starts actively collecting evidence and correlating events
  3. Diagnosed — one or more root causes are identified, each with its own confidence score and supporting evidence
  4. Recovering — performance has returned to normal, ALD is confirming it's stable before closing the case
  5. Resolved — the incident is closed, a full report is saved to disk, and it appears in your incident history

ALD can identify multiple simultaneous causes for the same incident (for example: 43% villager pathfinding, 27% plugin task pressure, 18% chunk loading, 8% GC pressure) rather than forcing everything into a single explanation.



Root Cause Categories

ALD's diagnostic engine checks for the following categories of problems. It only reports a category if it actually finds meaningful evidence for it:



About Player Correlation

ALD may sometimes note that a player's recent actions (e.g. placing 40 hoppers, or exploring into a new area) correlate with a performance change that followed shortly after. This is presented as evidence, not an accusation — ALD uses neutral language like "Related activity detected" and never states that a player definitively caused an incident. Use this information as a starting point for your own investigation, not as a verdict.


Baseline Learning (Why numbers may look different from another server)

ALD does not use the same fixed limits for every server. It learns what's normal for your specific server over time — a large modded server with 10,000 entities and dozens of players is not automatically flagged as unhealthy just because a small vanilla server would be. Detections become more accurate the longer ALD runs, as it builds a better picture of your server's normal behavior.


️ Configuration Overview (config.yml)

The configuration file is extensively commented and organized into clear sections. After any change, run /ald reload to apply it — no restart required. Here's what each section controls:


Tip: If you're unsure what to change, leave the config as-is — the defaults are tuned to work well on most servers out of the box.


Incident Reports on Disk

When storage is enabled (default), every resolved incident is saved as a readable YAML report inside:

Code (Text):
/plugins/AutomaticLagDetective/incidents/
Each file contains the full diagnosis, evidence, timeline and recommendations for that incident, so you can review past lag spikes even after a server restart.


⚡ Performance Impact

ALD is designed to never become a source of lag itself:


On a typical server you will not notice ALD running at all.


❓ FAQ

Q: Does ALD automatically fix lag?
No. ALD only investigates and diagnoses — it does not kill entities, remove blocks, or change gameplay in any way. It gives you the information needed to fix the problem yourself.

Q: Will it work with plugins like ClearLag, Spark, or EssentialsX?
Yes, ALD does not conflict with other performance or utility plugins. It reads data through standard server APIs only.

Q: Why does it say "Root Cause: Unknown"?
ALD only reports a cause when it has real, sufficient evidence for it. If the evidence collected doesn't clearly point to a specific cause, it will honestly say so instead of guessing.

Q: I just installed it and it's not detecting anything useful yet.
Give it some time — the adaptive baseline needs to observe your server for a while before its detections become fully accurate.

Q: Does it support Folia?
No, ALD currently targets Paper 1.21.11.


Automatic Lag Detective — a professional automatic investigation system for Minecraft server performance.

Automatic Lag Detective is a free Minecraft Java mod. Compatible with Minecraft 1.21. Downloaded 2 times (via Spigot). Download it and open it directly in the game.

Explore more