RoChartdocs

Updates

Every update you publish, found automatically from game.PlaceVersion and compared with the one before it — playtime, session length, D1, errors, crash rate and Robux per player — plus how many players are still on old servers.

Updates answers the question you have after every publish: did it help? Each version of your place gets a card with how players did on it, next to the version before it. It's on the page within minutes of the first server starting on the new version.

There's nothing to set up. The RoChart module reads game.PlaceVersion on every server and sends it as $place_version on heartbeats and on $session_start, so every publish shows up by itself.

The page

  • Latest update: the newest version, when it was first seen, and three headline changes against the version before it.
  • Rollout right now: the share of players on the newest version, and how many servers and players are still on older ones. Roblox keeps old servers running on the version they started with until they empty out, so right after a publish most players are still on the old version. If the new one looks good, restart the old servers from the Creator Dashboard to move everyone over.
  • Timeline: every version first seen in the date range (7, 30 or 90 days), newest first. Each card shows when it went out, how long it was the newest version, whether servers still run it, and six numbers with ▲▼ changes against the version before it. Green is better, red is worse; for errors and crashes lower is better.

Each card links to Game analytics split by place version, and to Health filtered to that version.

How each number is counted

MetricHow it's counted
First seenThe earliest heartbeat or $session_start carrying that $place_version.
LiveAt least one server on the version sent a heartbeat in the last 2 minutes and hasn't shut down.
Players, sessions, new playersSessions that started on the version (the $place_version of their $session_start), over the version's whole life up to now. A new player is one whose first session ever was on it.
Playtime / playerMinutes played in those sessions ÷ players.
Avg sessionAverage length of those sessions. Open sessions count up to now.
D1 retentionOf the players whose first session ever was on this version, the share who played again the next day. Empty ("too early") until a full day has passed.
Errors / 1k sessions$error occurrences (summing $count) from servers and clients on the version, per 1,000 sessions.
Crash rateServers on the version whose heartbeats stopped for more than 3 minutes without a $server_shutdown, ÷ all its servers.
Robux / player$robux from $purchase events in those sessions ÷ players.

Relative numbers are compared in percent; rates (D1, crash rate) in percentage points (pt).

Compare like with like

A version that has been out for three days has had more time to collect players than one published an hour ago. Per-player and per-session numbers are fair to compare right away; totals aren't. D1 needs a full day.

Release markers

The first time RoChart sees a higher $place_version from your game, it writes a project annotation "Update v418 published", dated when that version was first seen. Release markers (thin v418 lines) appear on every Game analytics chart and on the Health charts, so you can see what an update did to your numbers at a glance.

For agents

The page runs the game_updates query, for example:

{ "kind": "game_updates", "dateRange": { "from": "-30d" } }

It returns every version first seen in the range, newest first, with the numbers above. Ask an agent "Did v418 hurt session length or crash more than v417?" or "How many players are still on old servers?" (that one uses game_servers).

On this page