This script converts GameSave Manager (GSM) backup files into Ludusavi mapping files and vice-versa. GameSave Manager (Windows) and Ludusavi (Windows, Linux/Mac) are two game save management tools and this script helps users transition between the two.
While GSM only supports Windows, tends to be slower and is closed-source, Ludusavi offers a more universal game save management solution. However, Ludusavi may be less robust, offer fewer features, have a more bare-bones GUI and its scanning can be more incomplete in certain cases. Therefore, the ability to convert back to GSM might also be useful.
- Python 3.x installed
- Required Python packages installed:
py7zr
,win32com
,pyyaml
,zipfile
,pypiwin32
andruamel.yaml
This script accepts the following arguments:
--input_folder_path
: Path to the folder containing backup files to convert (GSM/.gsba). Required in non-GUI mode.--output_folder_path
: Path to the output folder where the converted backup folders/files are saved (Ludusavi games backups folders). Required in non-GUI mode.--backup_type
: Type of backup to process. Accepts either "gsba_to_ludusavi" or "ludusavi_to_gsba". Required in non-GUI mode.--verbose
: If set, log messages will also be printed to the console.--gui
: Launch the GUI.--no-gui
: Run in command-line mode.
To convert from GSM to Ludusavi, use the following command:
python main.py --no-gui --input_folder_path <input_folder> --output_folder_path <output_folder> --backup_type gsba_to_ludusavi
To convert from Ludusavi to GSM, use the following command:
python main.py --no-gui --input_folder_path <input_folder> --output_folder_path <output_folder> --backup_type ludusavi_to_gsba
To launch the GUI, use the following command:
python main.py --gui
Warning: It is recommended to keep the original backup files for a while and not delete them immediately after conversion. Ensure that the converted outputs are valid by using the validation check operations provided by GameSave Manager and Ludusavi. You can also try converting the backups back and forth between the two types and verify that the initial type can be generated correctly. This will help confirm that the conversion process was successful.