Modded Minecraft analytics, mod by mod.

The server-side mod reads TPS and milliseconds per tick against the 50 ms budget, tick time per mod and per dimension, sessions, playtime and store purchases.

Find the mod that eats your tick, the dimension full of chunk loaders and where players spend their time. One server-side mod, no client install.

Free for one server. No card needed.

Questions it answers for Modded Minecraft servers

What the demo dashboard answers for this game.

Which mod is eating my tick?

Tick time split by mod and by dimension, with every spike over 100 ms captured.

Which dimension is heavy?

Loaded chunks, entities and ticking block entities per dimension. Force-loaded counts cover vanilla /forceload only.

Where do players spend their time?

Playtime by dimension, and advancements earned by mod.

Did the pack update help?

Every mod-set change recorded, next to retention for each week of new players.

What sells per player-hour?

Store revenue matched to playtime.

Did the server stay up?

Uptime, restarts and an alert in Discord when it goes down.

What ServerStats tracks on Modded Minecraft servers

One server-side mod for Fabric (with Fabric API) or NeoForge on Minecraft 26.2 and 1.21.1, or Fabric or Forge on 1.20.1. Vanilla and modded clients join without it.

Performance

  • TPS and MSPT for the server and for every dimension
  • Share of ordinary tick time per mod, every 5 minutes
  • Every tick over 100 ms, with the mod, the method and the dimension that took the time
  • JVM heap, GC pauses, process and host CPU and memory

World load

  • Entities and ticking block entities by dimension and by mod
  • Loaded, vanilla force-loaded and generated chunks per dimension
  • Dimension visits and playtime per dimension

Players

  • Sessions, joins and quits by reason, ping
  • New and returning players, D1, D7 and D30 retention
  • Deaths by cause, including modded damage types such as create:crush
  • Advancements earned, by the mod they belong to

Pack updates and store

  • Every change to the mod set: mods added, removed and updated
  • Retention before and after each pack update
  • Tebex, PayNow and CraftingStore revenue matched by UUID (Operator)

No install yet? Basic mode uses the Server List Ping on port 25565, the same as any Java server. Check any Modded Minecraft server with the Minecraft server status checker.

Plugin-specific payment and gamemode integrations for modded servers are planned. The general dashboard and payments log work today.

The number that matters: MSPT per mod

50ms
The tick budget every mod shares
Target
20 TPS
Sampler starts
Past 50 ms
Spike recorded
Over 100 ms
Charged to
Mod package or Mixin

A modpack server has the same 50 ms tick as vanilla, but 200 mods share it. MSPT tells you the server is struggling; the per-mod share tells you who is spending the budget.

Fabric, NeoForge and Forge load every mod through one class loader, so ServerStats maps each mod's packages when the server starts and reads the mod id out of Mixin handler names. Code a mod injects into a vanilla class is still charged to that mod, not to Minecraft.

Per-dimension TPS finds the other classic: a dimension full of chunk loaders and machines that drags the whole server while the overworld looks fine.

One mod. About five minutes.

Works with

  • Fabric
  • NeoForge
  • Forge
  • Minecraft 26.2
  • 1.21.1
  • 1.20.1
  • Modpacks
  • Tebex
  • Connects out only. No ports to open on your server.
  • A one-time claim code, then the agent signs everything it sends with its own key. No reusable secret is stored on your server or ours.
  • Player IDs are keyed hashes in analytics. Player IP addresses are never sent to us.
config/serverstats.yml
# Drop the jar for your loader into mods/ (server side only) and start once, then:
claim-code: "SS-XXXX-XXXX-XXXX"
server-name: "arcane"
# or in the console: /serverstats claim <code>

Modded Minecraft questions

Which mod is lagging my modpack server?

ServerStats samples the server thread whenever a tick runs past 50 ms and charges each sample to the innermost mod on the stack. Ticks over 100 ms become lag spikes with the top three mods and the method, and every 5 minutes you get each mod's share of ordinary tick time.

Which loaders and versions are supported?

Fabric (with Fabric API) and NeoForge on Minecraft 26.2 and 1.21.1 (Java 21), and Fabric or Forge (47.1.0 or newer) on 1.20.1 (Java 17), with a jar for each: the file name says the Minecraft version. Forge on other Minecraft versions isn't supported yet.

Do players need the mod in their pack?

No. It's server-side only and registers no blocks, items or packets, so players join as usual.

Can I see what a pack update changed?

Yes. Every change to the mod set is recorded with what was added, removed and updated, so you can compare lag and retention before and after.

Does it send player names?

Not by default on modded servers: privacy.send-player-names is off. Players are UUIDs, hashed when they reach us.

Can I use it with Paper plugins too?

Paper servers use the ServerStats plugin instead. Both report into the same account.

Is it free?

Free covers one server with 24 hours of history, forever, with no card. Operator is $9.99 a month for 10 servers and 90 days of history, which you need for week-on-week trends and D7 or D30 retention. Yearly billing gives two months free.

Related games

One ServerStats account covers every game you run.

Start with one Modded Minecraft server, free

Install it and see your first numbers today.