Remote streaming is a neat way to access your PC from other devices. Thanks to the advancements in hardware capabilities and network bandwidth, you even enjoy high graphical fidelity and solid frame rates while streaming full-fledged games to your PC.

In fact, there are a handful of applications that allow you to set up remote streaming on all your favorite computing devices. If you're looking for a free-yet-robust way to stream games, the combination of a Sunshine server and a Moonlight client is easily the best option. But since configuring both apps can get rather cumbersome, we’ve created a step-by-step guide to help you level up your remote streaming game!

Setting up Sunshine

Serving as one-half of the remote streaming setup, Sunshine is an application that lets you convert a powerful PC into a server capable of rendering games and sending the stream to any client device. It’s also quite easy to configure as all you have to do is:

  1. Head to Sunshine's official GitHub link and download the portable version of the app.
  2. Extract the folder and run sunshine.exe as an administrator.
  3. Copy the Configuration UI link from the Sunshine terminal onto your web browser.
    The Sunshine terminal with the link to the Configuration UI highlighted
  4. Pick a username and password and click on Log in before signing in with the newly-set account credentials.
    The procedure to set the log-in credentials for Sunshine's web UI
  5. (Optional) If you prefer playing with controllers, you’ll need to download and install the ViGEmBus drivers.

Setting up Moonlight

With the host machine configured, you’ll need to download Moonlight, an application that allows you to connect a client device to the Sunshine server.

  1. Download the latest version of Moonlight from the GitHub link.
  2. If you’re using the portable version, simply extract the folder you just downloaded and run Moonlight.exe with admin privileges.
  3. If your firewall tries to block Moonlight, click on the Allow access button.
    A screenshot of the Windows Firewall attempting to block Moonlight from private networks
  4. Assuming your Sunshine host and Moonlight client are on the same network, the server will appear inside the Moonlight client.

Pairing the Sunshine server with a Moonlight host

Now that you've installed Sunshine and Moonlight on your PCs, it’s time to pair them over the LAN/Wi-Fi.

  1. Inside the Moonlight app, click on the Sunshine server.
    Choose the Sunshine server within the Moonlight app
  2. Note the PIN displayed by Moonlight and switch to the other PC.
    A screenshot of the PIN used to pair a Moonlight client with the Sunshine host
  3. Click on the PIN tab of the Sunshine UI and enter the four-digit code before clicking on the Send button.
    The PIN pairing page on the Sunshine UI
  4. The lock icon on the host/server PC will disappear from Moonlight, and you're free to use it from the client system.
    The Moonlight app without a lock icon on the Sunshine server

(Optional) Optimizing the video settings on Moonlight

Once you’ve set up both Sunshine and Moonlight, you can click on the server name in Moonlight and begin broadcasting your games and even the desktop screen to the client system. However, you’ll notice that the image quality on Moonlight can be somewhat lacking. To fix this, simply adjust the video settings on Moonlight by following these steps:

  1. Click on the Settings icon in Moonlight.
  2. Increase the resolution and FPS by clicking on the arrows and choosing the ideal values in accordance with your network bandwidth and speed.
    Moonlight app with the resolution and FPS settings highlighted
  3. You can also modify the image quality with the help of the Video bitrate slider.
    Moonlight app with the Video bitrate slider highlighted

(Optional) Setting up ZeroTier to stream games over the Internet

So far, you're limited to streaming games across devices connected to the same network. But for those who want to stream games over the Internet, the ZeroTier application serves as a nice solution.

  1. Download the ZeroTier app on both the server and the client system from the official link.
  2. Run zerotier_desktop_ui.exe on both devices.
  3. Right-click on the ZeroTier app icon in the Taskbar and pick the Join new network… option to open a new dialog box.
    The ZeroTier app with the Join New Network... option highlighted
  4. Switch to your web browser, and sign up on ZeroTier to gain access to the Network settings page.
  5. Click on the default Network created by ZeroTier.
    the ZeroTier UI with the default Network highlighted
  6. Choose 10.147.17.* as the IPv4 Auto-Assign range.
    The ZeroTier UI with the IPv4 and IPv6 Auto Assign settings marked
    Also, ensure that all the IPv6 Auto-Assign settings are disabled.
  7. Copy the Network ID into the Join ZeroTier Network dialog box and hit Join.
    The procedure to copy the Network ID to the Join ZeroTier Network dialog box
    Repeat this step for the client device.
  8. Head back to ZeroTier's Network page on your web browser, and enable the checkbox under the Auth? column for the server and client systems.
    The ZeroTier UI with the Auth? checkboxes enabled
  9. Switch to the client system that’s running Moonlight and click on the Add PC manually button.
    Moonlight with the Add PC manually button highlighted
  10. Copy and paste the Managed IP of the server into the blank and hit OK.
    The procedure to add the Managed IP of the server PC to Moonlight

Once the server shows up in the Moonlight app, you can access it from any network, not just your home Wi-Fi/LAN.

Wrapping up the procedure to set up Sunshine and Moonlight

Remote gaming is quite a neat facility, especially if you wish to play your PC games on other devices like a portable laptop, gaming handheld, or smartphone. It’s also a better alternative to cloud gaming as you retain full control over the actual hardware and games. That said, if you're more into the productive aspect of remote streaming, you might want to check out the easy-to-setup Parsec application instead.

On the flip side, if you encounter random slowdowns during your remote gaming sessions, chances are your Wi-Fi router isn’t powerful enough to stream your games. Turning down the resolution and increasing the Rx and Tx buffer sizes can help out a lot, though you'll need ample RAM on your system for the latter tweak. If you've got a slow home network, upgrading to a high-speed router, better cables, and faster NICs and switches can improve your remote streaming experience. Your server can also be the culprit that's causing low FPS, meaning it's time to upgrade to better components.