SENSE is a basic web-based Nine Sols save editor designed to parse, modify, and export game save files directly in your browser π₯
β οΈ CRITICAL WARNING: Always back up your save files before editing them.
For non-Steam version of the game check out Nine Sols Save Editor. I also took the field info .json file directly from there.
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.