Steam lets any game sync and backup its data to Steam Cloud. However, not every game takes advantage of this.
For example, From Software, though geniuses at game design, chose not to sync Dark Souls II saves through Steam Cloud. If you play a bunch of the game on Steam Deck, like I did, that save only lives on the Deck’s hard drive.
I implemented my own sync solution through Dropbox with these steps:
- Sign up for Dropbox. A free basic account gets you 2 GB, more than enough for small save files.
- Install the official Dropbox client for Windows on your gaming PC. This puts a Dropbox folder on your hard drive. Anything inside the folder syncs to the cloud.
- Find the location of your save file and copy it into the Dropbox folder.
(On Windows, Dark Souls II keeps saves at C:\Users\[your username]\AppData\Roaming\DarkSoulsII\[random letters and numbers]
.)
- Rename the folder containing your game’s save from
[saveFolder]
to[saveFolder] old
- Open Command Prompt as an administrator
- Run this command:
mklink /d "C:\path\to\[saveFolder]" "C:path\to\your\Dropbox\folder"
This creates a shortcut so when your game saves, it will put the new save file in Dropbox.
- On Steam Deck, Install the GUI for Maestral using their instructions.
- Run Maestral and let it sync your Dropbox data.
- Observe your save file is on the Deck
- Find the game’s save location on the Deck
- Rename the folder containing your game’s save file from
[saveFolder]
to[saveFolder] old
. - Open a terminal window.
- Run this command:
ln -s "/path/to/your/Dropbox/folder" "/path/to/[saveFolder]"
This creates a shortcut so when the game saves on Deck, it will also put the new save file into Dropbox.
A few caveats
- Setting this up is a pain in the ass
- Your save will not be lost if your hard drive fails or you lose your deck, but you’re still screwed if something happens to the Dropbox copy. Periodically upload your save to another cloud provider or save duplicates.
- Dark Souls II and III crash if Dropbox tries to sync the file while the game is running. My current workaround for this is to pause syncing while I’m playing.