I was recently sent an interesting little script that will compare a downloaded list of your Steam games, with the Wine AppDB to show you a list of what you can expect to be able to play with Wine.
I'll be honest, the way to do it is currently a bit annoying. The developer of it did tell me that this project is a way for them to learn about web scraping and it's currently considered "alpha" quality. However, I tried it and it does actually work reasonably well.
You will need to go to Steam, go to your profile, then click the Games link on the right. When on the games page, make sure it's on the "All Games" tab and then download the page. Rename the html file to "MySteamGames.html" and stick in in the same folder as this script. Then simply run "python3 winesteamcompare.py" and it will print a list in terminal of your games that have a Gold or Platinum rating in Wine.
It will end up giving you a list like this (yes, I really do have a lot of games!):
Find the script on github here.
As always, I don't recommend buying recent games to play in Wine in case they get a port in future. However, it's still better to play in Wine on Linux, than on Windows. Someone using Wine could eventually be a full Linux user, so whatever helps people stay on Linux is great. Wine is always a controversial topic, but it is a fantastic tool.
I'll be honest, the way to do it is currently a bit annoying. The developer of it did tell me that this project is a way for them to learn about web scraping and it's currently considered "alpha" quality. However, I tried it and it does actually work reasonably well.
You will need to go to Steam, go to your profile, then click the Games link on the right. When on the games page, make sure it's on the "All Games" tab and then download the page. Rename the html file to "MySteamGames.html" and stick in in the same folder as this script. Then simply run "python3 winesteamcompare.py" and it will print a list in terminal of your games that have a Gold or Platinum rating in Wine.
It will end up giving you a list like this (yes, I really do have a lot of games!):
QuoteYou have 1094 games
Aliens vs Predator ... Platinum
Aliens: Colonial Marines ... Gold
FEAR 2: Project Origin ... Platinum
Dead Space 2 ... Platinum
Call of Duty: Black Ops ... Platinum
Find the script on github here.
As always, I don't recommend buying recent games to play in Wine in case they get a port in future. However, it's still better to play in Wine on Linux, than on Windows. Someone using Wine could eventually be a full Linux user, so whatever helps people stay on Linux is great. Wine is always a controversial topic, but it is a fantastic tool.
Some you may have missed, popular articles from the last month:
Quoting: GuestNote: the project also includes some scripts for GOG:While it does, I have not tested them and the developer who emailed me didn't say if they worked yet.Quotewinegogcompare.py uses the winehqextract script and the gogextract script to make a list of all gog games that can be played using wine (not just the ones you own)
0 Likes
That's pretty neat. and a good idea. esp if he can find a way to get accurate results quickly.
0 Likes
There's really no reason to make people go through that stuff to download the games web page.
Steam has an API that lets you just grab the whole list directly, just set the profile to public.
Last edited by chrisq on 2 August 2017 at 12:52 pm UTC
Steam has an API that lets you just grab the whole list directly, just set the profile to public.
Last edited by chrisq on 2 August 2017 at 12:52 pm UTC
0 Likes
Petty nice :) Would have been a good idea to filter out linux native games.
2 Likes, Who?
Better an up to date list of games working greatly! I dont like to install anything but important!
0 Likes
Quoting: Guest2 problems with the Wine AppDB:
- a lot of results are old
- regressions
If the regressions are in Wine (as opposed to the game being updated and no longer working), then you can still get the best result by picking your Wine version (which is relatively easy for example using PlayOnLinux).
0 Likes
Debian Jessie, Python3 3.4.2
:S:
$ python3 winehqextract.py -p
File "winehqextract.py", line 72
getpluspost = {**getparams,**postparams}
^
SyntaxError: invalid syntax
:S:
0 Likes
QuoteIt will end up giving you a list like this (yes, I really do have a lot of games!):You are like a little baby, watch this:
QuoteYou have 1094 games
QuoteYou have 1402 gamesHowever, for me, with Python 3.4, the script itself fails:
File "winehqextract.py", line 72
getpluspost = {**getparams,**postparams}
^
SyntaxError: invalid syntax
I'm a C/C++ programmer, the only contact with Python I have is a few IDAPython scripts or Ren'Py scripts, so I have no idea what's going on there.
EDIT: Seems like I've been ninja'd there. :P
Last edited by DrMcCoy on 2 August 2017 at 4:50 pm UTC
1 Likes, Who?
Hi everyone,
I'm the author of this little script. Thanks for all your comments. I've applied the patch Faun suggested so that it works in older versions of python.
I'm going to look into the steam api (I didn't know it existed!). The problem is that steam uses either your phone or a code they send you by email to authenticate, so I didn't know how to do that via script.
And finally, I'll also look into the os.system calls... but could you be a bit more specific about what can be improved?
I'm the author of this little script. Thanks for all your comments. I've applied the patch Faun suggested so that it works in older versions of python.
I'm going to look into the steam api (I didn't know it existed!). The problem is that steam uses either your phone or a code they send you by email to authenticate, so I didn't know how to do that via script.
And finally, I'll also look into the os.system calls... but could you be a bit more specific about what can be improved?
0 Likes
Quoting: mraggiI'm going to look into the steam api (I didn't know it existed!). The problem is that steam uses either your phone or a code they send you by email to authenticate, so I didn't know how to do that via script.
You can require that the user set their profile to public, if you want to spare the pain of logging in.
Else I suggest you turn your script into a web page, where users can authenticate by themselves via Steam. Lots of sites do that, and as a user, I like this a lot more than running a script. But in addition to coding it, you have to host it somewhere.
I second what Faugn says about using proper modules rather than system calls. I would add that you should reserve main() for command line entry points only, and if a module calls something from another module, it should be a function with a descriptive name instead.
1 Likes, Who?
See more from me