DepotDownloader icon indicating copy to clipboard operation
DepotDownloader copied to clipboard

Feature Request: download the original .manifest file

Open solomax2014 opened this issue 7 years ago • 10 comments

As for now, -manifest-only argument only creates a file list. But what if someone need checksums or whatever else from .manifest (like manifest creation date)? So, if we can download manifests, can we also make the original .manifest file by calling -manifest-only?

solomax2014 avatar Dec 04 '17 21:12 solomax2014

What exactly do you mean by original here? Because the original would be a binary format that needs something like SteamKit to parse correctly.

I assume you want some text representation with all the attributes from the manifest? If so, how should that look?

xPaw avatar Feb 16 '21 13:02 xPaw

@xPaw I think they mean saving the original .manifest from Steam CDN servers (but with decrypted filenames) like the actual Steam client does instead of using the current pseudo-format with some of the original manifest data. I would like to second this notion as this feature is important for preservation purposes.

Why is a pseudo-format used anyway? Is there an issue with serializing/de-serializing the original manifests?

NicknineTheEagle avatar Mar 16 '21 12:03 NicknineTheEagle

Why is a pseudo-format used anyway

DD has its own protobuf format for storing it, it is similar to Steam's, but not quite. DD using protobufs for manifests seems to predate Steam itself doing that. Steam used a different binary format before.

Dumping the raw binary manifest is pretty useless, what are you going to do with it? There aren't even any tools that support reading it directly (SteamKit has the functions to handle it obviously, but it's not directly user facing).

xPaw avatar Mar 16 '21 12:03 xPaw

DD has its own protobuf format for storing it, it is similar to Steam's, but not quite. DD using protobufs for manifests seems to predate Steam itself doing that. Steam used a different binary format before.

So this is just legacy behavior from before Steam itself was using protobuf for manifests? Why not cut out the middleman and use Steam's protobuf then?

Dumping the raw binary manifest is pretty useless, what are you going to do with it? There aren't even any tools that support reading it directly (SteamKit has the functions to handle it obviously, but it's not directly user facing).

You could load and parse it in SteamKit. %) As I said, this is useful for potential preservation purposes as the current Steam servers may eventually get shut down. In fact, this already happened once, Steam2 servers got shut down around 2015(?) so we can't get any data pertaining to the old versions that used to be there anymore.

NicknineTheEagle avatar Mar 16 '21 13:03 NicknineTheEagle

A use case I can think of, is using it to integrate self-made game backups back to steam. It needs .acf files to recognize the game (which can be easily generated), but it also needs the .manifest files in order to verify/update the game backup.

Revadike avatar Apr 12 '21 18:04 Revadike