Found 18K+ games on NVIDIA GeForce NOW
I, along with many NVIDIA GeForce NOW users, am waiting for Nvidia to add new games. Some of the preferred games, like the Mafia series, were previously available on GFN but were removed. While waiting for these games to become available again, I tried to recover deleted NVIDIA GeForce NOW games. During this process, I accidentally discovered something unexpected.
My story
About half a year ago, the NVIDIA GeForce NOW service operated differently. You could launch Steam directly and then select any game of your choice. Most of the games were locked due to GFN limitations, but I figured out how to run games not officially available on their website. I managed to play Gas Guzzlers Extreme at that time. So, I wanted to find a way to get a full list of games available for GFN. An old version of the GFN client app used to download the file whitelist.json, which contained a few thousand games. Unfortunately, it’s no longer possible to get a new update of this file.
Four months ago, I decided to continue my research and inspect the GFN client application. I aimed to test if the old version of GFN, which downloaded the file whitelist.json, could also download other stored information. It took more time than I expected, but it was worth it.
The research
After installing NVIDIA GeForce NOW, I launched it and waited for all its data to fully load. I inspected its log and cache files, and the file that caught my eye the most was console.log.
In the log file, I noticed the app configurations used to fetch data from the servers. Here is the most important line:
This is the main URL used for web requests: https://games.geforce.com/graphql.
If you open that, you will see a GraphQL editor:
This is an interface for testing GraphQL queries. I began experimenting with different structures. It turned out to be easier than expected; once I pressed Ctrl+Space, an intelligent code completion popup appeared.
I began filling in the parameters to obtain valid responses.
As you can see, I received 1200 results. Thanks to the intelligent code completion, I added all of the missing fields.
Then, I discovered a method to fetch more than 1000 results. I intuitively guessed the ‘After’ argument, which indicated the number of results to skip. This is a base64 encoded integer number:
Using this method, I successfully fetched the list of all the games from GFN servers. I was surprised by the number of results — over 18,000 items. Excited to see these results in the official GFN client application, I began developing a special proxy server capable of achieving this.
18K+ games in the official GeForce NOW app
After completing my proxy server, I started it locally and enabled it. It worked!
Needless to say, it won’t allow you to start all the games if you haven’t purchased them. Additionally, many of them don’t work anyway. However, I was curious to find out which games the GFN developers play. Along the way, I discovered that there are not only games but also a lot of applications available.
It’s likely that GFN developers use those apps for their own purposes. I stumbled upon applications like 3D Max, Maya, Adobe Photoshop, Microsoft Office, and many others. There was also a ‘Client Platforms’ section.
It’s likely that they use these applications for testing third-party games. Additionally, I found games that were never announced on the GFN service, such as Mafia: Definitive Edition.
After that, I noticed games like God of War, which couldn’t theoretically be added to GeForce NOW at the moment.
This game is a PlayStation exclusive and is unlikely to come to other platforms anytime soon. So why is it listed here? It’s indicated that the game is available in the Steam store, but it’s not found on Steam. Could this be a leak about an upcoming game release? It’s possible, but the information I found next made me think otherwise.
Yes, it is Dolphin Emulator, an app intended to run copies of games from other platforms. Why is it here? Nintendo states that there is no legal way to copy games. Even personal dumps of purchased games are considered illegal copies, according to Nintendo. Do they have other emulators to run games like God of War? I didn’t find any, but it’s possible that the emulators were bundled with those games. The information I discovered next was even more shocking.
This is the Nintendo Wii exclusive, Super Mario Bros. Wii. And yes, it’s possible to play a copy of that game via Dolphin Emulator. Is it a coincidence? Who knows… But if you look closer, you can find a label “NVIDIA CONFIDENTIAL,” which suggests that Nvidia doesn’t want it known that they are playing these games. It’s certain that no one can add their own games to Nvidia’s servers. I’m still puzzled as to why they need this. Any guesses?
Afterword
I have started the proxy server, and it is now available online. You can use it for research purposes. I’ve posted the instructions here: http://gfn.uax.co.
Four months ago, before I created this proxy, I tried to share all the information with Nvidia, but they showed no interest whatsoever. I decided that if they don’t care, I can publish it now. https://www.nvidia.com/en-us/geforce/forums/gfn-tech-support/46/452082/confidential
Links
I have saved links to all the resources for you, as well as links to the filled code of the GraphQL script. You can inspect the data by yourself.
Super Mario Bross. Wii + Dolphin Emulator (a backup copy on archive.org)
NVIDIA CONFIDENCIAL poster (a backup copy on archive.org)
Updates
GraphQL Playground backup (This is not a data backup, but a backup of the GraphQL Playground, which redirects requests to GeForce servers, so the results are live.)