Deploying a room

Your room file is the deployable unit. One command uploads it, versions it, and starts serving rooms on our edge — no infrastructure to manage.

Deploy

npx irtio deploy

This bundles irtio/, type-checks it, runs your tests, and — if they pass — promotes the new version. Rooms already live keep running on their version until they empty, so a deploy never drops players mid-match.

Environments

npx irtio deploy --env staging
npx irtio deploy --env production

Point the client at one with the project key for that environment:

const room = await joinRoom(schema, { env: 'production' });

Config & secrets

Non-secret settings live in irtio.config.ts; secrets are set out-of-band and read from ctx.env in the room:

npx irtio secrets set STRIPE_KEY sk_live_...
tick(state, dt, ctx) {
  const key = ctx.env.STRIPE_KEY; // never shipped to clients
}

Rollback

npx irtio releases          # list versions
npx irtio rollback v42       # instant, atomic

Next steps

Placeholder content.