How to transfer your base, vessels, and POIs between saves (including the recent 3.3.0 update that made saves 'incompatible')
EDIT: A similar technique also works for adding new POIs (e.g. going from 3.3.0+ to 3.5.0 update) without starting over:
- Copy paste the old game.dat file into a new save game folder (name it whatever you want)
- Copy your Players folder from your old save game folder to the new save game folder
- Load the save game you just created a folder for, then quit.
- Follow the instructions starting from the Copying game assets from the old save to the new section
In the recent 3.3.0 update, which has a bunch of new POIs and other cool stuff
, the game developers also warned everyone that the previous save games are incompatible with the new update, and advised everyone to start a new save. When my friend and I tried playing after the update, none of the resource indicators worked, such that it appeared that there were no resources in the entire solar system. To top it off, there were none of the new POIs or NPCs that were released in the update. Since my friend and I spent a considerably embarrassing amount of time building a mansion with an extended driveway on Omicron, we wanted to keep our creations but also have access to the new POIs. This post is the culmination of all the experimentation from poking at various hex files and swapping game data between different save games. Here's how (at least as far as I can tell) the save files work:
To access your save game folder, go to your steam folder and find the Saves folder in steamapps common (the filepath usually looks like: C:\Program Files (x86)\Steam)\steamapps\common\Empyrion - Galactic Survival\Saves\Games\ your-save-game-name-here.
Inside this folder you will find several files and folders, but please take special note of the following:
- Players - stores information about your player, inventory, state, etc.
- Playfields - stores detailed information about terrain in a given area of a planet
- Shared - stores detailed information about the structure of vessels, buildings, and POIs
- game.dat - stores global information about the save game, including seed number, topography, POIs, and resource distribution
In particular, Playfields is a very important folder in restoring your vessel(s) and base(s). Please note the structure of this folder as well. Each of the subfolders represents a large region, either a planet or an orbital space (e.g. Omicron or Omicron Orbit). Each large region contains the following files and information:
Now that you know approximately what each file/folder does, here's how to convert your saves: Creating the hybrid game.dat file.
- Areas - this folder contains detailed information about specific areas on the planet. Each .area file represents a cubic area that you have explored on that planet or space, as well as any terrain deformations made in that area
- drones.dat - has information on drone behavior, patrol patterns, etc
- ents.dat - Stores the location and orientation of all vessels, bases, and POIs in that region/planet.
- world.dat - Appears to be formatted differently since the new 3.3 update and has information about POIs in that planet / space
The game.dat file format changed slightly between 3.2.1 and 3.3.0, so you'll need to generate a new save file in the new format before you proceed.
Recreating the new save game world using the old save seed
- Open Empyrion and create a new save game. Ensure you use the same starting planet and also the same mode (Survival or Creative). The seed number does not matter. Once the new game loads, exit the game.
- Open the Empyrion save game folder (see previous section for file location) and open your old (original) save folder. Open game.dat - I recommend using HxD. Once open, you should see something like this:
4652 9478 0200 0000 6328 0000 0100 0000 0000 0000 08dd 2e00 0000 0000 ea4e 5100 0000 0000 The first 4 digits of the second row (0000) represent the part of the seed number that sets the randomized topography of the planets. Copy this number (in my case 0000, since it's the stock planet arrangement before the seed feature), and paste it into the exact same position in the game.dat file in the new save game folder you just created in step 1.
Note: I have not tested this with Akua as the starting planet, but I suspect that if it does not work, transferring the next 4 hex digits after the aformentioned ones above might do the trick.
EDIT: Figured out that the seed number for the planet layout before seeds were introduced is: 524288
Copying game assets from the old save to the new
- Open the new save game folder and delete EVERYTHING except the modified game.dat file. (It's a new save, so there shouldn't be any issues).
- Create a Players folder in the same directory along with the now lone 'game.dat' file. Copy and paste all the player files in your old save game Players folder into the new save game Players folder. This transfers the state of your character (including inventory and location) to the new save.
- Load the game and ensure that (i) your character loads correctly and (ii) that the planet topography is correct. Please note that you will see different POIs and resources than on your original game, and you will be missing all bases, vessels, and terrain modifications made in your old save game. This is OK. If you're not seeing the familiar topography of your old save, repeat all previous steps and ensure the game.dat file is modified properly. If everything looks good, exit the game.
Transferring location and orientation of all POIs, bases, and vessels
- Copy the entire contents of the Shared folder of the old save game to the Shared folder of the new save game. This copies all the state and structure for your base(s) and vessel(s), as well as the state and structure for POIs on all planets. You may also notice that the new save game folder now has additional folders - the game regenerated all the new files (in the new save game format) based on the lone game.dat file.
- For each of the planets that you wish to keep the terrain modifications for (e.g. for an embedded or subterranean base):
Pro tip: if you just want large modifications you made to the terrain and not all the holes you blew up all over the place with your rocket launcher on the other side of the planet, sort the Area folder by size and only copy the files greater than ~3 MB.
- Open the old save game Playfields folder and find the corresponding planet you wish to copy terrain modifications from. Open this folder.
- Inside the Playfields folder, open the Areas folder and copy the entire contents into the corresponding Areas folder in the New Save game.
- At this point, you may wish to load the new save game to ensure that the desired terrain modifications were properly copied
- This is the most difficult part. Before continuing, I recommend that you make a backup of the new save game folder. You may wish to do the same for your old save game, but it is not entirely necessary.
- For each planet or space you wish to transfer any bases, vessels, or old POIs:
If all went well, you'll have your base and vessels back, as well as have new POIs nearby to explore. Congratulations!
- In the Playfield folder of both the old and new save game, go into the desired planet or space and open the ents.dat file in HxD
- You should now have two ents.dat files open inside HxD. Ensure you know which file is which inside HxD (you can mouse over the tab for the full file location of each ents.dat file)
- In HxD, you should see the hex encoding on the left (mostly numbers) and the ANSI encoding (sort of like plaintext) on the right.
- For each base, vessel, or POI you wish to transfer:
- In the old save game ents.dat file in HxD, find the name of said base/vessel/POI by looking at the ANSI encoding (right side) or using the ctrl + F function of HxD
- Starting six (6) ANSI characters before (to the left of) the base/vessel/POI name (e.g. ".rY&..MyShipName"), highlight all the way to the end of the next filepath (e.g. "C:/Program Files (x86)/Steam/steamapps/common/Empyrion - Galactic Survival/Empyrion_Data/../Content/Prefabs.SV_New"). See this screenshot for an example.
- Copy this selection to the bottom of the ents.dat of the new save game file (other tab in HxD). Rinse and repeat for every desired base, vessel, and POI. Pro tip: you can copy more than one base/vessel/POI at a time, just make sure you start 6 characters before the first one, and end the selection in a full filepath. Also, I highly recommend against copying any drone entries in the ents.dat file - they may malfunction in the new game.
- Make a back up of the merged ents.dat file somewhere in case you need to reference it again and load the new game.
- If you are having difficulty generating the desired planet seed / terrain, play around with the game.dat file a bit. Compare values between different game.dat files (use entirely different saves, not backups of the same one) and find commonalities and differences to help pinpoint which set(s) of 4 hex digits should be copied from the old save to the new.
- If you are having difficulty identifying the .area file representing the desired terrain modifications, try the following:
- Delete all of the .area files in the corresponding planet Areas folder
- Load your new save game and walk over to the location of the desired terrain modifications
- Quit the game and open the corresponding planet Areas folder for the new save game
- Look at the filenames for the (now smaller number of) .area files. Find the corresponding filenames in your old save game and copy them over
- If upon loading the game after merging the ents.dat files you have two bases/vessels/POIs superimposed on one another, identify the names of the two different entities in the game, quit the game, and delete the undesired entity from your new save game ents.dat file. I recommend making a backup of said ents.dat file first. Be sure to use the same pattern for deleting entities as for merging them: start six characters before the entity name and end at the end of the next filepath.
: here a couple of imgur albums of Eisley Estate (intact) and some of the more entertaining issues I ran into while experimenting with the saves:
submitted by baron_omasia