A bash utility for managing backups of Elden Ring SeamlessCoop saves.
Managing SeamlessCoop versions on Steam Deck has a few challenges, such as
needing to backup and transfer your saves after each upgrade. Backups keep
your saves safe in the event of an upgrade failure, while transfers are
required to play old saves on new versions of SeamlessCoop (a new compatdata
directory is created for each version of SeamlessCoop added to your Steam
library).
I got tired of ssh
ing into my deck to manage backups. I even had a few
failed upgrades resulting in save file loss. It's possible for files/data to be
removed by Steam as part of official Deck updates, creating the need for
backups to be stored off the deck as well.
This guide assumes you have basic terminal knowledge. Additionally, you will need:
This script written and tested using bash on macOS.
Create a copy of .envrc.sample
that you export using direnv
:
cp .envrc.sample .envrc
Modify the .envrc based on the directions therein. Once done, lets make the environment variables available to our script:
direnv allow .
Note
Anytime you change your .envrc, you will need to run direnv allow .
again.
If you're unsure where your saves are stored on your deck, you won't be able to
fill your COMPATDATA_ID_<SeamlessCoop version>
variable in your .envrc
.
The backup manager comes with a way to find all Elden Ring directories on your
deck, including the compatdata dirs.
- Create new backups
- Synchronize backups to a local machine
- List all relevant compatdata dirs
- Download and unpack latest version of SeamlessCoop
- Automatically update latest SeamlessCoop version via CI
- Transfer backups from one version of SeamlessCoop to another
- Generalize script to work with any game on Steam Deck