leovp/steamfiles

Can't parse VDF_VERSION 0x07564427

Closed this issue · 7 comments

Hi,

steamfiles seems to be a cool lib, congrats.

However it seems it doesn't handle recent VDF_VERSION.

I got this message when I try to parse my current appinfo.vdf:

raise ValueError('Unknown VDF_VERSION: 0x{0:08x}'.format(header['version']))
ValueError: Unknown VDF_VERSION: 0x07564427

Is this easily fixable ?
Thanks for your help!

Can you paste your appinfo.vdf into haste bin and paste a link here? You provided no reproduction case so it's very hard to fix.

steamfiles probably doesn't support that VDF version so it's not "fixable" that is a feature that needs to be added, VDF support for that version.

I got the same issue trying to parse appinfo.vdf
I'm pretty sure this applies to all appinfos, but if you still can't reproduce on yours, I Can upload mine.

Found some info about it online:

From SteamEdit:
appinfo.vdf 0x07564427 (Introduced early January 2017).

And from some forum thread:
the file now starts with 0x07564427 instead of 0x07564426 and each app info is formed of a single KVS instead of 1 KVS per info section ...

Here's mine: https://drive.google.com/file/d/0B0mnh0chJK1RaTJ0MDdkTzZtVGM/view?usp=sharing

Yes I read the same info too :)

Here is mine, for science.

appinfo.zip

The new structure according to ValvePython/vdf#13

uint32   - MAGIC: "'DV\x07"
uint32   - UNIVERSE: 1
---- repeated app sections ----
uint32   - AppID
uint32   - size
uint32   - infoState 
uint32   - lastUpdated
uint64   - accessToken
20bytes  - SHA1
uint32   - changeNumber
variable - binary_vdf
---- end of section ---------
uint32   - EOF: 0

I ended up installing from master, but a pip version bump would be nice since this is a pretty big update and appinfo straight up doesn't work with new appinfo.vdf version without this change! Cheers and thanks for fixing this :)