Steam preservation proposal: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 19: | Line 19: | ||
unsolved issues: | unsolved issues: | ||
* tooling to automate all this | * tooling to automate all this. some progress here: https://github.com/Dimensional/DepotDownloader/tree/feature/steam-cdn-tools | ||
supplemental projects: | supplemental projects: | ||
* The data from the older steam server/API versions: Steam1 and Steam2 data (current Steam is Steam3) | * The data from the older steam server/API versions: Steam1 and Steam2 data (current Steam is Steam3). Steam2 had a big data dump/leak shared on 2026-08-29. | ||
* recording app and package info, so that "trap DLC" DRM can be avoided and the real steam install process can be recreated (rather than user manually choosing depots) | * recording app and package info, so that "trap DLC" DRM can be avoided and the real steam install process can be recreated (rather than user manually choosing depots) | ||
* recording achievement info, so that can be used offline with steam emulators | * recording achievement info, so that can be used offline with steam emulators | ||
* SmartSteamEmu is closed source and windows only (its apparently the best steam emulator - hooks API calls instead of replacing DLLs, has achievement display) todo: goldberg (or gbe_fork at least) also has the hook feature? | * SmartSteamEmu is closed source and windows only (its apparently the best steam emulator - hooks API calls instead of replacing DLLs, has achievement display) todo: goldberg (or gbe_fork at least) also has the hook feature? | ||
* recording the rest of the metadata on steam | * recording the rest of the metadata on steam | ||
* Custom Executable Generation (CEG) DRM that a few games have, including old builds of Valve games. This DRM involves the server giving each user a unique .exe for the game. Applying the principle of how we treat per-cart-data for physical games on other platforms, we'd want to try and get/generate non-user-unique exes. Possibly useful tool: https://github.com/iArtorias/noceg | |||
* SteamDB backup | |||
</pre> | </pre> | ||
Latest revision as of 09:40, 2 September 2026
This is a work in progress proposal for improving the Steam datting procedures
folder structure below. top level folder (app1) = dat entry
```
app1
depot1
CSM/CSD with all depot chunks
all depot manifests
depot key
depot2
...
possibly sidecar file with update history (for correct manifest combos). current manifest combos can be retreived via steam. could include historical data from steamdb, marked as such.
```
chunks and manifests are to be the raw files from the server
when a new manifest is pushed, the CSM/CSD file would be updated (added as new file, with old file excluded from DoM?) and new manifest file added
unsolved issues:
* tooling to automate all this. some progress here: https://github.com/Dimensional/DepotDownloader/tree/feature/steam-cdn-tools
supplemental projects:
* The data from the older steam server/API versions: Steam1 and Steam2 data (current Steam is Steam3). Steam2 had a big data dump/leak shared on 2026-08-29.
* recording app and package info, so that "trap DLC" DRM can be avoided and the real steam install process can be recreated (rather than user manually choosing depots)
* recording achievement info, so that can be used offline with steam emulators
* SmartSteamEmu is closed source and windows only (its apparently the best steam emulator - hooks API calls instead of replacing DLLs, has achievement display) todo: goldberg (or gbe_fork at least) also has the hook feature?
* recording the rest of the metadata on steam
* Custom Executable Generation (CEG) DRM that a few games have, including old builds of Valve games. This DRM involves the server giving each user a unique .exe for the game. Applying the principle of how we treat per-cart-data for physical games on other platforms, we'd want to try and get/generate non-user-unique exes. Possibly useful tool: https://github.com/iArtorias/noceg
* SteamDB backup