ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.33k stars 1.06k forks source link

Proton games without cloud save support lose data when uninstalled #428

Open kisak-valve opened 6 years ago

kisak-valve commented 6 years ago

Issue transferred from https://github.com/ValveSoftware/steam-for-linux/issues/5668. @Steveice10 posted on 2018-08-24T18:13:35:

Your system information

Please describe your issue in as much detail as possible:

Games running through Proton that store save data within their prefix (e.g. in Application Data) and don't support cloud save end up having their save data deleted when uninstalled, as their prefix is also deleted. On Windows, this would not happen; the save data would still be present on the system and usable after reinstalling later.

The game I personally used to test this was LEGO Harry Potter: Years 5-7.

Steps for reproducing this issue:

  1. Save in a Proton game without cloud save support.
  2. Uninstall the game.
Zero86Sk commented 6 years ago

Can it be it saves the data in a Wine Prefix that it than deletes when you uninstall the game?

DenisBY commented 6 years ago

I don't know if it's related but I'm loosing saves also for non uninstalled games. I.e. 'Banished' and 'RollerCoaster Tycoon® 3: Platinum'. Both don't have cloud save support. But saves work for 'Craft The World' and 'Another Brick in the Mall' which have it. 'Banished' "saves" a game but I don't see it when I'm trying to Load saved game. 'RollerCoaster Tycoon® 3: Platinum' says something about 'read only disk or disk is full'.

Update: I think my problem is related to https://github.com/ValveSoftware/steam-for-linux/issues/5640

basxto commented 6 years ago

Related to #231

saward commented 6 years ago

This also seems to happen when you change which proton version you're using (Endless Legend, my saves were gone after changing to Proton 3.7-4 beta).

timcarr89 commented 6 years ago

A few games I've used save their data in the "Documents" folder, not sure how they have the prefixes set up and if they are on a per-game basis, but for example, Tomb Raider: Legend saves end up (for me) in "~/.local/share/Steam/steamapps/compatdata/7000/pfx/drive_c/users/steamuser/My Documents/Tomb Raider - Legend". This might be something that is hard to find a good solution for with games that don't already have SteamCloud support. You'd either have to know where each and every game puts it's save data and, at the very least, not delete it if the game is uninstalled. Or, I suppose you could theoretically index the Wine Prefix directory between game install and launch, and backup any changed files to the cloud, but that could get nightmarish very fast.

nstgc commented 6 years ago

I noticed this as well. The games are saved inside the prefix. What I did was symlink the save folders somewhere in my ~/ directory.

basxto commented 6 years ago

pcgamingwiki keeps track of save game locations:

https://pcgamingwiki.com/wiki/Lego_Harry_Potter:_Years_5-7#Game_data

pprotonrep commented 6 years ago

Somewhat related: https://github.com/ValveSoftware/steam-for-linux/issues/5717

metronidazole commented 5 years ago

@kisak-valve This is also an issue when upgrading from a windows-only demo to the full game (e.g. Supraland. I just lost all my progress without user error. It's not like I uninstalled the game which one could at least consider the possibly of losing saves and thus contemplate backing up.

ritalat commented 5 years ago

I ended up creating a small bash script that creates a common user directory and symlinks the game specific user directories from any proton prefixes there https://github.com/ritalat/proton-shared-user-directory This prevents Steam from deleting your saves when uninstalling a game and also makes it easier to find any save of config files. You however have to run the script every time you install a new game.

Maybe something similar could be integrated into Proton itself in a more elegant way?

echozio commented 4 years ago

This also happens upon launching a mod with an older proton version than the main game is using. Would be a good idea to show a warning before deleting the prefix in all cases, as this behavior isn't really obvious until it's too late.

es20490446e commented 4 years ago

The simple fix for this is, under the folder "steamapps/compatdata", sync the contents of "drive_c/users/steamuser".

ghost commented 3 years ago

This just happened to me. Sadly it is still not fixed. I lost my savefiles because of this.

nstgc commented 3 years ago

Two "simple" fixes would be to either leave the "c:/user" directory alone upon uninstalling or symlinking each "c:/user" directory to somewhere in your home directory. Like maybe "~/.steam/userdata/$USERID/$GAMEID/user"?

Bitwolfies commented 2 years ago

Definitely has to be addressed in time for the deck. I think an easier solution is just to ask the user if they want their prefix removed or kept on uninstall. Have an unchecked dialogue box saying “remove prefix as well?” Or something with each uninstall. Along with an option for default behaviour, if a player wishes to always keep or remove them.

gwemmie commented 2 years ago

This has to be very low priority, from how long it's taking to see much effort.

In the meantime, maybe it would be easier for the devs to directly and clearly warn users in the UI. Something like a warning that pops up when they uninstall a proton game with no cloud save support. People at the very least need to know this before it's too late. I personally have lost my entire 2nd (and favorite) character in Dark Souls 3 to this issue before I fully understood it.

PandorasFox commented 2 years ago

overlayfs might be of some use here (e.g. initial prefix ro-mounted, overlay and do first-time setup and then read-only, then overlay symlinks into ~)

chris-monahan commented 2 years ago

Is there any update on this? The deck is now in people's hands, and as a device it is

1: Space limited 2: Dependent upon Proton for it's value proposition 3: Console-like i.e. people don't expect to have to dig into the file system in order to do something like preserve their save files

And I can confirm that people are getting burnt by this on deck hardware, so it's not like the deck is behaving any differently. As people run up against storage limits I expect an increasing wave of people who will find their save/game data silently deleted, which is one of the most unpleasant experiences to have in gaming.

At the very least some kind of UI warning should be present so that people know what to expect. An option to back up the files in the virtual root would also go a long way.

MagicD3VIL commented 2 years ago

Well, RIP all of my save files from Space Engineers I guess... Today I reinstalled the game and I wanted to resume playing coop with my friend on a save that I hosted a year ago. All of the saves are gone. Steam Cloud says it has 0B stored.

mihalycsaba commented 1 year ago

I didn't do anything, didnt play for like 3 days, wanted to start the game and it was starting up a bit slow and all my saves were lost...

Steamvoker commented 1 year ago

It appears that you can lose your saves when verifying integrity of game files as well. Just lost my 20 hour save of Dark Souls III.

ChrisHoopes commented 1 month ago

Just accidentally nuked my Dark Souls 2 saves by switching Proton versions so yeah this is still an issue. I’m honestly shocked that I haven’t encountered it before but judging by how many people have asked questions about it the issue is a big one. You’d have to be deep in the weeds technically to expect this outcome ahead of time. The least Valve could do is throw up a warning when clearing Proton files saying “hey this might blow away your save games, you sure you want to do this?”