You need to be a workspace admin, or have the Reset activity permission (it covers the Activity settings).
1. Choose who is tracked and idle time
Open Settings > Activity.
Activity Role: choose the minimum rank that is tracked. Anyone below it is ignored.
Idle Time Tracking: Enabled subtracts away-from-keyboard time from active minutes. Disabled counts all time in game.
2. Download the loader
On the same page choose Download loader. There is also a Download beta loader.
The stable loader is recommended for production.
The beta loader uses batched requests and DataStore retry to avoid Roblox's HTTP rate limits. It is still being tested, so use it at your own risk.
Each download creates a new activity key and replaces the previous one. The key is built into the file you download. Rosterr stores only a hash of it, so the old file stops working the moment you download a new one. Always update the loader in your game after downloading a new one.
3. Add it to your game
Open your game in Roblox Studio.
Turn on Allow HTTP Requests in Game Settings > Security.
Insert the downloaded file (it is a Roblox model,
.rbxmx) into ServerScriptService, the usual place for scripts that must only run on the server and that players cannot read.Publish the game.
Roblox only runs it in published, live servers. Studio and private servers are not tracked by default.
Options inside the package
The script has a small configuration block at the top:
Option | Meaning | Default |
| Also track private servers and Studio | false (not tracked) |
| Seconds between retries of failed requests | 30 |
| Only send data for people at or above the tracked rank | recommended on |
| The Roblox group ID to track for | set for you |
| The lowest tracked rank, fetched from Rosterr when the game starts | from Settings |
| Minutes without movement before someone is AFK | 2 |
Do not edit the lines marked "Do not touch".
4. Check it works
Join the game as a tracked staff member. The output window in Studio or the developer console shows "Rosterr: Module loaded; activity will be tracked for [name]".
Open Settings > Activity and look at Game health, if your workspace has it: it lists each game that has sent activity, when it last did, and whether it is "Sending", "Quiet" (over a day) or "Not heard from" (over a week).
After you leave, your session appears on your profile.
Writing your own integration
Instead of the loader you can call the public API yourself. See "Track staff time with the game API (Luau example)".
Troubleshooting
Nothing is recorded. Is HTTP enabled in the game? Is the loader in ServerScriptService? Did you download a new loader and forget to update the game (the old key no longer works)? Is the person at or above the tracked rank? Are you testing in Studio (not tracked)?
The wrong people are tracked. Change the Activity Role (minimum rank).
Roblox says HTTP requests are being rate limited. Try the beta loader, which batches requests.
Two games? Each game needs the loader. They all report to the same workspace, using the same key.
Related articles
Reset the activity period (manual and automatic)
Track staff time with the game API (Luau example)
