LogoLogo
DownloadBlog
  • Overview
  • Getting started
    • Meshnet explained
    • How to start using Meshnet
      • Using Meshnet on Windows
      • Using Meshnet on Android
      • Using Meshnet on iPhone/iPad
      • Using Meshnet on macOS
      • Using Meshnet on Linux
      • Using Meshnet on Android TV
    • How to use Meshnet securely
  • Features
    • Linking devices in Meshnet
      • Linking external Meshnet devices on Windows
      • Linking external Meshnet devices on Android
      • Linking external Meshnet devices on iPhone/iPad
      • Linking external Meshnet devices on macOS
      • Linking external Meshnet devices on Linux
      • Linking external Meshnet devices on Android TV
    • Explaining permissions
      • Remote access permissions
      • File sharing permissions
      • Traffic routing permissions
      • Local network permissions
    • Renaming devices in Meshnet
      • Renaming devices on Windows
      • Renaming devices on Android
      • Renaming devices on iPhone/iPad
      • Renaming devices on macOS
      • Renaming devices on Linux
    • Sharing files in Meshnet
      • Sharing files on Windows
      • Sharing files on Android
      • Sharing files on iPhone/iPad
      • Sharing files on macOS
      • Sharing files on Linux
      • Sharing files on Android TV
    • Routing traffic in Meshnet
      • Routing traffic from Windows
      • Routing traffic from Android
      • Routing traffic from iPhone/iPad
      • Routing traffic from macOS
      • Routing traffic from Linux
      • Routing traffic from Android TV
  • How-to guides
    • Gaming
      • How to set up a private Minecraft server with Meshnet
      • How to set up a private Stardew Valley server with Meshnet
      • How to play Quake 3 Arena over Meshnet
      • How to set up a private Team Fortress 2 server with Meshnet
      • How to set up a remote game-streaming server for Moonlight
      • How to set up a Palworld dedicated server
      • How to play Fallout: New Vegas multiplayer over Meshnet
      • How to set up a private Factorio server with Meshnet
    • Remote files and media access
      • How to set up and access shared folders
        • Configure and access shared folders on Windows
        • Configure and access shared folders on macOS
        • Configure and access shared folders on Linux
        • Access shared folders from Android
        • Access shared folders from iPhone/iPad
        • Access shared folders from Android TV
      • How to watch videos over Meshnet using Kodi
      • How to configure and access a Jellyfin media server remotely
      • How to set up a Plex media server and access it remotely
      • How to set up a remote NAS using OpenMediaVault and Meshnet
      • How to set up a remote picture library with LibrePhotos and Meshnet
      • How to use Syncthing for remote continuous file synchronization
      • How to set up a remote Airsonic music server
      • How to set up HTTP File Server for remote file access
      • How to set up a remote audiobook server
      • How to host a remote Kavita e-book server
      • How to set up and remotely access Immich using Meshnet
    • Remote device access
      • How to log in to your PC remotely over Meshnet
        • Connect to a Windows device
        • Connect to a macOS device
        • Connect to a Linux device
      • How to access remote systems over Meshnet using SSH
      • How to access your IP camera over Meshnet
      • How to use Home Assistant remotely over Meshnet
      • How to make secure macOS Time Machine backups from anywhere
      • How to use Ansible over Meshnet
      • How to access files in your NAS from anywhere without compromising its security
      • How to set up a phone as a security camera with remote access
      • How to assign custom host names to Meshnet services using Nginx proxy manager
      • How to use Proxmox VE remotely over Meshnet
      • How to set up a remotely controlled 3D printer
      • How to set up and remotely access a CasaOS server
    • Joint projects
      • How to set up an NGINX web server and remotely access it over Meshnet
      • How to use Nextcloud file syncing with Meshnet
      • How to set up pair programming using tmux
      • How to set up a Visual Studio Code server for remote development over Meshnet
      • How to host a Focalboard server for remote project management
      • How to use Meshnet for multi-screen Node.js development
      • How to use the Multi-user editing plugin in Unreal Engine over Meshnet
      • How to set up a private Mumble voice chat server
      • How to host a private Rocket.Chat server
    • Own VPN server setup
      • How to set up a VPN server through self-hosting or with DigitalOcean
      • How to create a VPN server with Microsoft Azure
      • How to create a VPN server with AWS
      • How to create a VPN server with Google Cloud
      • How to create a VPN server with Linode
      • How to create a VPN server with Hetzner
    • Network protection
      • How to set up your network protection with Pi-hole
      • How to set up your own DNS server
      • How to protect your network with AdGuard Home
      • How to use the self-hosted Whoogle search engine remotely
      • How to set up a VPN router using Meshnet
  • Troubleshooting
    • Common issues on Windows
    • Common issues on Android
    • Common issues on iPhone/iPad
    • Common issues on macOS
    • Common issues on Linux
Powered by GitBook

© 2025 Nord Security. All Rights Reserved.

On this page
  • Before you begin
  • Configure the Sunshine server
  • Installing Sunshine
  • Starting Sunshine
  • Importing games
  • Set up the Moonlight client
  • Installing Moonlight
  • Pairing with the Sunshine server
  • Play games remotely over Meshnet

Was this helpful?

  1. How-to guides
  2. Gaming

How to set up a remote game-streaming server for Moonlight

Discover how to configure a remotely accessible game-streaming server on Windows, macOS, and Linux using Meshnet.

PreviousHow to set up a private Team Fortress 2 server with MeshnetNextHow to set up a Palworld dedicated server

Last updated 10 months ago

Was this helpful?

A game-streaming server allows you to start a game instance on a dedicated machine and play it from other client devices. Such configuration can help overcome operating system and hardware limitations and enjoy various games on devices that can’t run them natively.

is an open-source solution that allows you to transform your device into a dedicated game server. It's easy to set up and doesn't require permanent changes to your system. Sunshine is designed to work as a host for the game-streaming client.

While the app combination can be used hassle-free on the (LAN), the remote gaming option is available only by configuring or complicated network setups. By supplementing the game-streaming setup with , you can easily connect your remote devices to a single network and enjoy your games over a fast and encrypted network tunnel.

For a quick visual overview, check out the video below:

Before you begin

Configure the Sunshine server

Start your setup process by configuring the Sunshine server.

Installing Sunshine

Begin by installing Sunshine on the machine that will function as your game server.

  1. Download the Windows installer file for the latest available version.

  2. Launch the downloaded file. If the Microsoft Defender SmartScreen window shows up, select More info and click Run anyway.

  3. Follow the instructions presented by the installation wizard.

  4. Click Finish to complete the process and close the installer window.

Note

Sunshine on macOS is still in its experimental stage. For this reason, some features may not be available.

  1. Open Terminal.

  2. Enter the following command to install Homebrew:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  3. Follow the on-screen instructions to finish the installation.

  4. Run the two commands below to add the Sunshine repository and install the Sunshine package.

    brew tap LizardByte/homebrew
    brew install sunshine

Note

In this article, the Ubuntu 22.04.1 LTS Linux distribution is used as an example.

  1. Download the latest package for your Linux distribution and system architecture.

  2. Open Terminal and navigate to the downloaded file’s location using the cd command. Example

    cd ~/Downloads

  3. Install the Sunshine package and its required dependencies by running the following command:

    sudo apt install -f ./sunshine* -y

  4. Check whether Sunshine is installed properly with this command:

    sunshine --version

Tip

If you install Ubuntu .deb package, you may receive the following error message when trying to interact with Sunshine:

sunshine: error while loading shared libraries: libboost_chrono.so.1.74.0: cannot open shared object file: No such file or directory
sudo apt install libboost-chrono1.74.0

Starting Sunshine

After installing Sunshine, you need to initialize the server app and access its web user interface (UI), where all of the settings are located.

  1. Launch Sunshine. It will open the https://localhost:47990/ URL in your default internet browser.

  2. Enter your preferred Sunshine username and password and click Login.

  3. Once the page reloads, log in using your newly created account credentials.

Note

  1. Open Terminal.

  2. Run the sunshine command to initialize Sunshine and automatically launch it at system startup. During the process, you will be asked to grant system permissions — make sure to allow them.

  3. Open your internet browser and visit the following URL: https://localhost:47990/

  4. Enter your preferred Sunshine username and password and click Login.

  5. Once the page reloads, log in using your newly created account credentials.

Note

  1. Open Terminal.

  2. Run the sunshine command to initialize Sunshine. Once Sunshine is ready, you should see this output in your command line window:

    Info: Configuration UI available at [https://localhost:47990]

  3. Open your internet browser and visit the following URL: https://localhost:47990/

  4. Enter your preferred Sunshine username and password and click Login.

  5. Once the page reloads, log in using your newly created account credentials.

Note

Importing games

Once you access the Sunshine web UI, you can import the games you want to play on other remote devices. The steps may vary slightly depending on the OS you use and the games you want to add. For this example, a game from Steam on Windows will be imported to the Sunshine library.

  1. On the Sunshine web interface, select the Applications section.

  2. Click Add new.

  3. Fill in the following fields:

    • In the Application name field, type in the name of the game you want to import.

    • In the Command field, enter a command to initialize the game’s executable file.

      • For Windows: cmd /c <file_name.exe>

      • For macOS and Linux: <file_name>

    • In the Working directory field, enter the path of the game’s folder on your system. Example

  4. Click Save.

The game is now added to your Sunshine server library, and client devices will be able to play it remotely .

Note

Set up the Moonlight client

Once the Sunshine server is running and you have added your desired games, you can install the Moonlight game-streaming client on all devices connecting to the server.

Installing Moonlight

On mobile devices, you can download the Moonlight client from the following sources:

Pairing with the Sunshine server

To establish a connection between your Sunshine server and the Moonlight client, you need to pair the devices. While Moonlight automatically scans for servers in your LAN, you need to manually add your remote Meshnet server.

  1. Open Moonlight.

  2. In the upper-right corner, select the computer icon. Alternatively, you can press Ctrl + N on your keyboard.

  3. In the new dialog, enter the Nord name of your Sunshine server and click OK.

  4. Select the newly added device’s icon in the Moonlight window. Upon clicking the server’s icon, you will be shown a PIN code.

  5. Open the Sunshine web interface and select PIN at the top.

  6. Enter the PIN code prompted on your client device and click Send.

You should see a green success message indicating that pairing was successful.

Play games remotely over Meshnet

After successful pairing, you can start playing games from your server’s library on other devices remotely.

  1. In Moonlight, select your Sunshine server.

  2. From the list of available games, select the one you want to play.

The game will shortly load, and you’ll be able to enjoy your remote gaming session!

Tip

You can use the Moonlight settings menu to change the streaming resolution and bitrate to optimize the game-streaming quality for your setup.

If you prefer a text-based approach, follow the written instructions that explain how you can turn your device into a using Sunshine and play remotely using the Moonlight client.

Make sure that your server’s hardware and software fit the provided on the Sunshine documentation page.

Visit the of the Sunshine GitHub repository.

To install Sunshine on macOS, you can use the package manager.

For additional information about the installation process, refer to .

Visit the of the Sunshine GitHub repository.

To resolve this problem, install the package with this command:

You may see a “Your connection is not private” message because Sunshine is using a self-signed . To proceed further, click Advanced > Proceed to localhost (unsafe).

You may see a “Your connection is not private” message because Sunshine is using a self-signed . To proceed further, click Show details > visit this website.

You may see a “Your connection is not private” message because Sunshine is using a self-signed . To proceed further, click Advanced > Accept the risk and continue.

You can find more detailed guidelines for adding games and apps to your server’s library on the page.

On devices running desktop operating systems, you can get the Moonlight client installer files from the “Downloads” section of the .

On Android, you can install Moonlight from the or the GitHub repository.

On iOS, you can install Moonlight from the .

VPN gaming server
system requirements
Releases page
Homebrew
Homebrew documentation
Releases page
libboost-chrono1.74.0
SSL certificate
SSL certificate
SSL certificate
Sunshine documentation
Moonlight PC GitHub repository
Google Play Store
Moonlight for Android
App Store
Sunshine
Moonlight
local area network
port forwarding
Meshnet
Downloading the Sunshine windows installer file from GitHub.
Downloading the Sunshine windows installer file from GitHub.
Downloading the Sunshine package for Ubuntu 22.04 from GitHub.
Downloading the Sunshine package for Ubuntu 22.04 from GitHub.
Terminal output showing the version of Sunshine.
Entering username and password in the Sunshine web UI.
Entering username and password in the Sunshine web UI.
Entering username and password in the Sunshine web UI.
Filled in Application name, Command, and Working directory fields with the game's information on Sunshine web UI.
Clicking 'Add PC manually' in Moonlight.
Entering the Nord name of the Sunshine server and clicking 'OK'.
Selecting the newly added Sunshine server in Moonlight.