Repository navigation
What is activity tracking
GokuTrap needs to know what Roblox is doing before several features can work — server details on screen, Discord Rich Presence, closing Roblox when the desktop app exits, and the datacenter radar. Activity tracking is the single switch that enables all of them.
It works by tailing the log file Roblox's own client already writes. GokuTrap does not inject into Roblox, and it does not talk to Roblox's process.
- GokuTrap locates the newest log file in
%localappdata%\roblox\logs. - It reads the file from the end backwards, remembering its byte offset, and follows it as Roblox appends.
- It looks for a small, fixed set of known lines — for example
! Joining game '{jobId}' place {placeId}andserverId: {address}|{port}. - When those two agree, a game join is confirmed. A disconnect or leave line confirms the opposite.
That is the whole mechanism. The watcher recognises specific log lines; it does not interpret anything else in the file.
One small file, PlayerActivity.json in GokuTrap's own data folder:
| Field | Meaning |
|---|---|
PlaceId |
The experience you joined |
JobId |
The specific server instance |
ObservedUtc |
When GokuTrap last confirmed you were in a game |
It is written to a temporary file and then moved into place, so a reader never sees a half-written file. There is no history of past sessions in it — it holds the current state only.
Open Settings → Integrations and switch off Enable activity tracking. Everything below disappears with it: the two dependent toggles grey out, and the watcher is not started at all when Roblox launches.
With it off, GokuTrap still launches and manages Roblox exactly as before. You lose server information, Rich Presence, the desktop-app close behaviour, and the radar.
Note This is not the same as Roblox's own Activity Privacy setting, and turning GokuTrap's switch off does not change it.
Settings → Integrations → Show server details
Once you are confirmed in a game, this displays the region you connected to — things like US East or Frankfurt — on the server display overlay.
To work out which region that is, GokuTrap calls rovalra.com, a community API that maps Roblox IP ranges to regions. That is the only third party contacted for this feature, and the only data sent is an IP address that Roblox's own servers already used to place you.
- If you would rather not send anything to a third party, leave this off. It has no effect on the rest of GokuTrap.
- Results are cached locally, so repeat launches do not re-query for a region you have already resolved.
Settings → Integrations → Close Roblox when the desktop app closes
Normally, closing the Roblox desktop app leaves a player window stranded — the client is still running, holding your account in a server, but nothing on screen is driving it.
With this on, GokuTrap watches for the desktop app exiting and then closes the Roblox client gracefully. It asks the window to close rather than terminating the process, so Roblox still saves state and shuts down tidily.
- If you like keeping the player window open after closing the desktop app, leave this off.
- The setting only takes effect at launch. Change it, then relaunch Roblox from GokuTrap.
Settings → Integrations → Use Discord Rich Presence
Shows what you are playing on your Discord profile. It needs activity tracking because the join and leave events that drive the presence come from the watcher.
This one requires the Discord desktop app — Rich Presence uses a local socket that only the desktop client exposes. The mobile app cannot work. If presence does not appear, work through Discord Rich Presence does not work.
The datacenter radar reads the same snapshot to look for joinable servers in a chosen region. It refuses to act on a snapshot older than two minutes, so leaving a game and immediately asking for a server will correctly tell you there is no current context.
-
Read: the Roblox log file in
%localappdata%\roblox\logs. Nothing else. -
Write:
PlayerActivity.json, in GokuTrap's own data folder. -
Sent: only a public IP address to
rovalra.com, and only while Show server details is on. - Never: sent anywhere else, uploaded, sold, or attached to your account.
Roblox changes its log format without warning. If the watcher has stopped picking up joins:
- Confirm Enable activity tracking is still on in Integrations.
- Fully exit Roblox — including the player window — then relaunch it from GokuTrap.
- Check that
FLogoutput is not being suppressed by an external log viewer or a third-party overlay tool. - Open
%localappdata%\roblox\logsand confirm new files are appearing while you play.
If the log file itself is not being written, nothing downstream of it can work, and the problem is not in GokuTrap.