Mineuniverse
Mods
Tick Watchdog

Tick Watchdog

MOD
Configurable watchdog that captures thread dumps when server is suffering from TPS lag
by _haise0_
Download Claim this project
Add a badge to your pageLink to Tick Watchdog from a README, website or forum post.
Preview: Badge

Badges update automatically and link to the mod page on MineUniverse.

671 downloads
0 likes
0 followers
Updated Oct 14, 2026
0 hypes
Follow0
Performance Server Utility Utility & QoL
Advertisement Remove ads with Premium →

Tick Watchdog

Summary

I was tired of the "server running behind" messages not offering any other useful information. This mod provides said useful information by dumping it into a text file and printing a notification in console.


What Tick Watchdog Does

Every server tick is timed, and when a tick takes longer than your configured threshold:

  • A thread dump is written to logs/tickwatchdog/dump-YYYY-MM-DD_HH-mm-ss.txt
  • The server thread is shown first, with mod package annotations to help identify culprits
  • Lock and monitor info is included
  • Deadlock detection runs automatically
  • Rolling TPS averages(1m / 5m / 15m) are logged alongside the dump

A configurable cooldown prevents log spam during sustained lag events.


Reading a Dump

Open the dump file and look at the SERVER THREAD section first. Stack frames are annotated with their origin:

>>> SERVER THREAD (RUNNABLE)
    at net.minecraft.world.level.chunk.ChunkSource.tick(...)  [Minecraft]
    at somemod.world.TickHandler.onTick(...)  [Mod? (somemod.*)]

If a mod class appears near the top of the stack, it's likely responsible for the spike. The 1m vs 15m TPS gap is also useful as a large difference points to something event-triggered rather than a steady per-tick cost


Configuration

Created automatically at config/tickwatchdog.txt on first launch.

Default configuration is as follows:

# Trigger a thread dump if a tick takes longer than this (ms)
# Normal tick = 50ms. 100ms = ~10 TPS or worse.
threshold_ms=100

# Minimum seconds between dumps (prevents log spam during sustained lag)
cooldown_seconds=30

# Log rolling TPS averages to console periodically
log_tps=true

# How often to log TPS (seconds)
tps_log_interval_seconds=60
tickwatchdog-1.0.0.jar
MC 1.21.1, NeoForge, Server
Release 2026-03-03 Get

More from _haise0_

Advertisement Remove ads with Premium →

You Might Also Like