Verifiable RNG
Deterministic, server-seeded randomness so loot and crit rolls can't be client-forged.
tg.rng gives a deterministic seed for a named stream and time period. The same (player, stream, period) always yields the same seed, derived from a server secret, so a client can't reroll a loot drop by replaying the request, and you can reproduce a roll for support/anti-cheat.
const { seed } = await tg.rng.seed('loot');
// derive your rolls deterministically from `seed` Server-side by default
The high-stakes rolls (loot boxes, gacha) already happen server-side via the economy; tg.rng is for client-side effects you want verifiable and consistent. A player-scoped seed is per-player; a shared-scope seed is the same for everyone (e.g. a daily map).
- User-generated content
Author, publish, play, and remix player content, with moderation and remix lineage.
- LiveOps: config, flags, segments and codes
Change the live game with no client deploy: remote config, feature flags, player segments, live events, and promo codes.
- A/B experiments
Split players across variants, measure a metric, and read per-variant conversion: deterministic, sticky assignment built on the flags/segments engine.
- Web push notifications
Re-engage players with self-hosted Web Push (VAPID): subscribe from the game, send from the dashboard/MCP to everyone, a segment, or one player.
- Analytics and crash reporting
Durable event ingest that rolls up into DAU/MAU, retention, funnels, sessions, economy health, and grouped crashes.