protonscr

Warn if multi-game backup in a single file will contain incompatible games

steamopen reviewed
ValveSoftware/steam-for-linux#581 · opened 2013-01-07 by ghost · updated 2019-07-18 · 9 comments · github
?ghost 2013-01-07 github

When trying to restore games backed up together in a single file (i.e. with a big custom size),
if the backup contains TF2, then Steam does not list the other games included in the backup.

(The backup of multiple games works flawlessly with small games; this issue arised only when TF2 was included in the backup.)

Steps to reproduce

  • Have TF2 and another game, say World of Goo, installed;
  • Backup both in a single backup, in single chunk (e.g. chunk size=15000MB);
  • Uninstall both in the library;
  • Try to restore them.

Expected behaviour:

  • Steam asks which games to restore.

Actual behaviour:

  • Steam only restores TF2 without even mentionning World of Goo.

Some output of Steam

Installing breakpad exception handler for appid(steam)/version(1355957371_client)
Building installer in /home/karot/.local/share/Steam/Backups/TF2+WOG:
Generating new string page texture 110: 256x256, total string texture memory is 2.56 MB
Installing breakpad exception handler for appid(steam)/version(1355957371_client)
Installing breakpad exception handler for appid(steam)/version(1355957371_client)
ExecSteamURL: "steam://open/games"
saving roaming config store to 'sharedconfig.vdf'
roaming config store 2 saved successfully
100%
Installer build complete
        Installer size: 6.75 GB
        Uncompressed size: 12.15 GB
        Number of disks: 1
        Build time: 16 minutes 46 seconds
[2013-01-07 17:04:57] Building backup for AppID 22000 to /home/karot/.local/share/Steam/Backups/TF2+WOG^M
[2013-01-07 17:04:57] Opened new backup disk store /home/karot/.local/share/Steam/Backups/TF2+WOG/Disk_1/22003_depotcache_1.csd^M
Installing breakpad exception handler for appid(steam)/version(1355957371_client)
Installing breakpad exception handler for appid(steam)/version(1355957371_client)
Installing breakpad exception handler for appid(steam)/version(1355957371_client)
[2013-01-07 17:05:07] Finished writing backup disk store /home/karot/.local/share/Steam/Backups/TF2+WOG/Disk_1/22003_depotcache_1.csd (60 MB)^M
[2013-01-07 17:05:07] Backup finished for AppID 22000, 63150866 bytes, 1 folders^M
Initializing nautilus-gdu extension
** Message: Initializing gksu extension...
Initializing nautilus-open-terminal extension
saving roaming config store to 'sharedconfig.vdf'
roaming config store 2 saved successfully

System information

Processor Information:
    Vendor:  GenuineIntel
    Speed: 2926 Mhz
    2 logical processors
    2 physical processors
    HyperThreading:  Unsupported
    FCMOV:  Supported
    SSE2:  Supported
    SSE3:  Supported
    SSSE3:  Supported
    SSE4a:  Unsupported
    SSE41:  Supported
    SSE42:  Unsupported

Network Information:
    Network Speed:  

Operating System Version:
    Linux Mint 13 Maya (32 bit)
    Kernel Name:  Linux
    Kernel Version:  3.2.0-35-generic
    X Server vendor:  The X.Org Foundation
    X Server release:  11103000

Video Card:
    Driver:  NVIDIA Corporation GeForce GTS 250/PCIe/SSE2

    Driver Version:  3.3.0 NVIDIA 304.48
    Desktop Color Depth: 24 bits per pixel
    Monitor Refresh Rate: 59 Hz
    VendorID:  0x10de
    DeviceID:  0x615
    Number of Monitors:  1
    Number of Logical Video Cards:  1
    Primary Display Resolution:  1920 x 1200
    Desktop Resolution: 1920 x 1200
    Primary Display Size: 20.39" x 12.76"  (24.02" diag)
                                            51.8cm x 32.4cm  (61.0cm diag)
    Primary Bus: PCI Express 16x
    Primary VRAM: 512 MB
    Supported MSAA Modes:  2x 4x 8x 16x 

Sound card:
    Audio device: CMedia PCI

Memory:
    RAM:  2013 Mb

Miscellaneous:
    UI Language:  English
    LANG:  en_US.UTF-8
    Microphone:  Not set
    Total Hard Disk Space Available:  193523 Mb
    Largest Free Hard Disk Block:  68577 Mb

Installed software:

Recent Failure Reports:

Ggdrewb-valve maintainer 2013-01-07 github

We have fixed some bugs in this area and it's likely this will work when we put out the next client update.

Ggdrewb-valve maintainer 2013-01-09 github

The new client has been released, can you try this again?

Jjohndrinkwater 2013-01-10 github

It’s worked so far with Darwinia & Dungeons of Dredmor together.
Then did TF2 + SS3 Bonus Content. Removed TF2, did the restore, it validated the SS3 bonus content, and then didn’t restore TF2 :s So still buggy.

Ggdrewb-valve maintainer 2013-01-10 github

I did a backup and restore of TF2 and SS3 and it restored TF2 properly. I'll try again and see if there's some step I missed.

?ghost 2013-01-11 github

(Oops, clicked the wrong button, didn't mean to close the issue)

I retried the "TF2+World of Goo" backup. Now the installer only finds World of Goo in the backup files...
(F*** me! I forgot to back up TF2 individually before, now I have to download it again...)

?ghost 2013-01-16 github

FYI, my Steam client updated today, and the "TF2+World of Goo" backup still does not work. (can only restore World of Goo)

Ggdrewb-valve maintainer 2013-01-21 github

The remaining issues are limited to games using an older system. If you mix those with games using the current system the older games will be omitted. TF2 uses the older system right now but will get converted, so this problem will eventually go away.

Jjohndrinkwater 2013-01-21 github

Verified with Aquaria+World of Goo+Penumbra, multiple games works.

On backing up Penumbra, I noticed in terminal:

…
[2013-01-21 20:03:54] Failed to process data from "core\cache\mine_planks.collcach" (73489 bytes @ 0), dropping chunk
[2013-01-21 20:03:54] Failed to process data from "core\cache\mine_ration.collcach" (24721 bytes @ 0), dropping chunk
asyncfileiohandler.cpp (904) : Assertion Failed: pItem->nSize == cubBytesRead
asyncfileiohandler.cpp (904) : Assertion Failed: pItem->nSize == cubBytesRead
[2013-01-21 20:03:55] Failed to process data from "core\cache\old_mine_can.collcach" (28498 bytes @ 0), dropping chunk

Is it possible to skip a backup / warn user in this instance? Without the terminal user would not get feedback about the backup being partially invalid. I did validate files and once it fixed them didnt see the problem again.

Ggdrewb-valve maintainer 2013-01-21 github

I don't believe there's a feedback mechanism but we'll keep the request.

Nothing extracted yet.