Telemetry¶
Makes a Roblox game report who played, for how long, and on which team, so attendance and playtime stop being typed in by hand.
What it actually does¶
The game sends a small message every minute saying "these people were here, for this long, on these teams". That's it.
It does not:
- read chat
- track where anyone stands
- run anything on players' computers
- affect gameplay in any way
There is no client-side code in it at all, and there never will be — a player who could report their own playtime could report any playtime they liked.
Two parts¶
| Part | Where it lives | Who touches it |
|---|---|---|
| The model | Inside the Roblox game | Whoever can publish that game |
| The service | On our server | Nobody, day to day |
If you're here to put it in a game, go to Adding it to a game. You won't write any code — you set two values and publish.
What it's for¶
Right now it collects. Later it feeds:
- Attendance that writes itself. You host the event, the game reports who was there, the record fills itself in. Typing it in becomes the backup, not the normal way.
- Division scoreboards. Not "this division exists" but "it ran four events and its people played 90 hours".
- Combat records, once the games report those too.
None of that works until the games are actually reporting, which is why this part comes first.
Honesty¶
Two things are built in from the start:
A message sent twice is counted once. A game server can't always tell whether its message arrived, so it's built to send again if unsure. Every batch carries an id; a repeat is recognised and ignored.
Impossible data is kept and flagged, not deleted. A session claiming 40 hours is marked as untrusted and left out of totals — but it stays in the table. A record that quietly vanishes can't be checked, and if the rule that flagged it turns out wrong, the evidence is still there to undo it.