Skip to main content
When a check fails, OpenGame reports the evidence and its location, the result’s certainty, who needs to act, the smallest fix and when to try again. That is enough for you, or an agent working for you, to repair the game without debugging the platform.

Read a finding

This finding is from a real run, with the long strings cut short. The page asked for assets/Rock.png, and the file was assets/rock.png. The game loaded on the author’s Mac, which ignores case in file names, and players would have been missing a file.

Act on a finding

1

Read the fault

With game, change the game. With platform, don’t change the game: the failure is on our side. With unknown, wait: retry is never, because a person rules on it at review or it concerns code we ship.
2

Read the certainty

A certain finding is from a deterministic check. A heuristic one is our best reading of signals that can mislead, such as listeners a bundler renamed, so check the evidence yourself before you change code.
3

Apply the fix, then verify

Make the change in fix, then run the command in verify, usually opengame check, before you deploy again. A local check is free, and each deploy counts against an hourly allowance.

When the failure is ours

When a scanner, a moderation provider, storage or a test machine fails, the finding has fault: platform and the CLI exits with code 5. The check could not finish. Follow the retry guidance, and leave working code as it is: editing a good game to get through a broken check only damages the game. Waiting helps while a service is down. It does not help an upload that can no longer finish:
  • If the error line has a next command, run that.
  • A plain opengame deploy that finds its saved upload can no longer finish says so in an upload_restarted notice, and starts a fresh upload from your current files.
  • A deploy with a pinned key exits 2 instead, with an upload error such as upload_expired. To start again, run the deploy without a key, or with --idempotency-key <a new key>. This command makes the new key from the current time:
    A key you write yourself may use letters, numbers, dots, colons, hyphens and underscores.

Read a receipt

Each server check writes a receipt for the bytes it saw. A receipt is in one of the states below, and only passed clears a gate. A receipt belongs to one release and the bytes in it. A passed receipt for one release does not count for another, and a check runs again when the check’s version changes.

Read the exit code

Every command ends with an exit code, from 0 when it finished to 6 when the CLI is too old. The exit code table in the CLI reference, generated from the CLI, gives what each code means and what to do next.