Playnite Forums
Ludusavi: Automatically back up save data - Printable Version

+- Playnite Forums (https://playnite.link/forum)
+-- Forum: Extension Database (https://playnite.link/forum/forum-3.html)
+--- Forum: Generic Extensions (https://playnite.link/forum/forum-6.html)
+--- Thread: Ludusavi: Automatically back up save data (/thread-343.html)

Pages: 1 2


Ludusavi: Automatically back up save data - mtkennerly - 07-30-2020

Info

Ludusavi is a tool for backing up game save data, and I've just released a Playnite plugin to go along with it. Key features of the plugin include:
  • Known save locations for more than 7,000 games (sourced from PCGamingWiki)
  • On-demand backup and restore for all saves
  • Automatically back up a game when you finish playing it
  • Able to back up saves from both the file system and the registry
Ludusavi itself is also cross-platform, so if you play on Linux or Mac, you can use it there too. It has a GUI as well as a CLI (which is how the plugin works).

Links
Screenshots

Backup prompt when exiting a game:

[Image: prompt.png]

Menu actions:

[Image: actions.png]

Notifications:

[Image: notifications.png]

Settings:

[Image: settings.png]


RE: Ludusavi: Automatically back up save data - DonkeyOatay - 07-30-2020

Looks good. Is Ludusavi a fully portable application (with no other pre-requisites)? Also am I right to assume that the plugin will run the ludusavi exe to make the backup and then end the process afterwards? Ludusavi doesn't need to be running in the background already and doesn't stay running once the backup is made?


RE: Ludusavi: Automatically back up save data - mtkennerly - 07-30-2020

Yep, Ludusavi is fully portable, and there are no separate dependencies to install. It works just like you described: the plugin runs the exe (in command line mode) to do the backup, and it only runs long enough to do what it needs to do.

(Just to be thorough, the Linux version of Ludusavi does depend on a few system packages, but that doesn't matter in a Playnite context.)


RE: Ludusavi: Automatically back up save data - sheepbeep - 07-30-2020

Nice utility, but the saved data ought to be able to be restored manually WITHOUT the utility.

If the backup tool creates a backup which is not recoverable without it, you can also pipe the backuped data into the trashcan; just put the saved data in a standard zip file or similar (as savegamebackup.net, gamesavemanager etc do).

In addition it does not use native user interface elements which is also a big negative in my book.

Other suggestions:
- do not rely on an online connection, make the utility have a local database first and do cache the stuff.
- there is no log file.

Perhaps I'll whip up a proper backup utility in Python which has more saner defaults.

Another thing is that this utility produces filenames which are too long on Windows.

[Image: xtrIRDS.png]


RE: Ludusavi: Automatically back up save data - mtkennerly - 07-30-2020

Hmm, did you run into that error during the backup itself, or after the fact when trying to move/copy it? I thought I had managed to avoid the length limits during the backup by using UNC paths, for which Windows has higher limits. Are you on Windows 10? To be clear, some programs like Windows Explorer still have more restrictive limits around path lengths than what Windows itself actually supports nowadays - Windows allows UNC paths to go up to 32,000 or so characters.

And those are all fair critiques. I explained my reasons for using Base64 here, but I do plan to add a plain text reference file so you can more quickly check the mapping to/from Base64. At that point, I think the process for manually restoring (check log for the game's folder, check log for the original location of each file in that folder, copy/rename them) would be about on par with GameSave Manager (extract .gsba file, check GSM_INFO.xml to find out the original location for each numbered folder by decoding "SpecialPath" and combining with "Path", copy its files to that location). Not sure about the other tool you mentioned since the site doesn't seem to exist anymore. It's also pretty easy to write a script in Python or similar to decode Base64 and copy to the original location, whereas I think scripting the GSM restore process would be harder (you'd need to figure out how to convert the SpecialPath like %STEAM% into the actual folder, for example).

Regarding the Internet connection, it should only be required for the initial data download, and then it should work fine even if it can't download any more updates - I don't think that's too bad since you have to download the app itself anyway, but I could document the process for pre-downloading the data and putting it in place, if there's a need for that.

As far as native widgets, that's totally fair. It just comes down to preference - there are pros and cons both ways. But if you're using the Playnite plugin anyway, you probably won't need to look at Ludusavi very much Smile

If you do decide to make your own script/tool, you may still be able to get some value from the data set: https://github.com/mtkennerly/ludusavi-manifest . I designed it to be reusable for other backup apps, so it could give you a big head start.


RE: Ludusavi: Automatically back up save data - darklinkpower - 07-31-2020

I thought I would start checking which of my games don't have cloud saves to add that information to the PCGW if they were missing so I made two simple extensions to help with that. I'll share them here in case someone else finds them useful:

1. Steam Cloud Save Check - Adds a tag named "No Cloud Saves" for the selected games without the "Cloud Save" feature that gets added when downloading metadata for Steam games. You can later use Playnite's filtering to check those games.
[attachment=497]

2. PCGamingWiki Link open - Opens the PCGW page of the selected games
[attachment=496]


RE: Ludusavi: Automatically back up save data - DonkeyOatay - 07-31-2020

Sounds good then and the scripts from darklinkpower should be useful too, thanks. Just a shame that still, in this day and age, we have to go through this kind of thing on PC with utilities and databases of paths when the bloody games should just save to the same default location in Windows.


RE: Ludusavi: Automatically back up save data - mtkennerly - 08-03-2020

v0.2.0 is available now! You can download it here, and you'll also need Ludusavi v0.7.0 or newer.

Highlights of the new plugin version:
  • When you finish playing a game, the plugin won't try to back it up anymore if it's not a PC game (but you can configure it to ask if you still want it to).
  • After backing up or restoring all games, you can click the notification for a full list of them.
  • Ludusavi's manifest will be automatically updated (if possible) when doing backups - or, if the Internet connection is down, it will just use the existing local copy. An Internet connection is only strictly required for the very first manifest download.
  • Better error handling and reporting.
Also, after some extensive discussions, the new version of Ludusavi has switched to a human-readable backup structure. I know the unreadability of the old backups was a concern for a number of people, and I think the new approach is a significant improvement.


RE: Ludusavi: Automatically back up save data - darklinkpower - 08-03-2020

Another script that downloads Ludusavi's missing list and checks if your selected games are in it, that way it should be easier to contribute to the database instead of searching one by one. It will add a tag named "PCGW - Info missing" if it's in the list and the tag will be removed if the extension is ran again afterwards and it has been removed from the missing list.

[attachment=502]


RE: Ludusavi: Automatically back up save data - natsukazemai - 08-23-2020

option to auto sync only games i choosed (not just all and dont ask me everytime i close it) would be nice


RE: Ludusavi: Automatically back up save data - mtkennerly - 08-27-2020

Yeah, that's a good idea. I'll look into adding that.


RE: Ludusavi: Automatically back up save data - xyifer12 - 09-07-2020

This only works if the save data is in the default location. I just tried it with Monster Hunter: World and my save was not backed up. Even after adding the game and save location to the custom list in Ludusavi, the Playnite extension failed to back up the save data.

The blue buttons next to the game title don't have any popup saying what they are or what they do.

An option to (de)select all games in the list would be nice.


RE: Ludusavi: Automatically back up save data - mtkennerly - 10-09-2020

v0.3.0 is now available! Download: https://github.com/mtkennerly/ludusavi-playnite/releases/tag/v0.3.0

Added:
  • Support for erri120's extension update notifier.
  • Ability to ignore specific games by tagging them as "ludusavi-skip". They'll still be included if you do a full backup of all games, but you won't be prompted for individual backups when you finish playing a game with this tag.
  • Option to only show notifications on failure.
(09-07-2020, 11:09 PM)xyifer12 Wrote: This only works if the save data is in the default location. I just tried it with Monster Hunter: World and my save was not backed up. Even after adding the game and save location to the custom list in Ludusavi, the Playnite extension failed to back up the save data.

The blue buttons next to the game title don't have any popup saying what they are or what they do.

An option to (de)select all games in the list would be nice.

Apologies for the late reply; I missed your message.
  • Would you be willing to share your configuration (a screenshot of the Ludusavi custom entry would be fine)? It does respect custom entries, so maybe something else is going on here, like if the custom entry's name in Ludusavi is different than Playnite's name for the game (even just a capitalization/punctuation difference).
  • Tooltips would be nice, but unfortunately aren't supported in the GUI library yet. I'd definitely like to be able to add them in the future.
  • There's already a "(de)select all" button near the top of the Ludusavi window, in between "add root" and the search icon.



RE: Ludusavi: Automatically back up save data - xyifer12 - 10-14-2020

(10-09-2020, 04:17 AM)mtkennerly Wrote: Apologies for the late reply; I missed your message.
  • Would you be willing to share your configuration (a screenshot of the Ludusavi custom entry would be fine)? It does respect custom entries, so maybe something else is going on here, like if the custom entry's name in Ludusavi is different than Playnite's name for the game (even just a capitalization/punctuation difference).
  • Tooltips would be nice, but unfortunately aren't supported in the GUI library yet. I'd definitely like to be able to add them in the future.
  • There's already a "(de)select all" button near the top of the Ludusavi window, in between "add root" and the search icon.
  • The issue was that the capitalization wasn't the same between Ludusavi and Playnite.
  • Dang.
  • Not in the custom game list, where I have 40+ entries.
Even though I'm subscribed to this thread with E-mail alerts turned on, I did not receive an alert and didn't see your post until now.


RE: Ludusavi: Automatically back up save data - mtkennerly - 10-15-2020

v0.4.0 is now available! Download: https://github.com/mtkennerly/ludusavi-playnite/releases/tag/v0.4.0

Highlights:
  • Added game context menu entry to back up or restore the selected games (one or several).
  • Updated for Playnite 8 and dropped support for Playnite 7.

(10-14-2020, 02:54 PM)xyifer12 Wrote:
  • Not in the custom game list, where I have 40+ entries.

Oh, I see. Did you want to be able to enable/disable the custom entries (either specific ones or all at once), while still leaving them configured in the list? I can definitely look into adding that.


RE: Ludusavi: Automatically back up save data - raptor99 - 10-19-2020

How's that proper backup utility coming?

(07-30-2020, 07:43 PM)sheepbeep Wrote: Nice utility, but the saved data ought to be able to be restored manually WITHOUT the utility.

If the backup tool creates a backup which is not recoverable without it, you can also pipe the backuped data into the trashcan; just put the saved data in a standard zip file or similar (as savegamebackup.net, gamesavemanager etc do).

In addition it does not use native user interface elements which is also a big negative in my book.

Other suggestions:
- do not rely on an online connection, make the utility have a local database first and do cache the stuff.
- there is no log file.

Perhaps I'll whip up a proper backup utility in Python which has more saner defaults.

Another thing is that this utility produces filenames which are too long on Windows.

[Image: xtrIRDS.png]



RE: Ludusavi: Automatically back up save data - mtkennerly - 11-01-2020

v0.5.0 is now available! Download: https://github.com/mtkennerly/ludusavi-playnite/releases/tag/v0.5.0

This release adds support for per-platform custom entries. If you play emulated games where all of the saves go into a single memory card file, you can make a single custom entry (with the same name as the platform), instead of having to make separate/identical entries for each game. When you finish playing any game for that platform, if you've enabled the new option for it, then you'll be prompted to back up the platform's custom entry.

The plugin's popups also have some extra information to try to make it clearer when a custom entry will be needed.


RE: Ludusavi: Automatically back up save data - mtkennerly - 11-17-2020

v0.5.1 is now available: https://github.com/mtkennerly/ludusavi-playnite/releases/tag/v0.5.1

This release fixes some unresponsiveness when you back up a game after finishing play and its total file size is very large. This also fixes an error message in any kind of backup/restore with a large total file size, where the notification would report an error even though the backup/restore itself still worked.


RE: Ludusavi: Automatically back up save data - natsukazemai - 11-25-2020

an option to
when i close the game, dont wipe previous save data, but zip it (up to 3 last backups zipped, after it rewrite oldest zip). but it need to be toggable, because saves may be large
would be cool

when game crashed during save or something savefile may be corrupted and now it will rewrite old working save with new corrupted after game closes

have few last saves would be cool


RE: Ludusavi: Automatically back up save data - mtkennerly - 11-26-2020

Agreed, I'd like to add support for that. That's tracked as part of this ticket: https://github.com/mtkennerly/ludusavi/issues/47