Publishing
Publish a Game
Publishing puts your game on the Metaloot portal where players can discover and play it. There are two paths: deploy to Metaloot hosting with the CLI (recommended — hosting, auth, and multiplayer in one command), or register an externally hosted game and add Sign in with Metaloot to it.
Path 1: Deploy on Metaloot#
The CLI creates the portal listing for you on first deploy — there is no separate registration step:
npm install -g @metaloot/cli
metaloot login
metaloot deploy # from your game folderYou get:
- Instant hosting at
https://<your-game>.metaloot.appon a global CDN. - Sign in with Metaloot built in — the game page and domain are wired to OAuth automatically;
await window.metaloot.sessionjust works. - Multiplayer ready — rooms are live at
/mp/rooms/<roomId>on your domain. - Atomic updates — re-run
metaloot deployany time; new versions go live in seconds.
The /publish page on the portal walks through these exact steps with your account signed in.
Path 2: Register an External Game#
If your game is hosted elsewhere, create its portal page from the form on /publish:
| Game Title | Required, up to 80 characters. |
| Description | Required, up to 500 characters. |
| Game URL | Optional. If provided, Metaloot immediately issues OAuth credentials for the game and derives the redirect URI from it: <your-url>/auth/metaloot/callback. |
| Tags | Comma-separated, lowercased, up to 5. |
With a URL set you receive a client ID (mtl_client_…) and a client secret (mtl_secret_…) shown once — copy it immediately. The result screen also includes a pre-filled integration prompt you can paste into a coding agent to wire up @metaloot/auth end to end. Without a URL, the game page shows a coming-soon Play button until you either set a URL or deploy with metaloot deploy --game <game-id>.
Game Settings#
Every game has an owner-only settings page at /game/<id>/settings:
- Game details — edit the name (80 chars) and description (1000 chars).
- Game URL & playable toggle — change the hosted URL (the auth redirect URI is re-derived and re-synced automatically) and control whether the Play button is live.
- Publish & sign-in— the deploy command for this game, an "Enable Metaloot Auth" button for external games, the credentials card (client ID, redirect URIs, one-time secret), and the agent integration prompt pre-filled with your values.
- Analytics — plays and sign-ins at
/game/<id>/analytics.
Listing Tips#
- Games are discovered from the portal home and topic pages — accurate tags matter.
- Keep the description focused on what the player does in the first minute; it doubles as the social embed text for shared links.
- Upload media on the game page — a good cover image is the single biggest driver of plays.