ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.26k stars 175 forks source link

Deleted cloud save files after removal of custom proton version #11397

Open CelDaemon opened 3 weeks ago

CelDaemon commented 3 weeks ago

Your system information

Please describe your issue in as much detail as possible:

To update my current proton GE version, I closed the steam client before deleting the old proton installation, and putting the new one in place. After doing this, I opened up the steam client again and saw it downloading something related to satisfactory. After steam was done doing this, I tried launching the game, and failed as no proton installation was selected due to me removing the files for it. Seeing that, I selected the new proton version and attempted to launch the game again. This time it succeeded, but all my save files had disappeared. I quickly closed the game thinking that relaunching the game might fix it, but even after a relaunch my saves were still gone.

Even from the steam cloud, my saves were nowhere to be found.

Steps for reproducing this issue:

I don't have any reproduction steps as I'm not sure what exactly caused the issue, and if I can even reproduce it.

CelDaemon commented 3 weeks ago

What seems to have happened is that as a result of steam getting confused by not having a proton version selected, steam play was disabled completely and games were assumed to run natively. This wouldn't be an issue normally, but it caused significant issues because:

  1. Proton prefixes are automatically deleted when a game is either uninstalled or no longer selected to use proton.
  2. Cloud sync was unable to find the saves directly, and instead of stopping the processing of the saves for that game, simply deleted all saves in the cloud as well.

It seems odd to me how the destructive action of deleting proton prefixes is just automatically done without explicit user confirmation. It wouldn't be as much of an issue if cloud sync would handle these cases properly, but in the event that a user has disabled cloud sync for whatever reason this is still extremely bad. No one would want their save files to be deleted whenever steam, correctly or incorrectly, decides they are to be removed.

kisak-valve commented 3 weeks ago

Hello @CelDaemon, this is a partial duplicate of #5901.

To rephrase the steps to reproduce your issue (not using your words).

  1. Configure Steam to run a game with a third party Proton variant. This is looking for an exact named version of the compatibility tool.
  2. Run the game, verify it's working as intended.
  3. Close Steam.
  4. Remove the third party Proton variant from step 1.
  5. Start Steam with the game now in the invalid compatibility tool config, triggering #5901 / https://github.com/ValveSoftware/Proton/issues/428.
  6. Missing Steam cloud sync sanity check.

For issue tracking purposes, let's use this issue report to solely focus on the Steam cloud sync behavior. Kicking third party compatibility tools out from under Steam while you've manually, explicitly configured games to use them isn't a particularly good practice.

CelDaemon commented 3 weeks ago

Thank you for the swift reply! I'm not sure how I hadn't found that issue before, but that does indeed seem to be the same problem. Checking for edge cases like this would definitely help the situation, although I'm still concerned about the automatic deletion of those prefixes when cloud save is disabled or a non-steam game has been added. So I'm hoping those issues can be resolved as well. I also agree it might not exactly be good practice, but I also feel like it is not unreasonable for someone to assume steam would handle this gracefully without the risk of data loss.

Another thing I noticed while looking at the remote storage, is that the Satisfactory row had disappeared completely, like it was never even there. Maybe that is standard if all files of a game are deleted, but it stood out to me.