Releases: valentinps/satisfactorymap
Release list
v0.1.8
v0.1.8
Update 8 saves open, your tamed doggos are on the map, the search bar finds
layers and not just things, and a bottleneck warning finally shows you which
belt it means.
New
- Update 8 saves open — experimental. Saves from Update 8 (save version
42) load and map like 1.0/1.1 ones: the handful of places the file layout
changed at 1.0 — the save name in the header, the per-level version field,
the flags on every actor, and the collectables list at the end of the
persistent level — are now read according to the save's own version.
Verified on a 6 GB Update 8 save of 5.4 million objects, with the whole
1.0/1.1 test suite still passing. Two things to know: the versions
between U8 and 1.0 (43–51) are refused outright rather than guessed at,
with a message saying so; and an Update 8 save is view-only — the save
editor only knows how to write 1.0-format records, so it declines to edit
one rather than hand you a file the game would refuse to load. Everything
else — the map, search, tooltips, the progression view — works as usual. - Tamed Lizard Doggos on the map. A doggo you've tamed is a permanent,
hand-fed part of your world, so it now gets a pin of its own — the same
species artwork the spawners use, wearing a heart so it can't be mistaken
for one, and labelled "Lizard Doggo (Tamed)" in the sidebar and in its
tooltip. Wild doggos are deliberately not plotted: one only exists in a
save because you happened to be standing near it when you saved, and it
despawns the moment you walk away, so a pin would promise a doggo that
isn't really there. Where the wild ones live is the Spawners layer's job. - The search bar finds layers, not just items and buildings. Four new
kinds of result, each opening the same panel a building does — a count, a
breakdown, and "Show only this on map":- Ore nodes and resource wells. "Iron Ore (Resource Node)" tells you
how many exist, how many are still untapped, and how they split across
Pure / Normal / Impure — in the map's own purity colours. Kept clearly
apart from the ore item of the same name, which is still there too. - Creature spawners, by species, with the count of spawn points.
- Tamed creatures, with how many you have.
- Conveyor Belts, Conveyor Lifts and Pipelines as whole categories,
each with a per-tier breakdown — so "am I still running Mk.1 belts
anywhere?" is one search away. Their rows are scattered across the
build-menu subcategories, so there was no single toggle for them before.
- Ore nodes and resource wells. "Iron Ore (Resource Node)" tells you
- Middle-click hides whatever is under the cursor — the same per-object
hide the right-click menu offers, in one gesture, for digging a machine out
from under the roof covering it. "Restore N hidden objects" in the sidebar
undoes them all. - Ctrl+F jumps to the search box, and focusing or clicking it selects
whatever is already typed, so the next keystroke replaces the old query
instead of appending to it.
UI fixes
- Bottleneck warnings now show the whole line. Marking a belt line's slow
segments used to drop a lone warning pin and leave you to work out which
belt it meant. The whole run is now traced in amber with its limiting
segments in red — conveyor lifts included, which are drawn as structures
rather than belts and are very often the slow link — and each warning pin
sits at the middle of its segment instead of on the joint it shares with
its neighbour, so there's no guessing which of two belts is being blamed.
The altitude filter also widens to cover the line while the markers are up
(and goes back to where you had it afterwards): the slow belt is routinely
a floor or two away from the one you were inspecting, and used to be
filtered out of sight along with the warning itself. - Creatures no longer clutter the item search. Hogs, Spitters, Stingers
and friends were listed among Iron Plate and Screws — 21 entries that are
animals, not things you can hold, and the only ones with no icon at all.
Searching "hog" now finds Hog Remains, the Silver Hog Statue, and the hog
spawners. - Every spawner species has a distinct name. Two different Forest Spitter
variants shared one name, showing as two identical rows in the sidebar with
no way to tell which was which; species are now named from the same table
the rest of the map uses, which distinguishes them ("Alpha Red Forest
Spitter"). A few species read slightly differently as a result. - Crude Oil nodes and oil wells are independent layers again. Both were
filed under the same internal key, so hiding one hid the other, and a
remembered filter choice for one was silently applied to the other.
Under the hood
- The spawner-name and item-catalog rules are now pinned by tests: species
names must be unique and hand-curated, and no creature may reach the item
search under either of the two names the code knows it by (that check
immediately caught a Crab Hatcher that had been missed).
Checksums (SHA-256)
210a499b6c94d4dce45fa37d68666de97dfbd2543c7a59eb15a717fec7fd9a69 Satisfactory-Save-Map_0.1.8_x64_en-US.msi
34d6836533c469d4daaa34cc31c0d5795112b93c1aeb50ce4386ff236c70d071 Satisfactory-Save-Map_0.1.8_x64-setup.exe
v0.1.7
v0.1.7
Creature spawners on the map, a calmer first load, saves loadable straight
from a URL — and under the hood, the map's world data now regenerates from
the game's own files.
New
- Creature spawners on the map. A new Spawners category pins every
creature spawn point on the planet — Hogs, Crab Hatchers, Stingers and
Spitters as toggleable families, plus Lizard Doggos, Flightless Birbs and
the Space Giraffe-Tick-Penguin-Whale Thing — about 2,800 pins, each with
the game's own creature icon. The data comes from the game's level files
(a save never records which creature a spawner spawns), so it's identical
on every save. - A calmer first load. The world layers — resource nodes, resource
wells, collectables, spawners, and dropped items — now start hidden, so
loading a save shows your factory instead of thousands of pins. Switching
any of them on is remembered like every other filter choice. - Load a save from a URL. Append
?url=<address-of-a-save>to the map's
address and the file downloads straight into your browser (with progress)
and parses as usual — so a dedicated server's autosave can be shared as a
plain link. The save never passes through this site's servers; the host
must allow cross-origin (CORS) requests, and failures say so. - Every solid resource node now reads as an ore. The game names only
some ores with the suffix (Iron Ore, but bare Uranium / Bauxite /
Limestone / Coal...); the Resource Nodes list now shows Uranium Ore,
Bauxite Ore, Limestone Ore and friends consistently. Crude Oil and
Geysers stay as they are.
UI fixes
- Copying on very large saves no longer crashes the editor. On saves
above roughly a gigabyte of decompressed data, any copy/paste could die
with "Edit failed: unreachable" in the browser: growing the save to fit
the copied objects briefly needed twice the save's memory, blowing the
browser's 4 GB WebAssembly limit. Small and medium copies now grow the
save in place (built-in headroom); bigger ones rebuild through a
compressed snapshot at ~1x memory, so pastes big and small apply
directly in the session. An edit that genuinely cannot fit under the
4 GB limit fails up front with a clear message pointing at the desktop
app — and if the browser dies mid-edit anyway, the editor reloads and
restores your earlier edits instead of leaving a dead page. - Copy a build from one save into another — right in the browser. Copy,
load the other save (same tab), paste. Copies up to 50,000 objects also go
through the OS clipboard, so they paste in another browser tab too; bigger
copies stay inside the tab — mirroring them onto the OS clipboard could
stall the whole machine — so for those, cross-save means the same-tab flow
above. Above 150,000 objects the browser refuses the copy outright
(nothing is copied — a selection that size can't paste reliably inside
the browser's 4 GB limit) and points at the desktop app, which has no
such limits. - Hypertube entrances are back on the map — and with them, copies of
daisy-chained builds keep their power wires. Entrances were treated as
line-only geometry, but an entrance with its default tube shape carries no
spline in the save, leaving it invisible and unselectable — so wires
between chained entrances could never travel with a copy. They now render
as regular powered buildings again. - Power lines are selectable — they highlight in box selections and can
be deleted individually. For move and copy they act as riders: a wire
travels exactly when both the things it connects travel, so a selected
wire can never be dragged off a pole or pasted dangling. - Pipe bottleneck warnings are now scoped like belt ones. A Mk2 pipe
feeding two Mk1 pipes through a junction no longer warns — the detector
follows the pipe line and stops at junctions that actually split or merge
the flow (junctions used as plain couplings don't cut the line, so a Mk1
segment inside a Mk2 run is still flagged). - Turning a whole sidebar group on or off is now remembered as exactly that:
group toggles persist at the group level instead of as per-row states. - Lift-placed splitters and mergers fold into their base attachment rows
(the "... on Lift" variants), and Power Lines are one row — searchable —
instead of two. - Brighter, higher-contrast colors for belts/pipes/wires at full zoom-out.
- Updating the site can no longer leave your browser running the previous
build's parser: every asset is now content-hash versioned, so a refresh
always picks up the new code.
Under the hood
- All static world tables (power slugs, somersloops, mercer spheres, crash
sites, dropped items, resource-node purity) now regenerate from the
game's own level data via a one-command pipeline — validated 1:1 against
the previous tables, and recovering two dropped-item pickups and one
resource node the old data missed. Extracted the same way: the spawner
and creature-name/icon tables behind the new Spawners category (all 159
Lizard Doggo spawns included), plus consumable plants as groundwork.
Checksums (SHA-256)
f1b703662ea3e466d59f58f3419f22b957ebe18922ab21c52e8ad046997e6854 Satisfactory-Save-Map_0.1.7_x64_en-US.msi
1c6bbb2035bf79979c85ecf02b71536646f5a079e4e13da7a4b9ae3ecf6d3f16 Satisfactory-Save-Map_0.1.7_x64-setup.exe
Game data v2
Game-data archive for the build script (see build.sh). Adds over game-data-v1:
creatureSpawners.json/creatures.jsonnow feed the map's Spawners layer (embedded into the parser).- Creature icons under
map/static/map/icons/creatures/. - The Space Giraffe's display name is the community one ("Space Giraffe-Tick-Penguin-Whale Thing") instead of the in-game meme string.
SHA-256: 9db05102cf5ce375ddbb55d4c47cad07cc536603f490faa716e10ef693d07af6
v0.1.6
v0.1.6
A quality-of-life release: modded off-map builds are now reachable, the whole
map can be selected in one keystroke, a loaded save can be unloaded, and the
top bar got straightened out.
New
- Builds outside the map are now reachable. Some mods let you build past
the vanilla world border; those saves loaded fine but the map refused to
pan out to them. The pan limits now grow to fit the save's actual extents
when it outgrows the map — vanilla saves keep the usual limits, and panning
still can't wander off into the void. - Ctrl+A selects everything on the map — same rules as a box selection
over the whole world (visible layers only, altitude filter respected), so
megabase-wide move/copy/delete is one keystroke. On very large saves
(500k+ objects) it asks for confirmation first. Ctrl+A inside a text field
still just selects the text. - Unload a save without reloading the page. A new "Unload" button next to
the Save File header clears the map and sidebar and frees the parser's
memory (useful before opening a second large save). If you have unexported
edits it asks first.
UI fixes
- The search bar is now exactly centered in the top bar instead of drifting
with whatever buttons surround it. - The desktop app's update button moved next to the logo, where it no longer
pushes the search bar off-center when an update is available.
Checksums (SHA-256)
45c779b8860b945845a53945c724131e4f773e8e74a86f13034151feb3566057 Satisfactory-Save-Map_0.1.6_x64_en-US.msi
e141b7580fed0bac56722f5b3738b33392ccef4acc0e62de656d2d9c2f05c503 Satisfactory-Save-Map_0.1.6_x64-setup.exe
v0.1.5
v0.1.5
A large maintenance release from a full-codebase review: security hardening,
a much smaller/faster map payload, parser robustness, and a batch of editor
and UI fixes.
Security
- Dedicated-server fetch now pins the server's TLS certificate the first
time you connect (trust-on-first-use), and verifies it before sending the
admin password on every later fetch. A changed certificate is reported and
requires explicit confirmation before trusting it, instead of silently
accepting any certificate. - The remembered admin password moved to the Windows Credential Manager
(from plaintext local storage). An existing saved password is migrated
automatically on first launch. - The in-app webview now runs under a strict Content-Security-Policy.
Performance
- The map payload is ~40% smaller and loads faster, which also cuts peak
memory when loading large saves (about 1.8 GB less on a 50 MB save). - Parser and map-data build are faster and use less memory on big saves.
- Very large saves (over ~2 GB decompressed) now show a clear "use the
desktop app" message in the browser instead of failing cryptically — and
the desktop app loads them.
Robustness
- Corrupt or truncated save files now fail with a clear error instead of
crashing. - Resource nodes not in the bundled data tables are still shown on the map
(under their own type name) instead of silently disappearing.
Editor & UI fixes
- More reliable save editing: stricter internal validation before writing,
and a fix for a rare edge case when duplicating signs. - Isolating a train on the map no longer misplaces its markers.
- Item/building searches no longer show stale results when you search again
quickly or load a different save mid-search. - Escape now closes one thing at a time (a modal, a placement, a highlight)
instead of several at once. - Altitude filter "Reset" no longer re-applies an old range to the next save.
Checksums (SHA-256)
520829617eb4616f8cac1f2ad561b9c1cffa6010369c087564fd68f143b2833d Satisfactory-Save-Map_0.1.5_x64_en-US.msi
e99a1800bfeb5566cf4fe2599b9bc540f157380f4ee576320f1d719665da904f Satisfactory-Save-Map_0.1.5_x64-setup.exe
v0.1.4
Satisfactory Save Map 0.1.4
✨ The app now updates itself
This is the last version you'll ever download by hand. From 0.1.4 on, the app checks for new releases on startup — when one exists, an Update button appears in the top bar; one click downloads the cryptographically verified installer and applies it. No more Releases page, no more SmartScreen ceremony on every version.
Fixes
- Pasting: several bugs in paste placement and the clipboard apply path.
- Deleting chained belts: removing a belt that's part of a conveyor chain now cuts the line cleanly — the chain actor is removed and every surviving belt keeps its items, matching what dismantling that segment in-game does (details in docs/chained-belt-delete.md).
- Selection highlight: the blue overlay now rotates with the buildings instead of drawing axis-aligned boxes over rotated ones.
Download (one last time)
*-setup.exe— recommended: this is the package the built-in updater uses, so starting from it keeps every future update fully silent*.msi— classic Windows Installer package, same app. Note: if you install from the MSI, your FIRST in-app update shows a one-time "uninstall this product?" confirmation while it switches you to the updater's package format — click Yes; it never appears again.
Requires Windows 10/11. The installer is unsigned — Windows shows its standard "unknown publisher" SmartScreen prompt; "More info" → "Run anyway" proceeds (see the v0.1.0 notes for the full explanation). Verify your download with Get-FileHash <file>:
f1609044aba642a8d3b3e3e4b7578d6938e09249ea6efb237d1dd5079a80cb16 Satisfactory-Save-Map_0.1.4_x64_en-US.msi
434509915fa72fe0dd2459a42bc88a986f91daa0a1069a69abe9b664b447ad01 Satisfactory-Save-Map_0.1.4_x64-setup.exe
Something broken? Open an issue — ideally with the save file attached.
v0.1.3 — advanced copy & paste
Satisfactory Save Map 0.1.3
✨ Advanced copy & paste
Save editing grows real clipboard workflows:
- Copy & paste across saves and tabs — copies travel through the system clipboard, so you can copy a factory section in one save, load a different save (even in another tab), and paste it there. In the desktop app, copies too large for any clipboard stay in the app's memory and paste just the same.
- Precise placement — paste back at the original location or at exact coordinates, with fine offsets, 90° rotation, and the click-to-place ghost preview. Undo works as always.
- Node re-link — pasted miners and extractors re-attach to the resource node under their new position when the resource type matches, so a copied iron-mining setup dropped onto another iron field just works.
Also in this release
- Modded-save compatibility:
MapPropertyvalues of typeBoolPropertynow parse (another mod-config map shape found in the wild).
Download
*.msi— standard Windows installer (recommended)*-setup.exe— NSIS installer, same app
Requires Windows 10/11. The installer is unsigned — Windows shows its standard "unknown publisher" SmartScreen prompt; "More info" → "Run anyway" proceeds (see the v0.1.0 notes for the full explanation). Verify your download with Get-FileHash <file>:
be82d7e4ff2ba30bb7ddd413bd2d8f1570ca0dc030a1d7f1cc32fc63b301d82a Satisfactory-Save-Map_0.1.3_x64_en-US.msi
6567670ccde0a7f10b39f67e9946cf5bd77ccef759faa03fe98f4d90f0b2128e Satisfactory-Save-Map_0.1.3_x64-setup.exe
Something broken? Open an issue — ideally with the save file attached.
v0.1.2 — fetch saves from your dedicated server
Satisfactory Save Map 0.1.2
✨ Fetch saves straight from your dedicated server
The desktop app can now pull the newest save directly off a dedicated server, using the official server HTTPS API — the same one the in-game Server Manager talks to. Enter the server address and admin password in the Save File panel, hit Fetch latest save, and the map loads it; no manual file copying.
One firewall note: the server API listens on TCP port 7777 (the game itself uses UDP), so TCP 7777 — or your custom port — must be open. Details, setup, and troubleshooting: docs/server-fetch.md.
The admin password is only stored if you tick "Remember password" (plainly, in the app's local storage — the label says so).
Also in this release
- Modded-save compatibility: saves containing string-valued mod config maps (
MapPropertywithStrProperty/NameProperty/EnumPropertyvalues) now parse - The web app's Save File panel links here for saves too big for any browser.
- Interaction benchmark published: at full-factory overview this map never dropped a frame where the incumbent froze for up to 15 s at a time (methodology).
Download
*.msi— standard Windows installer (recommended)*-setup.exe— NSIS installer, same app
Requires Windows 10/11. The installer is unsigned — Windows shows its standard "unknown publisher" SmartScreen prompt; "More info" → "Run anyway" proceeds (see the v0.1.0 notes for the full explanation). Verify your download with Get-FileHash <file>:
eb381f5acaafeb3bd1b1f3fd72631c659ac1c33513dd7002dc579015e77316df Satisfactory-Save-Map_0.1.2_x64_en-US.msi
0c16f248bbe503e62be86272e32c022366936542fe0f01a2086e8d7b428b892d Satisfactory-Save-Map_0.1.2_x64-setup.exe
Something broken? Open an issue — ideally with the save file attached.
Test saves v1
Real-world Satisfactory save files used as the test corpus for the Rust
parser/editor test suite (cargo test -p sav_core), tools/e2e_editor.py,
and CI. Download them into map/uploads/ with py tools/fetch_test_saves.py.
| Asset | Size | Role |
|---|---|---|
All_080726-163150.sav |
0.3 MB | primary editor-test save (source) |
solo_autosave_1.sav |
15 MB | cross-save paste target |
BuildITBIIIIIG_210726-231135.sav |
50 MB | large-save stress / benchmark save |
v0.1.1
Satisfactory Save Map 0.1.1
Everything currently live at satisfactorymap.net, packaged for the desktop app. Changes since 0.1.0:
- App icon — the map gets a proper logo (orange pin), used for the tab icon on the web and the app/installer icon here.
- No more "Unknown" red dots — HUB props render as real labeled buildings grouped under Special → "The HUB" (the HUB itself now draws its true 14×26 m footprint); ramp railings, railroad switch controls, lift-mounted splitters/mergers, and blueprint storage boxes all land in their proper categories; pure-clutter actors (vehicle path nodes, sign poles, pipeline flow indicators, spawned toilet props) no longer show at all.
- Sidebar fixes — filter checkboxes no longer desync when loading a second save; group toggles show a mixed state; your filter selection is remembered across sessions.
- UI polish — labeled Depot and Progression buttons replace the six icon tiles; slimmer save panel with an expandable details section; building search adds locator pins; item search also outlines the buildings holding the item; tooltips follow the map while panning and clear on zoom.
- License — now AGPL-3.0, with the parser port relicensed from GPL-3.0 by written permission of GreyHak (see NOTICES.md).
Download
*.msi— standard Windows installer (recommended)*-setup.exe— NSIS installer, same app
Requires Windows 10/11 (WebView2 preinstalled on 11, fetched automatically on 10). The installer is unsigned — Windows will show its standard "unknown publisher" SmartScreen prompt; "More info" → "Run anyway" proceeds. See the v0.1.0 notes for why, and verify your download against the checksums below (Get-FileHash <file> in PowerShell).
Checksums (SHA-256)
013e0fbc8641464cd4eaa1920a7e80cc1726361afc10b691e7de49a98e763dac Satisfactory-Save-Map_0.1.1_x64_en-US.msi
c267f5ded5abff7583571d79da081633db22ef71cead4a1aa6519d677ae7166b Satisfactory-Save-Map_0.1.1_x64-setup.exe
Found a save that doesn't load, or anything else broken? Open an issue — ideally with the save file attached.