Session Modes
The mode field controls how a session is treated — which key type is required, whether webhooks fire, and how matchmaking isolation works.
live
bg_live_ onlyProduction sessions. Players are identified by your own user IDs. Tenant-isolated — players from different tenants never match each other. Webhooks fire on game end.
IsolationTenant-isolated
WebhooksYes
Player IDsYour user IDs
Use caseReal users in your production app.
test
bg_test_ onlyFor testing your integration before going live. Tenant-isolated. No webhooks fired. Data is saved for debugging. Test keys cannot create live sessions.
IsolationTenant-isolated
WebhooksNo
Player IDsYour user IDs
Use caseCI/CD pipelines, QA, integration testing.
training
bg_live_ onlyCross-tenant practice pool. Players are anonymous — we generate random IDs and display names. No webhooks. Good for onboarding new users or demos.
IsolationCross-tenant
WebhooksNo
Player IDsAuto-generated (anonymous)
Use caseGuest play, onboarding flows, demos.
Matchmaking isolation rules
The matchmaking queue enforces isolation based on mode and tenant:
| Mode | Can match with | ELO range |
|---|---|---|
| live | Same tenant, live mode only | ±200 ELO |
| test | Same tenant, test mode only | ±200 ELO |
| training | Any tenant, training mode | ±200 ELO |
Choosing a mode
- Use test during development — it behaves identically to live but never fires webhooks or charges usage.
- Use training for guest/anonymous users who haven't signed up yet — no player IDs needed.
- Switch to live when you're ready to go to production. Requires a
bg_live_key.
Beta Gamer GaaS API — questions? support@beta-gamer.com