Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add deserialization support for new binary VDF w/ key table #61

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

Open
Matoking wants to merge 1 commit into ValvePython:master
base: master
Choose a base branch
Loading
from Matoking:support_new_bvdf

Conversation

@Matoking
Copy link

@Matoking Matoking commented Jun 30, 2024

The new Steam beta introduced a new appinfo.vdf version. This appinfo.vdf V29 introduces a new binary VDF format which does not include field keys in binary VDF segments as-is. Instead, each key is represented by a 32-bit integer which needs to be mapped to an actual string using a table stored at the end of the appinfo.vdf file.

This also means the binary VDF segments in this case are no longer self-contained. The developer can parse and provide the table themselves or instead use the ValvePython/steam library which contains a function to parse appinfo.vdf files.

Also see SteamDatabase/SteamAppInfo@56b1fec

Refs ValvePython/steam#462

sonic2kk, scgm0, and murlakatamenka reacted with thumbs up emoji parona-source and chewi reacted with heart emoji sonic2kk and teleprint-me reacted with rocket emoji
The new Steam beta introduced a new `appinfo.vdf` version. This
appinfo.vdf V29 introduces a new binary VDF format which does not
include field keys in binary VDF segments as-is. Instead, each key is
represented by a 32-bit integer which needs to be mapped to an actual
string using a table stored at the end of the `appinfo.vdf` file.
This also means the binary VDF segments in this case are no longer
self-contained. The developer can parse and provide the table
themselves or instead use the `ValvePython/steam` library which
contains a function to parse `appinfo.vdf` files.
Also see SteamDatabase/SteamAppInfo@56b1fec
Refs ValvePython/steam#462 
Copy link

This fix is also needed over at https://github.com/cbartondock/node-binary-vdf in case you feel like submitting a PR :) if not I will work on borrowing your code! Good job figuring this out.

Copy link
Author

This fix is also needed over at https://github.com/cbartondock/node-binary-vdf in case you feel like submitting a PR :) if not I will work on borrowing your code! Good job figuring this out.

Thank you, you can use this PR as a reference.

I can't take full credit, though; SteamDatabase/SteamAppInfo was the first to figure out the new format to my knowledge and this implementation is based on their findings.

Copy link

Okay just got it finished. The node module is binary-vdf-2. In case anyone needs the code for reference:

https://github.com/cbartondock/node-binary-vdf/blob/master/src/index.ts

Copy link

chewi commented Sep 15, 2024

Maintainers, please pick this up and release it so that the library doesn't need to published to PyPI under a new name. It is now more urgent as the stable version of Steam is now using this new format.

gentoo-bot pushed a commit to gentoo/gentoo that referenced this pull request Sep 15, 2024
Steam is now using a new format, but the necessary changes haven't been merged
by the maintainers of this library yet.
Bug: ValvePython/vdf#61
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Copy link

Just going to point out that, if the maintainer doesn't return, we have a fork that has this and many of the other pending PRs merged:
https://github.com/solsticegamestudios/vdf

The python-vdf package on AUR also points to this fork now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /