Player observability
This page explains how admins can observe player behavior from the player detail page.
Data source note: sessions, routes, contacts, and embedded logs depend on imported server logs. For freshness and delay behavior, see Logs import concept.
Navigation path:
Server Admin->Players->Player details
Access requirements
Minimum requirement to open the player detail page:
players.view
Additional rights used by observability tools:
players.edit(for device disconnect actions; backend-enforced)players.create(for creating a new player profile on a device)players.see_position(routes tab visibility)logs.view(embedded logs visibility and route data population)
Additional data caveat:
- embedded logs and route data require at least one non-empty in-game username in the current player/device context
If a section is empty or missing, check access rights.
Devices and related accounts
In the Devices tab, admins see:
- all device IDs linked to this player
- all player profiles attached to each device (including alt accounts)
- quick navigation into related player profiles
Cross-server alt accounts: For each device, the tab also shows player profiles from other servers that share the same device. This gives admins full visibility into a player's platform-wide alt account network even when alts have never joined the current server.
What this helps with:
- identifying account clusters sharing one device
- spotting likely alt accounts, including those only active on other servers
- checking whether suspicious activity appears across multiple profiles
Operational actions:
- disconnect player-device relation (
players.edit) - create a new player profile on an existing device (
players.create)
Session calendar (timeline across related accounts)
In the Sessions tab, admins get a calendar built from player sessions on devices associated with the current player context.
What it shows:
- timeline blocks of online sessions
- the current player as the primary focus
- related accounts in the same context as secondary entries
- counts for distinct devices and related players
How to read it:
- primary player sessions are highlighted as the main context
- related account sessions are shown as linked context
- clicking a related account session opens that account's player detail page
This is useful for overlap analysis (who was online at the same time and on which device context).
Implementation behavior to know:
- session context is assembled from both device links and recorded session history
- sessions without a valid end timestamp are rendered as a short placeholder block
Route map (movement and path reconstruction)
When players.see_position is granted, the Routes tab is visible.
Route data is populated only when embedded logs are available (logs.view) and the current player/device context contains at least one usable username.
What it provides:
- a detailed map rendering route segments from position pings
- route time window filters (
start/end) - multiple route toggles to isolate individual paths
- route start/end markers and progression coloring
Default behavior:
- if no route window is provided,
enddefaults to the latest known online ping (or current server time) andstartdefaults toend - 3 hours
Use cases:
- tracing where a player moved across the map
- checking repeated path patterns
- correlating route windows with reports or incidents
Contact analysis (regular proximity to other players)
In the Contacts tab, admins see players who were repeatedly near the target player.
The contact model is fixed and intentionally strict:
- compares
PLAYER_ONLINE_PINGevents at the same timestamp - analyzes a fixed rolling window of 14 days
- uses a fixed 10 meter radius
- requires at least 5 encounters before listing a contact
- shows at most 15 contacts
- excludes same-device player identities from contact output
What you get per contact:
- contact player name
- estimated shared playtime (minutes/hours, based on 5-minute ping steps)
- first seen / last seen timestamps
This helps identify regular co-play partners and repeated association patterns.
Practical investigation flow
- Start with
Devicesto map account relationships. - Use
Sessionsto validate overlap windows. - Use
Routesto inspect movement in the same windows. - Use
Contactsto confirm repeated close-proximity relationships.
Combining these views gives stronger evidence than using any single tab alone.
Player impersonation
Admins with players.impersonate_player can open the player view as that user.
Use impersonation to validate what the player can see in the shop (missing buttons, opt-out warnings, feature access).
While impersonation is active, a one-line info bar is shown at the top in both the shop and the admin panel.
The bar shows the currently impersonated player context and provides an Exit impersonation link in the top-right corner.
The bar also uses small icons for quick visual recognition (impersonation context + exit action).
Exit behavior:
- when impersonation is started from the player list, the exit link returns to the admin page where impersonation started
- if no valid admin return page is available, exit falls back to the shop start page