Mods & Fluxloader

Sandustry ships with official modding support, and the community built its own loader during the demo. Here is how the pieces fit, and what the modding API can and cannot actually reach.

Timing matters on this page. Everything below describes the tooling as it stood against the demo. The Steam store page lists modding support with dedicated tools as an Early Access feature, which may change or replace what the community built. Check each project's own releases before installing.

The tooling

Mod loader

Fluxloader

The community mod loader, previously called modloader. A Node.js application that manages a mods folder and launches the game with mods enabled.

Shared library

corelib

A core library published by the same team for mods to build against.

Map tooling

Custom Map Loader

Runs on top of Fluxloader. Handles creating and selecting custom maps, so map content does not need a separate install path.

Installing Fluxloader

The full walkthrough, including what it writes to disk, is on the dedicated guide:how to install Sandustry mods with Fluxloader. The short version:

  1. Get the loader from the project's GitHub releases.
  2. Run it once — it generates fluxloader-config.json and a mods folder.
  3. If auto-detection fails, point it at your game executable.
  4. Drop mods into the mods folder.

Running from source instead:

npm install && npm start

What the modding API actually exposes

This is the part worth knowing before you plan a mod, because it decides what is realistic. Mods apply changes by patching files:

FunctionPurpose
addPatch(file, patchObj)Standard file modification
addMappedPatch(fileMap, mapFn)File mapping with a transform function
setPatch(file, tag, patchObj)Tagged patches, for organisation

The documented patch style is string replacement against game files. Beyond patching, the API covers cross-environment communication between the Electron, game and worker contexts, lifecycle event listeners such as scene loading, and configuration schema management.

What it does not document is a query API for game data — no documented interface for reading materials, recipes or building statistics. The modding guide is explicit about its own limits, advising that the source code is the final authority over the guide.

That has a direct consequence for anyone hoping to build data tools on a loader: as documented, you are patching files, not reading a content database. It is also why the numbers onthis site's game data page are marked as undocumented rather than extracted — seethe sourcing policy.

What community mods tend to do

Based on what the projects above actually ship: quality-of-life tweaks, and map loading. The Custom Map Loader is the clearest example — custom maps rearrange terrain and world layout, which is a different kind of change from rebalancing research costs or machine rates. Given the patching-based API, terrain and UI changes are substantially easier to ship than economy changes.

Before you install anything

  • Back up your save. Sandustry has save versioning — devlog 0.0.3 notes that adding it required restarting with old saves. A mod that touches save data can cost you a base.
  • Check the mod's compatibility note against your build. String-replacement patches break silently when the game code moves; a mod that no longer applies is a better outcome than one that half-applies.
  • Disable everything before reporting a bug. Confirm the behaviour in vanilla first — the developer is active in the Steam discussions and a modded repro wastes that.

Official vs community

These are separate things. Modding support with dedicated tools is listed as a feature of the Early Access release by the developer. Fluxloader is an independent community project that filled the gap during the demo. When the official tools arrive, the community loader may become unnecessary, may adapt, or may keep serving cases the official tools do not cover — that is not yet known.

For anything official, start at theSteam store page and theofficial wiki.