Skip to main content

Troubleshooting

Start here when something isn't working and there's no error message to look up. For a message, see Errors.

Releases​

My release didn't show up

Check where each step reports, in order:

  1. The CLI. arc deploy waits until the release is published or fails, and says why it failed. If it timed out, the release may still finish.
  2. Arcadible Studio. Builds ▸ Failed lists every failed release with its reason. A release still on its way is at the top of the game's Builds tab.
  3. Your email. Arcadible emails "Release Published" or "Release Failed" for every release.
  4. GitHub, for arc deploy git. If the workflow run failed, Arcadible never received the release: open the run on the repository's Actions tab. See GitHub.

A published build can take up to 10 minutes to reach all of Arcadible.

My store page didn't change
  • The release was a prerelease. Only a production release changes the store page. Arcadible Studio's Store tab shows what a prerelease would publish, under Staging. See Channels.
  • The release failed. See My release didn't show up.
  • It hasn't reached you yet. Changes take up to 10 minutes to reach all of Arcadible.

Playing on Arcadible​

My game works locally, but not on Arcadible

Your engine's dev server doesn't reproduce the Arcadible sandbox, and arc serve does: run it to find most of these on your machine. Check each of these:

  • File names. Builds are served exactly as they are, and paths are case-sensitive: Ship.png isn't ship.png. See Static files.
  • Routes and directories. Every URL maps to one file: a client-side route such as /level/3 fails, and so does a directory path without its trailing slash. Use the hash (#/level/3) for routes. See Static files.
  • Assets from other servers. Cross-origin isolation blocks anything served without CORS or a Cross-Origin-Resource-Policy header. See Cross-origin isolation.
  • Precompressed builds. Files that need the server to add Content-Encoding don't load. See Compressed engine builds.
  • Dialogs, pop-ups, and forms. alert(), confirm(), new windows, and form submission are blocked. See The sandbox.
  • Permissions. Only some browser features are allowed, and some need a tap or click first. See Permissions.
  • Saves. Each version starts with empty browser storage, and the hosted Arcadible SDK script is served only on Arcadible and under arc serve. See Saves.

Open the browser's developer tools on the play page: errors from the sandbox name what was blocked. Deploy a prerelease to staging to test on Arcadible without changing what players get.

Players lost their saves after an update
  • The game keeps progress in browser storage. It belongs to each build's origin, so a new version starts with it empty. Keep progress in saves, which carry over.
  • An older version overwrote a newer save. Check a save's version before writing it. See Handle other versions' saves.
  • The game is open in two tabs. The last write wins. See Two tabs.
arcadible is undefined
  • Under another local server, the hosted script, /arcadible/sdk/v1.js, isn't found. Run the game with arc serve, which serves it as Arcadible does, or use the @arcadible/sdk package, which works everywhere. See Locally.
  • On Arcadible, the script tag must come before your own scripts, without async, defer, or type="module". See Install.

The CLI​

arc login doesn't finish
  • The code expired. A login request lasts 10 minutes. Run arc login again.
  • You're asked to prove you're human. After 5 wrong codes, the link page asks for a captcha.
  • You're on a machine with no browser. Open the printed link on any device, or scan the QR code with a phone that's logged in. See arc login.
arc play opened a browser, not the desktop app

arc play and arc open use the Arcadible desktop app when it's installed, and a browser otherwise. Pass --browser to always use a browser.