# thrungames upload

Upload a build from a folder or a .zip file

MCP tool: `upload_build` (https://www.thrungames.com/mcp#tools)

```text
Zip a folder (or take a .zip), check it against the upload limits, and
upload it as a new version of your game.

Resolution order, first match wins:
  path     the argument, THRUNGAMES_PATH, "root" in game.json, then "."
  game.json  the working folder's, else the source folder's, else the zip's
  files    every file in the folder except .git, node_modules and
           dotfiles, narrowed by "include" and "exclude" in game.json
           (a .zip is uploaded as it is)
  version  --version, THRUNGAMES_VERSION, "version" in game.json, then
           git describe --tags --always in the source folder
  size     --width/--height, then game.json, then the current version's
           (an Immersive game with none gets 960x600)
  submit   --submit, or THRUNGAMES_SUBMIT=true (or 1)
  game     with an upload token (tgu_...) the token's game; otherwise
           --game, THRUNGAMES_GAME, then "name" in game.json

Without --submit the version stays a draft you can preview and submit
later with "thrungames versions submit".
```

## Usage

```sh
thrungames upload [path] [flags]
```

## Examples

```sh
thrungames upload ./build --game space-dodger --version 1.2.0
thrungames upload game.zip --game space-dodger --submit
```

## Flags

- `--game` (string): game slug or id (env THRUNGAMES\_GAME; default: name in game.json)
- `--height` (int): display height in pixels (default: game.json, then the current version's)
- `--submit` (bool): send the new version to review (env THRUNGAMES\_SUBMIT)
- `--version` (string): version name (env THRUNGAMES\_VERSION; default: game.json, then git describe)
- `--width` (int): display width in pixels (default: game.json, then the current version's)

Global flags: --api, --json, --token (see https://www.thrungames.com/cli/manual.md)
