Building the Ultimate Game Streaming Server

Ever since getting a Steam Deck, it has changed the way I play PC games. And not how I expected. Instead of gaming solely at my desk, I wanted a reliable way of streaming a video game feed from my PC to the Steam Deck (docked to a TV) or another PC. I've been doing it this way for over a year now and so far it has been a great experience.

I had originally found that when having my gaming PC hooked up to multiple monitors, it really didn't work well with streaming, so I ended up using only a 4K HDMI EDID adapter plugged into my gaming PC's HDMI port. (Note - if I was doing this again, I'd make sure I'd get one that supports HDR, it adds about $20 more to the price, but worth it)

After about 10 months of doing it this way, I wanted to to be able to play locally on a large TV (for Starfield) so I just switched it out for using an HDMI cable to a single display TV at 4K.

For Windows setup, I went with a clean install of Windows 11, and set it up using a local account (using the no@thankyou.com trick to get Windows 11 to allow you to use a non-Microsoft account).

I treat this gaming PC the same as a video game console, so it is not locked down as much as I'd normally treat a PC. This includes not putting a password on the Windows account, so it logs directly into the account at boot.

You'll want multiple ways of getting remote access to the system just in case. I use three: RDP, Parsec (the free edition) and running Sunshine server on the system and connecting to Sunshine via Moonlight. These each have their uses cases. If something is wrong with Parsec, I use RDP to fix it, but normally if I'm gaming from another PC I use Parsec, and if I'm gaming on the Steam Deck, I'll use Moonlight. (Moonlight does seem to have better quality)

Connect to Work or Games from Anywhere | Parsec
Parsec is a remote desktop you’ll actually love. Connect to work, games, or projects wherever you are, whenever you want.
GitHub - LizardByte/Sunshine: Self-hosted game stream host for Moonlight.
Self-hosted game stream host for Moonlight. Contribute to LizardByte/Sunshine development by creating an account on GitHub.

You'll also want to edit this registry key to make it a value of 0, this allows you to RDP without a password, if you're treating this like a game console and didn't put a password on it: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\LimitBlankPasswordUse

Another good application you'll want to have installed on the gaming PC is Playnite. Playnite will allow you to index all your games in one launcher (Xbox, Steam, Epic, or other non-platform based games). This also works with a controller, so it is very easy to navigate from the Steam Deck.

https://playnite.link/

If you add the Playnite FullScreenApp.exe to Sunshine, you can open it directly when remoting in via Moonlight.


Gaming Remotely Out of The LAN

For about 8 months or so, I did this by running my own Wireguard setup, and it worked well, using wg-easy in a docker container and getting the wireguard client config installed/setup on my laptop or Steam Deck to be able to stream games from the gaming PC. But then I moved and my network infrastructure changed, my Wireguard setup became double NAT'd and over-complicated for this.

How I'd recommend it now, is just using TailScale free tier.

Tailscale
Tailscale is a zero config VPN for building secure networks. Install on any device in minutes. Remote access from any network or physical location.