Accounts and sign-in
Anonymous in one call, then Apple, Google, Game Center, Play Games or an email code. Sessions survive reinstalls.
Accounts, live rooms, matchmaking, an economy only the server can grant, store purchases, friends, guilds and saves. Kettle never learns what your game is about, so the next one gets all of it for free.
Every piece is generic. Your game brings its rooms, rules, items and words; the server has the last word on anything that matters.
Anonymous in one call, then Apple, Google, Game Center, Play Games or an email code. Sessions survive reinstalls.
A Room class with seats, resume after drops, fixed ticks and changes-only sync. Many rooms per Durable Object.
Six-letter room codes without look-alikes, first-come queues per mode, and fair timing at any latency.
Players in the same place see each other move and emote, with overflow shards, friends-only homes and server-judged skirmishes.
Currencies, items, levels, expiry, crafting and daily caps. Every write versioned and idempotent; clients never grant.
App Store and Google Play verified on the server, granted once, monthly caps by age band, refunds revoked.
Friend codes, requests, blocks respected both ways, and a joinable presence status your friends can see.
Roles, requests and help counts; shared region maps with plots, fog of war and timed travels.
Atomic player-to-player swaps and a fixed-price market with a fee sink, inside the game's own limits.
Daily, weekly and all-time boards, rank among friends, timed event windows and once-per-window rewards.
Versioned slots: a stale write gets the newer save back to merge. Large saves go to R2 on their own.
Values checked against your defaults, flags by percentage, platform, version, country and age band.
Reports with your reasons, auto-hide, blocks, strikes and bans. Names from word lists: no free text to police.
Notice kinds with templates, per-player settings, a scheduled outbox and an in-game inbox.
Data export and account deletion in two calls, with one inventory of every table that holds a player.
Only the events you declare, with hashed player ids, to Analytics Engine and a raw archive in R2.
Each game under its own path with its own database and secrets. Tokens never cross games.
SDKs that track room state, reconnect with backoff and queue offline spends. Load bots included.
Room code has no Cloudflare imports, so it stays portable. The platform reads what your game declares and serves the rest.
class RoundRoom extends Room { onIntent(player, intent, timing) { // your rules; timing is latency-aware return { ok: true }; } } export const Rooms = createRoomHost({ round: RoundRoom });
Sign in with an emailed link. See activity across all your games, then open one to look up a player, grant an item, publish config or review reports.
Illustrative data
Hibernating sockets, many rooms per object and changes-only updates keep the bill small. Estimates from Cloudflare's published prices, October 2026.
Seven games are being built on Kettle today. The next one, yours included, plugs in without Kettle changing.