-
Notifications
You must be signed in to change notification settings - Fork 146
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
[BUG] SyntaxError: Invalid magic, got b')DV\x07' #462
Comments
Looks like the magic changed again for |
Had a look at the new |
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 are stored at the end of the `appinfo.vdf` file. This also means the binary VDF segments are no longer self-contained. Also see SteamDatabase/SteamAppinfo#56b1fec7f5ce6be961c3e44cf9baf117e363ad91 Refs ValvePython/steam#462
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 are stored at the end of the `appinfo.vdf` file. This also means the binary VDF segments in this case are no longer self-contained. Also see SteamDatabase/SteamAppinfo#56b1fec7f5ce6be961c3e44cf9baf117e363ad91 Refs ValvePython/steam#462
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#56b1fec7f5ce6be961c3e44cf9baf117e363ad91 Refs ValvePython/steam#462
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
appinfo.vdf V29 was introduced in Steam beta. This new version introduces a space-saving optimization: instead of encoding each key name in the binary VDF segment directly, an int64 identifier is instead used for each key, with a table at the end of the 'appinfo.vdf' file providing the mapping to actual key names. Also see SteamDatabase/SteamAppInfo@56b1fec Fixes ValvePython#462 Co-authored-by: Eamonn Rea <[email protected]>
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
appinfo.vdf V29 was introduced in Steam beta. This new version introduces a space-saving optimization: instead of encoding each key name in the binary VDF segment directly, an int64 identifier is instead used for each key, with a table at the end of the 'appinfo.vdf' file providing the mapping to actual key names. Also see SteamDatabase/SteamAppInfo@56b1fec Fixes ValvePython#462 Co-authored-by: Eamonn Rea <[email protected]>
@rossengeorgiev Please review the relevant PRs. This should really be fixed sooner rather than later. |
I made a fork that incorporates the PR that fixes this, as well as several other pending PRs in this repo. I don't really particularly want to be the new maintainer for this, but if I'm still using it I may as well. PRs on the fork welcome. |
One option would be to vendor the relevant code and/or libraries, though I don't know if that is possible for projects using GPL and other similar licenses like Protontricks. Debian also doesn't like vendored code to my knowledge. I've instead opted to push a version to Flathub beta branch with the fix. For pip users I've instructed to install the libraries from GitHub directly. Other than that, the current options are limited as @rossengeorgiev has had some sporadic activity on GitHub, but these two ValvePython projects haven't had any activity in a while. I have to emphasize that they're not obligated to work on these libraries - open source development is often a thankless job and maintainers are prone to burnout, after all - though it would be appreciated if they could state whether these projects are in maintenance mode or abandoned. |
appinfo.vdf V29 was introduced in Steam beta. This new version introduces a space-saving optimization: instead of encoding each key name in the binary VDF segment directly, an int64 identifier is instead used for each key, with a table at the end of the 'appinfo.vdf' file providing the mapping to actual key names. Also see SteamDatabase/SteamAppInfo@56b1fec Fixes ValvePython#462 Co-authored-by: Eamonn Rea <[email protected]>
Description
Steam Client Beta seems to be rolling out a new format again.
Steps to Reproduce the behavior
Example
appinfo.vdf
, like last time:appinfo.zip
Versions Report
The text was updated successfully, but these errors were encountered: