rosebud update

Publish a new build of a connected game to the same link.

rosebud update --directory <folder> [options]
rosebud update --zip <file> [options]

update makes the game exactly the folder you give it: a file the game has that the folder lacks is removed from the game, and files Rosebud already has aren't uploaded again. It needs an active game connection: approve one with rosebud connect, or publish with an active rosebud login, which saves one.

Options

OptionDetails
--directory <folder> / --zip <file>The complete new build. Use exactly one.
--title <text>A new title. The play link stays the same.
--description <text>A new description. An empty value clears it.
--thumbnail <file>A new cover.
--expected-version <version>The live version you accept replacing, from pull or status. Needed after a conflict.
--state <file>The game's state file.

Details you don't pass stay as they are.

Example

rosebud update --directory ./dist
{
    "project_id": "6f1d2c8e-...",
    "play_url": "https://rosebud.ai/play/moon-garden",
    "content_version": "e4a09b12c6...",
    "operation_id": "a3c1..."
}

Notes

  • If the game changed on Rosebud since your last update, update stops with version_conflict and lists changed_paths. Run rosebud pull to bring those changes in, then update again. See Publish updates.
  • After a pull that reported conflicts, update refuses with pull_conflicts (exit 2) until a pull reports none or you pass --expected-version. An update from a different folder than the last pull refuses with directory_mismatch (exit 2): pull into that folder first, or pass --expected-version to release it anyway.
  • update has no force option and never merges for you.
  • If an update is interrupted or its result is unknown (exit 4), run the identical command again with the folder unchanged. It reuses the same operation, sends the media the way the first attempt did, and won't publish twice. If the folder or options changed meanwhile, it refuses with pending_operation.
  • busy means Rosebud changed nothing. Run the same command again after retry_after_seconds; you may change your files first unless an earlier update is still uncertain.
  • project_busy means Rosebud is generating in the game. Wait for it to finish.

On this page