An open-source cloud gaming platform built for you to play together with your friends.
A GeForce NOW alternative that can be self-hosted.
As Nestri navigates through its experimental phase, we're in the process of crafting and testing a variety of features for you:
-
🎮 Proton-GE Compatibility: We utilize Proton-GE for running games, offering extensive game compatibility and ensuring you can play a wide variety of titles.
-
⚡ QUIC Protocol: For input and video/audio transmission, we use QUIC via MoQ to significantly reduce latency on variable networks, ensuring crisp visuals without sacrificing data or increasing latency.
-
🔗 Session IDs: With a
SESSION_ID
, we seamlessly tie your game progress, achievements, and devices without the need for logging into nestri.io. Our public CDNs, currently located in Europe (eu-north-1) and the US (us-east-1), further reduce latency for friends playing together from afar. More locations are on the way! -
🔄 Automatic Game Progress Sync: Like Stadia's state share, we automatically sync your game progress based on the *.exe file you're running, allowing you to share your progress with friends via a link.
-
👫 Co-op Gameplay: Play co-op with up to 8 people, or play single player by sharing mouse and keyboard inputs seamlessly (similar to neko).
-
🌐 Cross-Platform Play: Our platform is accessible on any device that can run a Chrome-based browser, including Edge, Chrome, Brave, and Arc. And you do not have to set up anything, it's all done and maintained for you.
-
📊 Bandwidth Optimization: Experience hardware-accelerated
VMAF
for optimized bandwidth, ensuring the best possible video quality. Learn More -
🌟 ...and more: Stay tuned as we continue to add features sometimes inspired by platforms like Stadia, to give you the best and most customizable gaming experience.
This platform is in an experimental phase, and we're actively working on adding new features. Your feedback and support is very much appreciated.
Important
If you're excited about what we're doing and want to support our journey, consider giving us a star ⭐ on our repository. Your support fuels our progress!. ~ ✨
Whether you're looking to self-host Nestri or simply want to try it out without the need for your own GPU, we've got you covered. Choose the path that best suits your needs:
If you don't have a Nvidia GPU or prefer not to self-host, you can visit our website. No installation or set up required ! This is the perfect option for gamers looking to dive straight into the action without any setup. |
👉🏽 Get Access |
---|---|
If you're interested in self-hosting Nestri, continue reading for detailed instructions on how to get started. This option is ideal if you have your own Nvidia GPU and are comfortable with setting up and managing your own server. |
🛠️ Self Host Nestri |
Tip
Remember, flexibility is key with Nestri. You're free to switch between self-hosting and using nestri.io
whenever you like, without losing your game progress. ~ 💡
For those interested in self-hosting, here are is what you need to get your own Nestri server up and running:
-
Nvidia GPU: Unfortunately, this setup is exclusive to Nvidia GPUs. If you don't own one, consider renting from cloud services like AWS, GCP, or Vast.ai. We highly recommend this approach.
-
CUDA: For GPU acceleration, CUDA version
12.0
or newer is required. Verify your CUDA installation by runningnvcc --version
. -
Docker: Ensure you have
docker
andnvidia-docker
are up to date to avoid compatibility issues with CUDA. You can check your Docker version by runningdocker --version
in your terminal. -
GPU Driver: Ensure your GPU drivers are up to date to avoid compatibility issues with CUDA. Nvidia driver version
520.56.06
or newer is required. -
Xorg Display: Your Nvidia GPU should not be attached to a running X display server. You can confirm this by running
nvidia-smi
. -
Nvidia-DRM: Make sure that the
nvidia-drm
module has been loaded and that the module is loaded with the flagmodeset=1
. Confirm this by runningsudo cat /sys/module/nvidia_drm/parameters/modeset
Tip
Typically, if your setup meets the necessary CUDA requirements, the nvidia-drm
module will already be loaded, particularly in AWS G4dn instances. ~ 💡
Follow these steps to get Nestri up and running on your system.
Important
This is our pilot, there is a lot we haven't figured out yet. Please file an issue if anything comes up. ~ 🫂
Tip
The setup process will become much simpler with the launch of our CLI tool, so stay tuned for that! In the meantime, you'll need to follow these manual steps.
First, change your directory to the location of your .exe
file. For Steam games, this typically means:
cd $HOME/.steam/steam/steamapps
ls -la .
Create a unique session ID using the following command:
head /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | head -c 16
This command generates a random 16-character string. Be sure to note this string carefully, as you'll need it for the next step.
With your SESSION_ID ready, insert it into the command below, replacing <copy here>
with your actual session ID. Then, run the command to start the Nestri server:
docker run --gpus all --device=/dev/dri --name nestri -it --entrypoint /bin/bash -e SESSION_ID=<copy here> -v "$(pwd)":/game -p 8080:8080/udp --cap-add=SYS_NICE --cap-add=SYS_ADMIN ghcr.io/nestriness/nestri/server:nightly
Tip
Ensure UDP port 8080 is accessible from the internet. Use ufw allow 8080/udp
or adjust your cloud provider's security group settings accordingly.
After executing the previous command, you'll be in a new shell within the container (example: nestri@3f199ee68c01:~$
). Perform the following checks:
- Verify the game is mounted by executing
ls -la /game
. If not, exit and ensure you've correctly mounted the game directory as a volume. - Then, start the Netris server by running
/etc/startup.sh > /dev/null &
.
Wait for the .X11-unix
directory to appear in /tmp
(check with ls -la /tmp
). Once it appears, you're ready to launch your game.
- With Proton-GE:
nestri-proton -pr <game>.exe
- With Wine:
nestri-proton -wr <game>.exe
Finally, construct the play URL with your session ID:
echo "https://nestri.io/play/$SESSION_ID"
Navigate to this URL in your browser, click on the page to capture your mouse pointer, and start playing!