Operate the live game
universeManage a live Roblox experience: restart published servers, message live servers, ban players, inspect servers and logs, and manage products or passes.
Instructions
Acts on the PUBLISHED experience and the people in it — not on the place open in Studio.
restart rolls live servers onto the version you just published. Publishing on its own changes nothing for anyone already playing: they stay on their server, running the old code, until it empties. This is the step people forget. By default it bleeds off over 10 minutes — matchmaking stops and players finish what they are doing — rather than shutting servers down under them, which is what Roblox's own default does.
message publishes to MessagingService, reaching every live server at once. Only servers with a SubscribeAsync listener on that exact topic receive it, and nothing reports whether anything was listening, so success here does not mean delivery.
ban and unban set a player's game-join restriction. A ban with no durationSeconds is PERMANENT. displayReason is shown to the player; privateReason is for your records. Scope it to one place with placeId, or leave that out to cover the whole experience. bans lists who is currently restricted.
user looks up a user id — the name-to-id step most other calls need. inventory reports what someone owns: passes, badges, assets.
servers lists the place's live servers — players, uptime, frame rate, memory, version — and logs reads one server's errors and warnings by its jobId, with stack traces and structured-log context. That is where a player's bug report actually happened; Studio only shows your own test. Roblox keeps warnings and errors only, and they arrive about three minutes after they are written.
products lists the game's developer products and game passes with their ids and prices — the ids a purchase script needs. sell creates one, or changes one given itemId. Creating checks the name first, so a retried create cannot leave two "100 Coins" products.
Everything here needs an Open Cloud key and a universe id. The user sets both once with cloud in the Studio panel.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | Yes | 'restart' rolls servers onto the new version, 'message' publishes to MessagingService, 'ban'/'unban'/'bans' manage player access, 'user' and 'inventory' look someone up, 'servers' and 'logs' read live servers, 'products' and 'sell' manage products and passes. | |
| kind | No | products/sell: 'product' is a developer product (bought again and again: currency, boosts), 'pass' a game pass (bought once: VIP, perks). products lists both when omitted; sell needs it. | |
| name | No | sell only: the item's name. Required to create. | |
| image | No | sell only: path to a local .png/.jpg/.bmp/.tga icon. | |
| jobId | No | logs only: the server, as listed by `servers`. | |
| limit | No | bans/inventory/servers/logs: how many rows to return. | |
| price | No | sell only: price in Robux. | |
| topic | No | message only: the MessagingService topic. | |
| filter | No | inventory: an Open Cloud filter, e.g. `gamePassIds=123` or `assetIds=456`, to ask about specific items rather than listing everything. servers: a CEL filter over the server fields, e.g. `occupancy > 0`. | |
| itemId | No | sell only: the product or pass to change. Omit to create a new one. | |
| search | No | logs only: case-insensitive text to find in the message, stack trace or context. | |
| userId | No | ban/unban/user/inventory: the player's user id. | |
| confirm | No | Required for restart, message, ban, unban and sell. Each of these is visible to players the moment it runs and none can be undone from here. | |
| forSale | No | sell only: whether players can buy it. Say it explicitly when creating. | |
| message | No | message only: the payload, as a string. | |
| placeId | No | ban/unban: restrict to this place only, instead of the whole experience. restart: only restart this place's servers. servers/logs: which place, defaulting to `cloud place`. | |
| severity | No | logs only: just this level. Omit for both. | |
| universeId | No | Which game. Omit to use the one set with `cloud universe <id>`. | |
| description | No | sell only: the item's description. | |
| displayReason | No | ban only: shown to the player when they are turned away. | |
| privateReason | No | ban only: your own record. The player never sees it. | |
| bleedOffMinutes | No | restart only: minutes to let existing servers drain. 0 shuts them down immediately, moving players mid-game. Defaults to 10. | |
| durationSeconds | No | ban only: how long, in seconds. OMIT THIS AND THE BAN IS PERMANENT — say so to the user before you do it. | |
| excludeAltAccounts | No | ban only: if true, the ban applies to this account alone rather than to alts Roblox links to it. Defaults to false. |