DF2014:Saved game folder
|This article is about the current version of DF.|
The saved game folder is the location where a particular region's information and necessary files are stored and accessed by Dwarf Fortress. Knowledge on the technicalities of the saved game folder is crucial if one wishes to import or export saves.
Individual worlds are stored in the data/save/ directory in the Dwarf Fortress root directory. By default, they are saved in the format: region#, where # is a number, starting with region1 and then incrementing; however, world directories can be renamed without consequence if the game is not running (this will not change the actual name of the world). On Windows 7, if Dwarf Fortress is installed in the Program Files subdirectory, the saved game folders are instead located at "Users\Myname\Appdata\Local\VirtualStore\Program Files\Dwarf Fortress\data\save".
If you have modified your d_init.txt to seasonally backup, then the backup folders will be named region#-season-year, for example region1-spr-202.
This can become confusing if you frequently savescum. There is no way to change the name of these folders inside the game, but it is safe to change them using the standard methods of your operating system if the game is not running. However, never alter or delete the folder with the name of the game you're playing while saving from the game, or while that game is running! This can cause fatal flaws many dwarf-seasons later, and is one known cause of the "Nemesis Unit Load Failed" crash error.
The saved game folder will usually have these contents:
- A subdirectory, raw, containing the raws directly copied from the time the world was generated.
- Inside here is an objects folder containing the contents of the raws. This must be kept, but the contents inside can be modified to an extent.
- There is also a graphics folder for graphics for creatures.
- Finally, there may be an interaction examples folder. This, along with any files or folders not present in the aforementioned two folders, can be safely deleted.
- A series of files named art_image-#.dat. As their name would suggest, these files store information about art and are necessary for proper functioning. Don't replace!
- A series of files named feature-#-#.dat. The amount of these files is heavily dependent on the size of the world, and they store the information about map features (such as rivers, caverns, magma seas, and spires). Replacing these files will very rarely crash the game, but usually will cause unwanted effects such as magma seas present on the surface. These files do not seem to cause too many crashes when removed, and do not exist in some peculiar worlds.
- A series of files named region_snapshot-#.dat. These are the historical maps available in Legends mode.
- A series of files named site-#.dat.
- A series of files named unit-#.dat. Replacing these has been known to cause the infamous Nemesis Unit Load Failed error. Resolving the aforementioned error, however, involves copying these over from a previous backup of the save. Depending on the size of the world, there could easily be thousands of these files, making it infeasible to send the saved game folder without compressing it all in one file first.
- Depending on the mode currently active (or the lack thereof), a large file named world.sav or world.dat. In fortress mode, this file is named world.sav and includes the current fortress data, as well as the world data. In a save without a currently active game, this is the main save folder. The custom raws generated for the forgotten beasts, titans, demons, night creatures, and evil effects are stored in this file. Replacing this entire file will almost certainly crash the game; however, replacing certain portions of the raws included may still keep the save folder working.
Missing one or more of the aforementioned important files may indicate a problem with the save; this is a very common source of crashes.
For basic backups, though, all you need to keep to is: Always copy the whole folder, not parts of it.
 Backing up saves
Toady recommends that you make backups, and always save to a fresh file:
- Copy the relevant region folder in "data/save" to a safe location.
- When you want to reuse it, copy that region back to "data/save".
Do not overwrite an old folder, as it might leave residual files.
Although the game has permanent death and you might want to play it in that spirit, the game is also an alpha, can crash, and your world can become corrupted by an error. You can also make use of the auto save features settable in "data/init/d_init.txt". Making backups can save you a lot of grief.
For more info on the autosave feature, see d_init.txt.
 Disappearing saves
Restoring a savegame from backup can be very confusing.
The game saves to the directory from which it was loaded, so if you restore a game from a seasonal save after a crash, you will be saving to the folder from which you loaded (like [region1-spring-1056]) and not to your default folder (like [region1]) where you would expect it.
This can cause some high blood pressure and panic, because you will see your 'Region X' save as several years older than you would expect it and it will look like you lost all your work since last autosave to some bug. The save you need to load is however going to be in the slot from which you loaded from automatic backup.
The golden rule is: if you want to restore a savegame from backup, you should rename that backup to indicate that. Remember to do that while the game is not running, per the instructions for savescumming above.
Save folders can be large, ranging from 20 MB for small saves to several hundred megabytes for large saves. If you run out of hard drive space while saving, Dwarf Fortress will pretend to save correctly, but the save will be unloadable. Opening other saves to verify that they still work, then saving and exiting, will corrupt your previously-working saves as well. If you don't want the game to save, just kill the application. Make sure you have sufficient free disk space before launching Dwarf Fortress! Bug:2587
You can replace the raw directory with a symlink to ../../../raw if you want to save a couple of MBs on every backup. Forum thread.