SteamRE / DepotDownloader

Steam depot downloader utilizing the SteamKit2 library.
GNU General Public License v2.0
1.94k stars 262 forks source link

[Enhancement Request] Download/Save raw CDN and Manifest data for No-Intro Datting #452

Closed Dimensional closed 2 months ago

Dimensional commented 1 year ago

What problem is this feature trying to solve?

I'm wanting to use this program to download and save the raw CDN format of games that I have in my library. This means saving the manifest in it's raw encrypted/compressed format, and all of the 1MB CDN files that come with it. This would be used for No-Intro Datting, and possibly useful for things like Lancache. Furthermore raw CDN dumps could be just of the files unique to the app/depot, and not include any common depots, like redists, so to avoid any possible duplicates, if they are not all saved to a common location.

How would you like it to be solved?

Reviewing the source code, the only ways I can see possible at this time would be adding in an argument to the SteamKit2 source, specifically within Client.cs, to allow for saving the raw manifest files, and then processing it like normal to then download the raw chunks without extracting, and then adding in the necessary commandline arguments to program.cs and branch code to contentdownloader.cs. This is just preliminary, and I got no clue if there are other easier methods.

Have you considered any alternative solutions

N/A

Additional Information

No-Intro is a community that works to generate checksums of various games and their files for preservation. How they go about this is they set up a standard for how games should be dumped, be it a physical cart or a digital game, and how to generate a data file that contains metadata about the game files, such as what the files pertain to, their checksums, etc.

No games are ever shared, only the metadata, so that if others wish to preserve their own copies of the games, or wish to ensure any copy they have is not bootlegged, they have a means to check and confirm.

Currently, No-Intro has a tutorial for dumping Steam content using DepotDownloader, however at this time it can only do so by downloading/installing the games themselves. They would prefer having the raw CDN content, ie the manifests and 1MB cdn files. Steam Dumping Guide

xPaw commented 2 months ago

Gonna close as duplicate of #34, you can add your use case there.