How many players right now, across every server?
Concurrent players live, summed over every running server of your experience.
A ModuleScript in ServerScriptService batches events from every running server (players, heartbeat, purchases) and sends them out over HttpService every 30 seconds. Players are sent as per-experience pseudonyms, never UserIds.
Roblox already gives you retention and funnels. ServerStats adds server health, Discord webhook alerts and comparisons across your experiences. AI answers are coming soon.
Free for one server. No card needed.
What the demo dashboard answers for this game.
Concurrent players live, summed over every running server of your experience.
Robux players spent by game pass and developer product (before Roblox's cut), once ProcessReceipt goes through the module.
Heartbeat time against the 60 Hz budget, with alerts when it slips.
Inspect each live JobId, place, version, player count and last report during a rollout.
Day-1, day-7 and day-30 retention for every week of new players.
Every experience you run side by side: players, retention and revenue.
Alerts for player drops, revenue dips and struggling servers, straight to your channel.
A ModuleScript in ServerScriptService. Every running server of your experience reports, and the dashboard adds them up.
Choose a progression, rounds or social dashboard for your experience. These views use the economy, funnel, progression and custom events you send through the module; uninstrumented charts stay empty.
Roblox servers step at 60 Hz, so each Heartbeat has about 16.7 ms. When a server's scripts or physics take longer, the step stretches and players feel it as lag. ServerStats records the Heartbeat step on every running server, plus the engine's own heartbeat time, physics step and memory.
Every instance reports. The dashboard charts experience-level health and lists each live server's place, version, player count and last report, so you can spot a stalled server or mixed rollout. Per-instance performance traces are still on the roadmap.
The module does its signing and encoding in small slices that yield after 1 ms of work in a frame, so it stays out of your frame budget.
Works with
-- 1. Game Settings → Security → Allow HTTP Requests -- 2. Creator Hub → Secrets: "serverstats" = your experience key, domain serverstats.cc local SS = require(game:GetService("ServerScriptService").ServerStats) SS.start({ mode = "experience" }) -- Wrap ProcessReceipt with SS.wrapProcessReceipt to count product sales.
Roblox's own analytics covers retention, funnels and the economy well. ServerStats adds per-server health, cross-experience comparisons and alert rules with Discord webhook delivery. Its AI assistant and Discord bot are coming soon.
Yes. Each server batches events and sends every 30 seconds, well under Roblox's 500 requests a minute per server.
By default the module sends a per-experience pseudonym, never the Roblox UserId, and never names or chat. ServerStats can't turn the pseudonym back into a UserId.
Route your ProcessReceipt through SS.wrapProcessReceipt. Only one ProcessReceipt can exist per server, so the module wraps yours and counts a purchase once, when you grant it.
Not yet. The module has been tested against mock servers and Lune, not a live Roblox server. Treat it as a beta.
Roblox is in beta, and its limits aren't enforced during the beta. Free, Operator and Network include 1, 5 or unlimited experiences and up to 100, 2,500 or 25,000 concurrent players.
One ServerStats account covers every game you run.