Ludusavi is a tool for backing up your PC video game save data, written in Rust. It is cross-platform and supports multiple game stores.
This tool uses the Ludusavi Manifest for info on what to back up, and it will automatically download the latest version of the primary manifest. To add or update game entries in the primary manifest, please refer to that project. Data is ultimately sourced from PCGamingWiki, so you are encouraged to contribute any new or fixed data back to the wiki itself.
Ludusavi is available for Windows, Linux, and Mac. However, your computer must support one of these graphics systems: Vulkan, DirectX (11 or 12), or Metal. (Experimental builds with OpenGL support are also available - give them a try if the standard builds don't work on your system.)
Download the executable for your operating system from the releases page. It's portable, so you can simply download it and put it anywhere on your system.
Alternatively, if you have Rust, you can run cargo install ludusavi
to do the installation. (On Linux, this requires the gcc
and libxcb-composite0-dev
system packages, or the equivalents for your distribution.)
How to open an app [...] from an unidentified developer
.Run ludusavi --help
for the full usage information.
preview
to see what the backup will include,
without actually performing it.back up
to perform the backup for real.
Celeste
would go into a folder named Q2VsZXN0ZQ==
.D:/Steam/steamapps/common/Celeste/Saves/0.celeste
would be
backed up as RDovU3RlYW0vc3RlYW1hcHBzL2NvbW1vbi9DZWxlc3RlL1NhdmVzLzAuY2VsZXN0ZQ==
.other/registry.yaml
file.
If you are using Steam and Proton instead of Windows, then the Proton *.reg
files will be backed up like other game files.add root
to configure
as many as you need, along with the root's type:
steamapps
and
userdata
subdirectories. Here are some common/standard locations:C:/Program Files (x86)/Steam
~/.steam/steam
D:/Epic
and it creates a subfolder for D:/Epic/Celeste
, then the root
would be D:/Epic
).=> restore
button.preview
to see what the restore will include,
without actually performing it.restore
to perform the restore for real.
Ludusavi stores its configuration in ~/.config/ludusavi
(Windows: C:/Users/<your-name>/.config/ludusavi
).
If you're using the GUI, you don't need to worry about this at all,
since the GUI will automatically update the config file as needed.
However, if you're using the CLI, you'll need to edit config.yaml
directly.
Here are the available settings (all are required):
manifest
(map):
url
(string): Where to download the primary manifest.etag
(string or null): An identifier for the current version of the manifest.
This is generated automatically when the manifest is updated.roots
(list):
path
(string): Where the root is located on your system.store
(string): Game store associated with the root.
Valid options: steam
, other
backup
(map):
path
(string): Full path to a directory in which to save backups.restore
(map):
path
(string): Full path to a directory from which to restore data.Example:
yaml
manifest:
url: "https://raw.githubusercontent.com/mtkennerly/ludusavi-manifest/master/data/manifest.yaml"
etag: null
roots:
- path: "D:/Steam"
store: steam
backup:
path: ~/ludusavi-backup
restore:
path: ~/ludusavi-backup
Ludusavi also stores manifest.yaml
(info on what to back up) here.
You should not modify that file, because Ludusavi will overwrite your changes
whenever it downloads a new copy.
There are other excellent backup tools available, but not a singular cross-platform and cross-store solution:
Please refer to CONTRIBUTING.md.