Tick Watchdog

Quick rating

Community listing page, reviews may not be monitored by the author.

Tick Watchdog

No reviews yet

Configurable watchdog that captures thread dumps when server is suffering from TPS lag

Mod Loaders
Minecraft

About

Description

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