Ludusavi
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.
Features
- Ability to back up data from more than 7,000 games.
- Backup and restore for Steam as well as other game libraries.
- Preview of the backup/restore before actually performing it.
- Support for saves that are stored as files and in the Windows registry.
- Support for Proton saves with Steam.
- Support for Steam screenshots.
Installation
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.
-
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 ludusavito do the installation. -
If you are on Windows, when you first run Ludusavi, you may see a popup that says "Windows protected your PC", because Windows does not recognize the program's publisher. Click "more info" and then "run anyway" to start the program.
-
If you are on Mac, when you first run Ludusavi, you may see a popup that says "Ludusavi can't be opened because it is from an unidentified developer". To allow Ludusavi to run, please refer to this article, specifically the section on
How to open an app [...] from an unidentified developer.
Usage
Backup mode
- This is the default mode when you open the program.
- You can press
previewto see what the backup will include, without actually performing it. - You can press
back upto perform the backup for real.- If the target folder already exists, it will be deleted first, then recreated.
- Within the target folder, for every game with data to back up,
a subfolder will be created with the game's name encoded as base 64.
For example, files for
Celestewould go into a folder namedQ2VsZXN0ZQ==. - Within each game's backup folder, any relevant files will be stored with
their name as the base 64 encoding of the full path to the original file.
For example,
D:/Steam/steamapps/common/Celeste/Saves/0.celestewould be backed up asRDovU3RlYW0vc3RlYW1hcHBzL2NvbW1vbi9DZWxlc3RlL1NhdmVzLzAuY2VsZXN0ZQ==. - If the game has save data in the registry and you are using Windows, then
the game's backup folder will also contain an
other/registry.yamlfile. If you are using Steam and Proton instead of Windows, then the Proton*.regfiles will be backed up like other game files.
- Roots are folders that Ludusavi can check for additional game data. When you
first run Ludusavi, it will try to find some common roots on your system, but
you may end up without any configured. You can click
add rootto configure as many as you need, along with the root's type:- For a Steam root, this should be the folder containing the
steamappsanduserdatasubdirectories. Here are some common/standard locations:- Windows:
C:/Program Files (x86)/Steam - Linux:
~/.steam/steam
- Windows:
- For the "other" root type, it should be a folder whose direct children are
individual games. For example, in the Epic Games store, this would be
what you choose as the "install location" for your games (e.g., if you choose
D:/Epicand it creates a subfolder forD:/Epic/Celeste, then the root would beD:/Epic).
- For a Steam root, this should be the folder containing the
Restore mode
- Switch to restore mode by clicking the
=> restorebutton. - You can press
previewto see what the restore will include, without actually performing it. - You can press
restoreto perform the restore for real.- For all the files in the source directory, they will be decoded as base 64 to get the target path and then copied to that location. Any necessary parent directories will be created as well before the copy, but if the directories already exist, their current files will be left alone (other than overwriting the ones that are being restored from the backup).
Comparison with other tools
There are other excellent backup tools available, but not a singular cross-platform and cross-store solution:
- GameSave Manager:
- Only supports Windows and Steam.
- Closed source, so the community cannot contribute improvements.
- Interface can be slow or unresponsive; e.g., when (de)selecting all checkboxes, it takes half a second per checkbox for them all to toggle.
- Gaming Backup Multitool for Linux
- Only supports Linux and Steam.
- Database is not actively updated (as of 2020-06-20, the last update was 2018-06-05).
Development
Please refer to CONTRIBUTING.md.
