--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 deploymakes one; the quickstart shows how. - A signed-in CLI, or a token with the
submitscope. A deploy-only token cannot submit. - The jam’s rules, which
opengame jamslinks 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 submitreadskindinopengame.jsonand stops before sending anything, and the server returnskind_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
- In your terminal
- With an agent
1
Find the open jam
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 sameopengame submit command again to go back to waiting. It resumes waiting on your existing submission.
Follow the review
Fix a problem
A required answer is missing
A required answer is missing
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.
Your newest deploy is not ready
Your newest deploy is not ready
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>.You have used today's submissions
You have used today's submissions
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.Your playtest runs for the last 24 hours are used up
Your playtest runs for the last 24 hours are used up
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.You are at the jam's entry limit
You are at the jam's entry limit
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 jam stopped taking entries
The jam stopped taking entries
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.