Open magiruuvelvet opened 5 years ago
@magiruuvelvet
After a brief investigation of the original VDF, I found out that in [app_id = 17500]['sections'][b'appinfo'][b'extended']
, the key-value pair {"serverbrowsername": "Zombie Panic! Source'"}
repeats twice. So 1 byte for the type of value, plus lengths of these two null-terminated strings is 40. And the difference between two VDF files is 40 bytes...
Not sure yet what to do with this. Sounds like two different problems: what to do when our assumption about non-repeating keys breaks, and Steam rejecting the changed file.
I'll play around with issue 1 and try to find other files with the same problem. As for point 2, it was never a guarantee that Steam won't outright reject the file with even minor changes.. I'd say it makes sense, even.
Hi magiruuvelvet, can you tell me about how the appinfo.vdf file works?
What is changing in the appinfo.vdf file? What is it there for? How is Steam using it? What is its importance?
Appinfo is where the "configuration" of all games is stored, from launch parameters to supported languages and features, to even just the name of appids itself. I can also report like OP that "blindly editing the file" is reset as soon as possible... Though SteamEdit seems able to do that just fine. EDIT: maybe there's the size of the data area to respect/fix?
During a research how the appinfo.vdf file works I found your project. I started playing around with it as I plan to rename some game titles in my local library. But the problem is Steam rejects the newly created appinfo.vdf and just deletes it and starts a sync from the Steam cloud. Also adding the immutable flag (
chattr +i
) to the file doesn't help; Steam just ignores it and loads a temporary appinfo into memory. :/The console output of the Steam client never mentions the file or any other meaningful information.
Here is the snippet I'm currently trying:
I don't change anything and save back the data immediately to no avail.
Reading data from it works though. A snippet to list all games in the library:
The file hash changes every time when Steam syncs back the file from Steam cloud. The file saved from your tool also have a different hash each time.
Do you have any idea what could be wrong; or am I missing something?
EDIT: I'm using the latest Steam Client Beta on Linux
EDIT2: Here are the 2 appinfo.vdf files, the original the Steam client created and the "unchanged" modified appinfo from the snippet above. appinfo.zip