STEAM GROUP
Steam Remote Play homestream
STEAM GROUP
Steam Remote Play homestream
2,934
IN-GAME
36,508
ONLINE
Founded
November 7, 2013
Why categories(and images) aren't synced for Non-Steam Games
This is post is mostly to tell you a bit about what's going on behind the scenes with Non-Steam Games, but if anybody who knows more than me stumbles across this, I would be very happy if they would correct me.

Everybody who has a lot of Non-Steam Games in their library knows, how annoying it is that you
have neither custom images nor categories to help you in finding your games. Some of you may be interested in why that is, so here is the explanation:
In your local steam folder there is a file for each user named Steam/userdata/<UserID>/config/shortcuts.vdf, which contains information about all your non-steam games. It's basically the little properties window, alongside the categories tab. If you want to look at it yourself you will need something like notepad++, due to all the special characters. Some other information about your non-steam games is in other files or folder (like last played and the screenshots), but all of those are just other data surronding that file. Now, why is that file relevant? Well, because it doesn't exits.
On the client PC.
The client PC appears to know only two things: The game's name and the PC to stream it from. Behind the scenes it does keep track of some other things, but those variables are completely unknown to me. Steam only uses one value while you are browsing the library and that is the name. I can tell you that, because steam thinks that two games with the same name are the same game. Try setting a custom grid view image for two games with the same name. You can't. Steam saves one image and then says that the other game already has an image (Steam only shows one because it wasn't built for that).

You might just have been reminded of something: The problem with custom images not syncinc between installations. Well good sir, I even have an explanation for that. Steam stores all custom images in the folder /Steam/userdata/<UserID>/config/grid. Every image has the appid of the game as its name. On the client that appid is a (ORed and bitshifted and ORed) CRC-32 of the games Filepath and Name. On the client, however, only the Name is being used. This explains two things: why you can't just copy and paste images from your host to your client and why games with the same name behave so weirdly.

So, yeah that's it. Just thought I might share my knowledge of this with you lot, somebody might be interested. I mostly worked this out by looking at pysteams sourcecode (pysteam is the library behind Ice). And doing some tests. Also, I'm kinda working on a solution for the image problem, so help might be near. Currently the code is not nice enough that I want to share it, yet.

Have fun streaming!
< >
Showing 1-3 of 3 comments
Dwight Schrute Jan 19, 2017 @ 5:34am 
Up!

Some fix already?
Raging Panda Apr 28, 2024 @ 3:37pm 
Please for the love of god do this. I'm tired of my categories breaking!
FeistyTroglodyte Apr 30, 2024 @ 12:12am 
Damn, OP is kinda cringe
< >
Showing 1-3 of 3 comments
Per page: 1530 50

Date Posted: Aug 20, 2016 @ 5:07pm
Posts: 3