This script allows to sync Retroarch's savestates and savefiles between two or more Retroarch devices.
It is able to work with three types of connections:
- local (simply using local filesystem, you can also plug SD cards or usb drives from handhelds or consoles to the computer running the script)
- SCP (e.g. pi@192.168.1.170:/home/pi)
- FTP (e.g. ftp://192.168.1.171/sd/retroarch)
The script gets the savestates and savefiles data from the specified source, copies both locally and makes a local backup too.
Then it merges all the savestates and savefiles in the local tmp folder (only keeping the most recently modified ones), and then copies them back to all the targets.
Please keep in mind that in order to have working savestates you should be using the same rom / iso and the same RetroArch core version and sometimes this still does not work between different platforms.
Savefiles, on the other hand, are the original way to save game progression on physical cartridges or memory cards and generally work just fine, even between different cores / platforms.
- Make sure that your RetroArch installs are saving all savefiles to the savefiles folder and all savestates to the savestates folder. This is now default but be sure to check it before starting. More info about the topic is available here
- Be sure that you can access your emulation machines via SCP or FTP
- At the moment FTP is only implemented with anonymous connection (no user / pass)
- In order to use SCP please setup a passwordless connection. Here's how to obtain such result: https://www.ssh.com/ssh/copy-id
- Clone the repository or simply download it as a zip file and unzip it in a folder
- Customize the variables in the beginning of the script. It is mandatory to define console name and path customizing the example you will find in the CONSOLES variable. For other variables default values should be ok for most users. For the moment being the script works ONLY using IP addresses
- Make the script executable:
chmod +x bash-retroarch-savegame-sync.sh
- Run it:
./bash-retroarch-savegame-sync.sh
or schedule it
The script is just a quick hack and in beta version. It will make a complete backup of all the savegames in the folder specified among the variables. Nonetheless this is not bullet proof and test it at your own risk. More updates will come, have fun!
I would like to provide you some application that you can run on your consoles in order to let the script connect via FTP.
Here's a list of software I personally tested successfully using Retroach Savegame Sync:
The following applications are not tested yet but seem interesting, mainly for the possiblity to always run in background:
- PS Vita - Ftp Everywhere
- PS Vita - BGFTP
- If you have any idea or suggestion contact directly the Repo Owner
- ltpitt: Repo Owner