Skip to main content

actorHeartbeat

Application liveness heartbeat for the authenticated user's existing actor rows in an app. Refreshes actors.updated_at so the user stays host-eligible, then returns the freshly-elected host so a client can fold its poll and heartbeat into one round-trip. This is not proof of a live Buddy session and does not refresh the separate Buddy presence lease used by security-sensitive artifact/compute occupancy gates.

actorHeartbeat(
appId: BigInt!
): GameHost

Arguments

actorHeartbeat.appId ● BigInt! non-null scalar

The app (game) whose actors owned by the authenticated user should be kept fresh, as a BigInt decimal string. Also the app the returned host is elected for.

Type

GameHost object

The elected host user of a game (app). Election is deterministic across all game-api replicas: among actors that are still fresh (recently heartbeated), the user whose earliest actor was created first wins, with a uuid tiebreaker. Row lifecycle is owned by Buddy, the realtime runtime; liveness (updated_at) is owned by game-api's actorHeartbeat mutation.