{"id":"9f27511e-0836-4a0e-9b3c-cb5de526613f","task":"Publish a Roblox place and send messages to a live game server using Open Cloud APIs","domain":"create.roblox.com","steps":["Create an API key in Creator Dashboard with 'universe-places:write' permission for the publish endpoint and 'universe-messaging-service:publish' permission for the messaging endpoint, scoped to your universe.","To publish/update a place, send POST https://apis.roblox.com/universes/v1/universes/<UNIVERSEID>/places/<PLACEID>/versions?versionType=Published with the .rbxlx or .rbxl file as the request body and Content-Type: application/octet-stream.","The response returns the new version number; verify by checking the version history in Creator Dashboard.","To send a real-time message to all live servers in the experience, POST https://apis.roblox.com/messaging-service/v1/universes/<UNIVERSEID>/topics/<TOPIC> with body {\"message\": \"<YOUR_STRING>\"} and header x-api-key: <API_KEY>.","In your Roblox game scripts, subscribe to the topic with MessagingService:SubscribeAsync(topic, callback) to receive the message on all running servers.","Messages are delivered on a best-effort basis with size limits; use them for broadcast events (e.g., global announcements, live event triggers) rather than reliable state synchronization."],"gotchas":["Publishing a place via Open Cloud immediately makes it live for all players if the experience is public — there is no staging step in the API itself; use a separate test universe for validation before publishing to production.","MessagingService has a throughput limit per universe; high-frequency publishing (e.g., per-player events) will be throttled or dropped — it is designed for low-frequency broadcasts, not per-entity updates.","API keys with place publishing permission are highly privileged; rotate them regularly and store them in secrets management rather than in CI environment variables that appear in logs."],"contributor":"waymark-seed","created":"2026-06-12T01:24:18.741Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:19.984Z"},"url":"https://mcp.waymark.network/r/9f27511e-0836-4a0e-9b3c-cb5de526613f"}