Dwarf Fortress

Dwarf Fortress

Not enough ratings
Guide to (kinda) Cloud Saves(Windows/Steamdeck(linux))
By MNarath
When i downloaded DF and saw the cloud save icon i was excited thinking nice finally its gonna be easy to just continue my game from one device to the other sadly i realized that the cloud save feature did not seem to do anything at all currently so i decided to just make my own (bootleg) version of it.
   
Award
Favorite
Favorited
Unfavorite
Introduction
For this Guide i will use Dropbox as my cloud storage provider together with their windows client but as long as you have a location on your harddisk for your cloud storage provider to point to (a folder) you can use any Provider you want like Onedrive and i believe even network shared drives should work just fine(trough there might be issues with the speed bottleneck with those since they won't be completly local).
(Be aware my Windows language is set to german so any pictures in this guide might look a bit different to you depending on your language settings.)

Steamdeck(Linux): You can use Dropbox for linux too but the linux client misses a lot of key features of the windows client and will always download all the content of your dropbox unless you blacklisted the folder its contained in and that can lead to disk space issues.
Finding your Dwarf fortress game files
First you will need to find your dwarf fortress game files to do this simply right click onto dwarf fortress in your steam library in your game list and choose manage>browse local files

This process is identicall between windows and linux(steamdeck)
Moving the savefiles
First of all we need to move the savefolder (its litterally called save) to its new location wherever that may be thats up to you for me its in a specially created folder GameSaves in my Dropbox with a subfolder called DwarfFortress to keep things tidy:
Keep in mind depending where you installed dropbox or whatever you use the path might look very different for you.
After we copied over the save file we delete the old save folder in the Dwarf fortress steam game directory.

On linux(steamdeck): You can also just use the desktop ui to move your savefiles or use the command line.
Creating the Link
On Windows:
Now it gets a bit more complicated as it involves cmd (command prompt) (to find this program just type in cmd in your searchbar) sadly you cannot use powershell as the command we need mklink doesn't exist in powershell while there is an alternative it seems to be a lot more complicated too so lets stick to this
the command we will use here is mklink this command creates a symbolic link that will trick dwarf fortress into beliving that the save folder is inside the gamefile folder while in fact its inside the folder you created inside your local cloudprovider(like dropbox, onedrive etc) directory.
to achive this you have to use the command like this:
mklink /J "[Dwarf Fortress Game Directory Path]\save" "[save folder location folder]\save"
As before to find the installation folder for DF look at the steps we took in the previous step.
Be aware if your folder path contains any Spaces you will need to put it between two " " else it won't recognise the path correctly. Here is an example of the command and the output:


If everything worked as it should you should now have a save shortcut kinda file in your dwarffortress game directory:
Now interresting to mention is that this shortcut looking file is still called a directory instead of a shortcut file.
And there you go now any saves you make in game should get saved in the folder in your cloud storage providers directory and thus uploaded in the cloud too where now you can follow (mostly) the same procedure on other devices to sync your savegame up between devices(provided you use said cloud storage provider on them of course).

On Linux(steamdeck):
On linux you either use the console on the device locally or remote into it using ssh (this guide won't include how to enable and use ssh on the steamdeck) to work on devices like the steamdeck that might be inconvenient to use without a keyboard.
First locate the path to your save directory for the game folder (and your dropbox directory)


Now naviate to the original location of your savefile in your gamefolder in the console using
cd [path to folder] (note since Dwarf Fortress has spaces inside of its path you either need to use escape characters like \ to escape the space or just encapsule the string between either "[path]" or '[path]' that way it will actually recognise the spaces as part of the path itself.) In the screenshot i am using \ to escape the space.
In this case i have dropbox saved on my sd card so the location might differ for you.
then we get the Dropbox folder on linux where you will be saving your file you can do this the same way you did beforehand or you just naviate to it in the console and then use the pwd command to get the full path




then we copy this path and go back to the console that is in our gamefile folder and type
ln -s [savefolder path] save
Note the save at the end is the name of the symbolic link folder and we do not need the full path since we already are inside the game folder inside the console otherwise you would also need the full path + name.
Now to check if we did everything correctly we use ls -an to list out all the files inside the folder if you see this:


in the output then the symbolic link was sucessfull.
Note the path will vary depending on the location of your dropbox (or other filesync provieders) folder on your device.
Afternotes
Important to mention might be that this methode while working you will need to redo the same procedure on all the different PC's you want to sync save files towards (creating the link i mean).

To reverse this you just need to delete the symbolic link(the shortcut kinda folder) in your game directory and move the save folder back into it.

Also there is no real conflict resolution(other than the one implemented by the cloud provider) in case there are two different saves and the last one to be saved is probably what will end up in your cloud synced folder so keep that in mind and best never try a new session on another device before your PC is done syncing or play on two different devices at once etc. So be carefull so you do not accidentally replace a long game with an earlier save or otherwise brick it.

Again i would advise for anyone using this to make sure your devices finished syncing the files (down /uploading them) before playing on another device unlike steam cloud there are a lot of saveguards missing here that would usually prevent issues with that.

Obviously you can apply this methode to pretty much any game you want trough if its practical everywhere is a different question.

On another note for dropbox(or other cloud file storage provider) you should make sure to put the folder your save folder is in to offline/or local so it won't try to delete the files locally(to store them only in the cloud instead). Else DF might not work properly since it would try to access files that don't exist locally on your system and have to be downloaded first.

For anyone using this on the steamdeck i highly recommend using ssh i personally enable disable ssh for my steamdeck using a decky plugin called system toolbox it allows me to enable disable ssh with a button press on my steamdeck.
5 Comments
MNarath  [author] Aug 19, 2023 @ 12:03pm 
I edited the guide to also include linux (steamdeck)
Jimmerzz Dec 8, 2022 @ 2:13pm 
So the steam cloud icon is there for me however it shows it is not storing anything ha.
MNarath  [author] Dec 8, 2022 @ 1:34am 
If that ever changes trough to reverse this you just need to delete the symbolic link in your game directory and move the save folder back into it.
MNarath  [author] Dec 8, 2022 @ 1:31am 
@Jimmerzz i checked the default location in steam for local cloud saves by searching the game id and can't see any evidence for that sadly neither do i see any actual taken up space in the steam cloud for the game so it doesn't look like there are any native cloud saves yet sadly.
Jimmerzz Dec 7, 2022 @ 11:46pm 
It looks like cloud saves was added?