Coder Social home page Coder Social logo

azure-gaming's Introduction

Cloud Gaming in Azure

Table of contents

  1. About
  2. Disclaimer
  3. Known issue
  4. Usage
  5. Delete the Azure infrastructure
  6. Futur

About

This project automates the set-up process for cloud gaming on a Nvidia Tesla M60 GPU on Azure Standard NV6 VM. The development of this project is heavily inspired by this excellent guide.

Disclaimer

This software comes with no warranty of any kind. USE AT YOUR OWN RISK! This a personal project and is NOT endorsed by Microsoft. If you encounter an issue, please submit it on GitHub.

Known issue

The only issue so far is about Steam In-Home streaming. Due to a bug, you cannot return to the Windows Desktop during your game session using ALT+TAB.

A workaround could be to press ALT+ENTER to switch from fullscreen to window mode, and then return to the Desktop.

Usage

Create the infrastructure in Azure

  • The only requirement is to have AZ CLI installed. You can use the Azure Cloud Shell
  • Do not forget to update the options values of the below example.
  • At the end, you will be prompted to choose your Windows admin password
(
rm -rf ~/azure-gaming
git clone https://github.com/nVentiveUX/azure-gaming.git
cd ~/azure-gaming

# Yvesub example
./create_vmss.sh \
    --subscription="8d8af6bf-9138-4d9d-a2e6-5bff1e3044c5" \
    --location="westeurope" \
    --rg-vnet="rg-net-shared-001" \
    --vnet-name="vnt-shared-001" \
    --subnet-name="snt-gaming-001" \
    --subnet="10.1.0.16/28" \
    --rg-vm="rg-inf-gaming-001" \
    --vm-name="vm-gaming-001" \
    --lb-name="lb-gaming-001" \
    --dns-name="yvesgaming-001"
)

Configure the Virtual Machine

  • Connect using RDP. Click on the Windows key in the bottom-left corner, type "mstsc", and open on the app.
  • From powershell admin prompt, run the 1st script
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$path = "C:\azure"
New-Item -ItemType Directory -Force -Path $path | Out-Null
(New-Object System.Net.WebClient).DownloadFile("https://github.com/nVentiveUX/azure-gaming/raw/master/setup1.ps1", "$path\setup1.ps1")
powershell -ExecutionPolicy Unrestricted -File "$path\setup1.ps1"
  • Reboot
  • From powershell admin prompt run the 2nd script
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$path = "C:\azure"
New-Item -ItemType Directory -Force -Path $path | Out-Null
(New-Object System.Net.WebClient).DownloadFile("https://github.com/nVentiveUX/azure-gaming/raw/master/setup2.ps1", "$path\setup2.ps1")
powershell -ExecutionPolicy Unrestricted -File "$path\setup2.ps1"

Configure Parsec

On you local machine

  • Install the Parsec client
  • Sign In

On the VM

  • Sign In to Parsec using the same account and Enable Hosting
  • Close the remote desktop connection using the shortcut disconnect.lnk on the Desktop.
  • Try to connect into the VM thought your local installation of Parsec
  • On the VM, tick Run when my computer starts from the minimized icon into the task bar
  • Reboot the VM... and you're done.

Configure ZeroTier VPN

On you local machine

  • Create a dedicated ZeroTier network
    • Certificate (Private Network) (Access Control)
    • Enable Broadcast (ff:ff:ff:ff:ff:ff)
    • Auto-Assign from Range (IPv4 Auto-Assign)
    • All IPv6 stuff
  • Install the client ZeroTier One, Sign In and Join the Network
  • Tick Preferences.../Launch ZeroTier On StartUp from the minimized icon into the task bar

On the VM

  • Open ZeroTier One, Sign In and Join the Network
  • Tick Preferences.../Launch ZeroTier On StartUp from the minimized icon into the task bar

Configure Steam In-Home streaming

On you local machine

  • Open Steam and Sign In to configure the client
  • In-Home Streaming
    • Enable streaming
    • Beautiful
  • In-Home Streaming > Advanced Client Options, and Check only the following:
    • - Limit bandwidth to 30 Mbits/s (do NOT set unlimited, it does not work)
    • - Limit resolution to > Display resolution
    • - Enable hardware decoding
    • - Display performance information (Press F6 to display it in-game)

On the VM

  • Open Steam and Sign In to configure the client
  • In-Home Streaming
    • Enable streaming
  • In-Home Streaming > Advanced Host Options, and Check only the following:

Now, steam should see the Streaming VM. Try to launch a game !

Delete the Azure infrastructure

az group delete --name rg-inf-gaming-001

Futur

az vm image list --publisher MicrosoftWindowsDesktop --all -otable

Offer       Publisher                Sku       Urn                                                       Version
----------  -----------------------  --------  --------------------------------------------------------  ------------
Windows-10  MicrosoftWindowsDesktop  RS3-Pro   MicrosoftWindowsDesktop:Windows-10:RS3-Pro:16299.904.65   16299.904.65
Windows-10  MicrosoftWindowsDesktop  RS3-ProN  MicrosoftWindowsDesktop:Windows-10:RS3-ProN:16299.904.65  16299.904.65
Windows-10  MicrosoftWindowsDesktop  rs4-pro   MicrosoftWindowsDesktop:Windows-10:rs4-pro:17134.523.65   17134.523.65
Windows-10  MicrosoftWindowsDesktop  rs4-pron  MicrosoftWindowsDesktop:Windows-10:rs4-pron:17134.523.65  17134.523.65
Windows-10  MicrosoftWindowsDesktop  rs5-evd   MicrosoftWindowsDesktop:Windows-10:rs5-evd:17763.253.67   17763.253.67
Windows-10  MicrosoftWindowsDesktop  rs5-pro   MicrosoftWindowsDesktop:Windows-10:rs5-pro:17763.253.65   17763.253.65
Windows-10  MicrosoftWindowsDesktop  rs5-pron  MicrosoftWindowsDesktop:Windows-10:rs5-pron:17763.253.67  17763.253.67

News

azure-gaming's People

Contributors

link-webcreations avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.