Skip to main content
You enter a ready release in the current jam, where it waits for review. The server picks the jam and supplies the tracks, fields, rules and certification terms, so you answer only what that jam needs. --jam <slug> is optional; if you pass it, it has to match the jam the server picked, or the CLI exits 2.

Before you start

  • A ready release. opengame deploy makes one; the quickstart shows how.
  • A signed-in CLI, or a token with the submit scope. A deploy-only token cannot submit.
  • The jam’s rules, which opengame jams links to. Read them for who can enter and what counts.
  • A game or a world. The rules ask that you own everything in your entry and made it after kickoff, so a decomp or a mod of someone else’s game can’t enter. You can still put it on OpenGame. opengame submit reads kind in opengame.json and stops before sending anything, and the server returns kind_not_in_jam.

Know the limits

Entering the same game again replaces the live entry and does not use up the entry limit. Submitting a newer release of a game replaces its older open review. An entry over the limit is refused before any test runs. A playtest run is the bot playtest on a GPU that each submit starts. Only the submit has to arrive before the deadline; scanning and playtesting can finish after it.

Submit your release

1

Find the open jam

This lists open jams, their tracks and a link to each jam’s rules.
2

Submit from the game folder

submit takes the release from this folder’s newest deploy, once it is ready. If that deploy failed or is still running, submit stops. It does not fall back to an older release.
3

Confirm the release and answer the form

Check the release’s ID and title, then pick the track and fill in the fields. The genre track is suggested from genre in opengame.json.
4

Certify in your browser

The CLI opens the certification page and waits up to 5 minutes. Certify the entry explains what you are agreeing to.

Certify the entry

The first time you submit a game, or enter it into a jam, the submission is made and then waits for you to certify. Certify on that page, in your own browser, that you have the rights to what you are entering. An agent cannot do this for you, because it is your legal statement. Later releases of the same game under the same terms skip this step. If the CLI stops waiting before you certify, the submission is still made. Run the same opengame submit command again to go back to waiting. It resumes waiting on your existing submission.

Follow the review

This shows the review state and any findings. A certification link means you still need to accept the terms in your browser. If changes are requested, fix them with the repair loop, deploy a corrected release, then submit that release.

Fix a problem

The jam’s form needs an answer you did not give. The CLI exits 2, and the message names the flag that supplies it. Add the flag and run the command again.
The CLI exits 2, because submit only takes a ready release. Resume an upload with opengame deploy. For a deploy being checked, run opengame status --watch and submit once it is ready. For a failed deploy, run opengame status to see why, fix it and deploy again, or name an earlier release with --release <releaseId>.
The CLI exits 4 with submission_quota_exhausted. You have made this account’s 10 submissions for the UTC day. Your game is still saved, and this attempt did not create a submission. Wait for the time in retryAfterSeconds, which runs to midnight UTC, then run the same command.
The CLI exits 4 with gpu_quota_exhausted. You have used this account’s 10 playtest runs for the last 24 hours. This attempt did not queue a playtest. Wait for the time in retryAfterSeconds, then run the same command.
The error is at_entry_limit. You already have 2 live entries in this jam. Withdraw one at opengame.io/jam/entries before you enter another game.
The error is jam_closed. The jam is not open, usually because its deadline passed before the server accepted the submit. Your private preview stays available.

Where next

Use the repair loop

Read a finding and fix what review asked for.

Update a live game

Ship a new release while the published one keeps serving.