Bedrock server analytics, by device.

The plugin reads TPS against the 50 ms budget, lag spikes, and sessions and playtime per dimension, and players by device (console, mobile, Windows). On Java networks with Geyser, Bedrock players are tracked by the Java plugin.

See which devices your players join from, who comes back, what's lagging your server and which store items sell.

Free for one server. No card needed.

Questions it answers for Minecraft Bedrock servers

What the demo dashboard answers for this game.

Console, mobile or PC?

Players by device type, and playtime per dimension.

When do my players play?

After-school and weekend peaks by hour, for events and restarts.

What's lagging the server?

TPS against the 20 TPS budget, with every lag spike marked.

What sells?

Store revenue by item (Operator). Bedrock buyers aren't linked to players yet.

Do new players come back?

Day-1, day-7 and day-30 retention for every week of new players.

Did the server stay up?

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

What ServerStats tracks on Minecraft Bedrock servers

A Python plugin for Endstone 0.11 on Bedrock Dedicated Server. Bedrock players on a Java network are tracked by the Java plugin through Geyser.

Performance

  • TPS and MSPT from Endstone every second, and tick usage
  • Lag spikes: average MSPT over 50 ms for three seconds in a row
  • Entities by type and loaded chunks per dimension
  • Process and host CPU, memory, disk and network

Players

  • Players by device OS, game version and game mode
  • Sessions, session length and playtime per dimension
  • New and returning players, D1, D7 and D30 retention
  • Ping every 30 seconds, kicks and refused logins by reason

Gameplay

  • Deaths by cause and killer, PvP and mob kills
  • Blocks broken and placed, dimension changes, respawns
  • Commands run (the root command only), chat counted but never read

Store

  • Store revenue by package (Operator)
  • Bedrock buyers aren't linked to players yet: Xbox IDs aren't matched to store purchases

No install yet? Basic mode sends a RakNet ping to UDP 19132. It needs transport=raknet: a BDS on the newer NetherNet transport has no RakNet socket to answer. Check any Minecraft Bedrock server with the Minecraft server status checker.

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

The number that matters: TPS and MSPT

50ms
The tick budget: 20 ticks a second
Target
20 TPS
Average MSPT over 50 ms
Falling behind
Over 50 ms for 3 s in a row
Lag spike recorded
Sampled
Every second

Bedrock servers tick 20 times a second like Java, so the budget is 50 ms per tick. Vanilla Bedrock Dedicated Server doesn't show either number. With Endstone, ServerStats reads the average TPS and MSPT every second and keeps the history.

One slow tick is noise on Bedrock. ServerStats records a lag spike when the average MSPT stays over 50 ms for three seconds in a row, with the entity count, players and loaded chunks at that moment, so you can see whether mobs or chunk loading were behind it.

Bedrock gives plugins no per-plugin timings, so spikes aren't named by plugin here, unlike on Paper.

One plugin. About five minutes.

Works with

  • Bedrock Dedicated Server
  • Endstone 0.11
  • Geyser (on Java networks)
  • 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.
plugins/serverstats/config.toml
# Drop the .whl into plugins/ and start once, then:
claim-code = "SS-XXXX-XXXX-XXXX"
server-name = "crystal"
# or in the console: serverstats claim <code>

# Java network with Geyser? Use the Java plugin instead;
# Bedrock players are tagged automatically.

Minecraft Bedrock questions

How do I check TPS on a Bedrock server?

Vanilla Bedrock Dedicated Server doesn't show it. With the Endstone plugin loader, ServerStats reads Endstone's average TPS and MSPT every second and graphs them, with lag spikes marked.

Which Bedrock server software is supported?

Bedrock Dedicated Server with Endstone 0.11 (tested with 0.11.12 on BDS 26.51 on Linux; Windows x64 is supported by Endstone but untested). Other Bedrock servers can use basic mode, which pings the server for players, version and uptime.

Do you support Geyser networks?

Yes. If your Java network lets Bedrock players in through Geyser, the Java plugin tracks them and tags them as Bedrock.

Can I see console and mobile players separately?

Yes. Players are counted by device OS, game version and game mode, so you can see how much of your server plays on phones or consoles.

Does it work on Realms?

No. Realms can't load Endstone plugins, and there's no script-API version of the agent yet.

Do players need an add-on?

No. The plugin runs on the server and players download nothing.

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 Minecraft Bedrock server, free

Install it and see your first numbers today.