SENSE is a basic web-based Nine Sols save editor designed to parse, modify, and export game save files directly in your browser 🔥
- Runs in a browser 🌐
- Simple to use field editor ☑️
- Nice-looking modern web interface 🎨
- Compatible with the Steam version of the game 🔥
For non-Steam version of the game check out Nine Sols Save Editor. I also took the field info .json file directly from there.
- Please, make a backup of your original save file
- Select or drag'n'drop the save file you want to modify
- Wait patiently for the file to open, it usually takes a few seconds
- Modify your save file, Ctrl+F is your best friend
- Download your newly modified save file and enjoy
The default Steam save file location for Windows is:
%userprofile%\AppData\LocalLow\RedCandleGames\NineSols
For Linux:
/home/(username)/.steam/steam/steamapps/compatdata/1809540/pfx/drive_c/users/steamuser/AppData/LocalLow/RedCandleGames/NineSols/
It turned out to be quite a technical challenge to make it all work. The biggest problem was to pack the data back in a way the game can still read it. The game is data marker sensitive and so the usual MessagePack encoding library just wouldn't cut it. MessagePack libraries mostly aim to provide a smaller file size rather than accuracy. I made rmpp rust crate and npm package specifically to solve this issue.
The save data is stored in a deflated MessagePack-encoded binary file of .sav/.sav.bak extension. The latter simply being a backup. So the general editing process looks something like: inflate → decode → edit → encode → deflate.
- MessagePack handler: a custom Rust WebAssembly NPM package 💌
- Frontend: HTML5, TypeScript, Svelte 🔥
- Styling: CSS3, Tailwind CSS, Daisy UI 🌼
