scmJS docs

Where it looks

The editor settles on one source of game data when it starts, in this order:

  1. A data set you chose. When a data set other than the game's own is selected, its stored copy is asked for first. If that copy is gone, the editor says so and continues with the game's own files.
  2. Bundled with the build. A clone that ran npm run extract serves the files from its public/ folder. The desktop app serves its own extraction the same way.
  3. A copy kept in the browser. An earlier download or upload left the extracted files in the browser's private storage for this site. The copy survives reloads and browser restarts and is about 30 MB; Help ▸ Game Data… shows it and removes it. A browser with no such storage holds the files for the session only.
  4. The desktop app's search. The desktop app looks for the two archives next to the app (an AppImage's folder, the install folder, an unzipped folder, so two files dropped beside the app are found), in its own data folder, in SCM_DATA_DIR or STARCRAFT_DIR from the environment, in the platform's usual install locations (C:\Program Files (x86)\StarCraft, /Applications/StarCraft, a Wine prefix on Linux), and in ~/StarCraft and ~/Games/StarCraft. The first folder with the archives is extracted into the app's data folder, which is then step 2. Someone whose game is where the installer put it never sees a dialog.
  5. Nothing. The editor runs without graphics and opens Help ▸ Game Data… to offer the routes below.

Nothing is ever fetched from an address you did not name. Earlier versions could take a web address to load the files from; that route was removed once Blizzard's own package became installable in one click, because a chain that runs out and asks is easier to understand than a silent fetch.

The browser's private storage is per site, so editor.scmjs.dev and nightly.editor.scmjs.dev each keep their own copy and each ask once.