-
Notifications
You must be signed in to change notification settings - Fork 32
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
Add deserialization support for new binary VDF w/ key table #61
base: master
Are you sure you want to change the base?
Conversation
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
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. |
Okay just got it finished. The node module is https://github.com/cbartondock/node-binary-vdf/blob/master/src/index.ts |
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. |
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 <[email protected]>
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: The python-vdf package on AUR also points to this fork now. |
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 theappinfo.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 parseappinfo.vdf
files.Also see SteamDatabase/SteamAppInfo@56b1fec
Refs ValvePython/steam#462