Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically fetch manifest through Steam #1

Merged
merged 3 commits into from
May 30, 2021

Conversation

ramcguire
Copy link

Using SteamKit2, automatically fetch the latest Manifest ID and fill in the information in the textbox.

Also used a more robust .gitignore and a little bit of debugging which helped in getting this functioning.

Looking at abstracting this to other installed games.

@kinsi55 kinsi55 changed the base branch from master to automanifest May 30, 2021 23:26
@kinsi55
Copy link
Owner

kinsi55 commented May 30, 2021

Hey,

First off, thanks a lot for your PR! I had looked into using Steamkit to accomplish exactly this but decided it wasnt worth effort - Seems like its not as much effort as I had thought It'd be! I'm gonna merge this however will do some changes / correct formatting before publishing it as an update.

@kinsi55 kinsi55 merged commit 6313d75 into kinsi55:automanifest May 30, 2021
@ramcguire
Copy link
Author

Yeah SteamKit documentation is definitely lacking. Not as bad as it seems though. I have a proof of concept solution for doing this process for any arbitrary installed application working in Python. I'll spend some time integrating it here as well. Next time I'll try to adhere more to your code style!

@kinsi55
Copy link
Owner

kinsi55 commented May 30, 2021

The main problem with making this work for arbitrary apps is actually locating the correct depot ID to use, for various apps it can be pretty tricky from what my 5 minute google search gave me when I had considered making this that.

@ramcguire
Copy link
Author

ramcguire commented May 31, 2021

AFAIK we would only need to update the manifests listed under "InstalledDepots" in the appmanifest*.acf. For example I checked Portal 2 and my appmanifest_620.acf looks like this:
image

Then using SteamKit to query for product info, we just need to update the depots found in the appmanifest*.acf file. The product info response returns more than necessary, but it does include all the depots I have installed. With Beat Saber, updating the "public" manifest is all that is needed as there is only one installed depot. It seems like this is the same case here (this is just looking at depot 624):
image

I think this should work for any arbitrary installation as Steam only checks for updates on the depots that are installed.

@kinsi55
Copy link
Owner

kinsi55 commented May 31, 2021

With Beat Saber, updating the "public" manifest is all that is needed as there is only one installed depot

If you have any DLC theres more, but yes I suppose brute force updating all of them might just work.

@ramcguire
Copy link
Author

Yeah just updating the manifest for everything under "InstalledDepots" should work. I'll experiment with that tomorrow.

@kinsi55
Copy link
Owner

kinsi55 commented May 31, 2021

Released now, thanks again!

kinsi55 pushed a commit that referenced this pull request Oct 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants