Jump to content

Server based Game streaming.

AceScottie

So this doesn't exactly fit into any section as its more R&D area, but after watching the 7 Gamers 1 CPU videos I though I'd post about it as I was working on something similar before and it kinda ties in.

(This project was mainly aimed at a gaming cafe so bare that in mind while reading through this)

 

So the whole point of this project was to have multiple high powered games running off a single server that multiple people can access. There is however 1 huge difference. My server is going to be locked in a rack in another room so no one can touch it. 

Due to the problems with HDMI, USB and general communication over long distances, I couldn't be happy with just having a 50m HDMI cable running from the server to a monitor due to signal loss, noise, etc.

 

I came up with a plan to find other ways of sending the info across the distance without having massive costs getting in the way. I have 3 plans to solve the problem and each has their own drawbacks.

1: VNC. 

This was one of the earlies options i though of. Basically create 5 virtual machines, link each up to a graphics card, then stream the result using a combination of VNC and virtualGL. The problem with this however is the encoding of the video has to be done by the graphics card while also gaming on the same card. After a lot of trial and error i managed to get somewhat of a solution working, this was using jsmpeg1 (from github) and streaming that using UDP and viewing that in a browser.

There were quite a few drawbacks with this. The browser didn't forward mouse/keyboard commands correctly (this can be solved in another method). Also the frame rate was about 10-15fps with quite a lot of latency. The solution was mainly developed for external networks i feel as during the entire streaming process my network utilization barely went above 1MB/s upload and the quality was severely reduced.

 

2: capture card

There are a few capture cards that support networking streaming. Having multiple of these set up for each graphics card is a possible solution but due to the cost i cant exactly test. 

The drawbacks for using capture cards are more to do with the manufacturers. These devices are normally meant to stream to the internet so will be set up to reduce quality and ignore latency as an issue, this means although the could work, the lag may be the deciding factor. 

 

3: Thunderbolt. 

This is the only option that does not require using a network. Unlike its standard implementation, i planned to build a second server with 5  thunderbolt cards which would be separate from my main graphics server. Again there would need to be some implementation of forwarding the mouse and keyboard back to the gaming server but I'm sure that could be simply achieved. The main benefit of using Thunderbolt is the lack of network usage something that would be a problem in the other 2 solutions. 

The drawbacks on this are rather simple. Distance and cost. While a good capture card can set you back about £100-£150 a decent thunderbolt dock can set you back about £200-£300. Also the cable length i have seen supported in the small amount of research i have done is about 30m which would not be great for large adoption. (perhaps there is a way of relaying this to extend the range).

 

 

So what do you guys think ? Anyone tried anything like this before and if so what were your results. 

 

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, AceScottie said:

So this doesn't exactly fit into any section as its more R&D area, but after watching the 7 Gamers 1 CPU videos I though I'd

Probably not worth the effort

 

but why don't you just buy USB 3.0 docks and just pass them through to the VMs? This one has everything you'd need

 

http://www.newegg.com/Product/Product.aspx?Item=1DN-000M-00002&nm_mc=KNC-GoogleAdwords-PC&cm_mmc=KNC-GoogleAdwords-PC-_-pla-_-Notebook+Port+Replicators+%2F+Docking+Stations-_-1DN-000M-00002&gclid=CMuZ-L2XmcsCFUKUfgodGwsEaQ&gclsrc=aw.ds

I edit my posts a lot, Twitter is @LordStreetguru just don't ask PC questions there mostly...
 

Spoiler

 

What is your budget/country for your new PC?

 

what monitor resolution/refresh rate?

 

What games or other software do you need to run?

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

I did have a look at USB docks before but i couldn't understand how it can pass the graphics information through.

The main problem with using VNC was the graphics card has to do the encoding to stream the video, this takes away from the performance on the games. By using Thunderbolt/capture cards your basically taking the output from the graphics card and using the device to encode and stream it. 

 

Do you know anything about the performance of the USB dock ?

also note this is for servers where USB3.0 are not generally included. 

Also i have to consider how to pass this through 5-7 virtual machiens using the availble ports. Capture cards can be external devices and thunderbolt can be in a different server, USB has to be attatched to the server with enough ports for every client.

Link to comment
Share on other sites

Link to post
Share on other sites

18 minutes ago, AceScottie said:

I did have a look at USB docks before but i couldn't understand how it can pass the graphics information through

Not sure what you'd mean exactly, aren't you just going to be making a windows VM to run games from each GPU and passing through a few cores with it?

 

Here's a review of the dock

 

 

 

What games are going to be played? Because if this is going to be next month or so, and the games are mostly like dota/CS:GO/LoL you could just buy an array of AM4 APU rigs to do that job, and upgrade them at some point in the future when the zen APUs launch.


Direct hardware is going to be the best approach for lan center gaming

 

The whole mass virtual machine thing would work more if it were just like PCs for people to check e-mail and junk on, probably with just an 8320e+multi display for that kind of machine.

I edit my posts a lot, Twitter is @LordStreetguru just don't ask PC questions there mostly...
 

Spoiler

 

What is your budget/country for your new PC?

 

what monitor resolution/refresh rate?

 

What games or other software do you need to run?

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

For the graphics pass through.

VNC uses the graphics card to encode the frames and the streams them. 

Thunderbolt/capture cards take the physical output of the graphics card then streams it.

RDC uses its own soft driver to grab the screen and streams it.

So how does this USB device grab the screen and what resources does it use to get it. it doesn't have video input or connect to the graphics card at all. 

 

As for the games. if you ever walk into a gaming cafe what games would you want to play? (basically everything from pac man to GTAV, Fallout 4, Just Cause 3 etc...)

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, AceScottie said:

As for the games. if you ever walk into a gaming cafe what games would you want to play? (basically everything from pac man to GTAV, Fallout 4, Just Cause 3 etc...)

Maybe the multiplayer on some of those,but mostly lan centers abroad are for the highly popular multiplayer games

 

Also you'd still need a beastly CPU/motherboard, and wouldn't streaming like that add latency? Latency is pretty bad all around for gaming, not to mention the plethora of other possible issues

 

as for the dock, if you could pass that through, the VM would detect it and anything you plug into it would be like it was plugged in directly to the virtual machine, so any display/USB device should be able to simply work.

 

 

How many PCs did you need? and What was the budget for all this? Did you already have monitors for each PC?

I edit my posts a lot, Twitter is @LordStreetguru just don't ask PC questions there mostly...
 

Spoiler

 

What is your budget/country for your new PC?

 

what monitor resolution/refresh rate?

 

What games or other software do you need to run?

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

At the moment i have a virtual enabled server and a lot of PCs + monitors.

Budget is basically £0 lol but i can get quite a lot of stuff without too much effort. 

 

The server is a DL585 g6 (at the moment im not event sure if it supports PCI-e) but i have a lot of beastly PCs i can use (50 - 60).

 

This is basically proof of concept at the moment so it doesn't need to be 100% working. The main thing is to prove it works and demo it on a small scale.

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, AceScottie said:

At the moment i have a virtual enabled server and a lot of PCs + monitors.

Budget is basically £0 lol but i can get quite a lot of stuff without too much effort. 

 

The server is a DL585 g6 (at the moment im not event sure if it supports PCI-e) but i have a lot of beastly PCs i can use (50 - 60).

 

This is basically proof of concept at the moment so it doesn't need to be 100% working. The main thing is to prove it works and demo it on a small scale.

You could probably get something done with the proper hardware, if you have the hardware just throw it together and give it a test drive.

I edit my posts a lot, Twitter is @LordStreetguru just don't ask PC questions there mostly...
 

Spoiler

 

What is your budget/country for your new PC?

 

what monitor resolution/refresh rate?

 

What games or other software do you need to run?

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

What is the actual goal?

 

There are HDMI Extenders. Several different approaches, various levels of quality and price. Commonly there are two boxes. One is connected to an HDMI source. The other to a monitor. Dedicated Cat 5/5e/6 cable (1 or 2) runs between the two devices. No need to use a gpu to encode. The box does the work.

 

In some models the signals can be transferred over a LAN with managed switch. Only problem I see with this is bandwidth.

 

Not sure if any of these devices are up to the job of gaming. Certainly I have not seen anything that will handle anything over 1080.

 

There are also remote usb hubs for the keyboard and mouse.

80+ ratings certify electrical efficiency. Not quality.

 

Link to comment
Share on other sites

Link to post
Share on other sites

the goal is to use a server to run multiple gaming machines without being in the same room as the clients.

and at this point im pretty sure network is out unless i use 10Gbps networking equipment,

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, AceScottie said:

the goal is to use a server to run multiple gaming machines without being in the same room as the clients.

and at this point im pretty sure network is out unless i use 10Gbps networking equipment,

Certainly for the video. But there should be more than enough bandwidth for keyboard and mouse.

 

What sort of distance are you contemplating?

80+ ratings certify electrical efficiency. Not quality.

 

Link to comment
Share on other sites

Link to post
Share on other sites

anywhere between 10-50m 

and forwarding the mouse and keyboard over the network was in my original concept.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, AceScottie said:

anywhere between 10-50m 

and forwarding the mouse and keyboard over the network was in my original concept.

I don't think there is a less expensive solution than HDMI cables with appropriate amplifiers.

80+ ratings certify electrical efficiency. Not quality.

 

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, AceScottie said:

the goal is to use a server to run multiple gaming machines without being in the same room as the clients.

and at this point im pretty sure network is out unless i use 10Gbps networking equipment,

Couldn't you just use the docks to connect individual machines to each station? Like in any case you still have to connect a keyboard/mouse to each station don't you?

I edit my posts a lot, Twitter is @LordStreetguru just don't ask PC questions there mostly...
 

Spoiler

 

What is your budget/country for your new PC?

 

what monitor resolution/refresh rate?

 

What games or other software do you need to run?

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

yea using a thunderbolt dock was an idea i had but not sure how it would work using USB3 but the problem is the length. from breifly looking at the specks its recommended to be about 3m however you can add boosters and get about 15m, which is still quite short. Thunderbolt on the other hand can support about 30m which would be able to cover most tasks I need it for.

 

Also the idea is to not be physically connected so using long HDMI + boosters is out. As a simple solution it can work but can you imagine trying to plug in a mouse, keyboard, USB drive or a second monitor from 30m away.

 

Using VNC you could forward additional inputs across easily, using docks all the stuff is there for you but having long cables would mean you need to run additional cables every time you want to change something small.

Link to comment
Share on other sites

Link to post
Share on other sites

  • 4 weeks later...

So just thought i would post an update here as a lot of stuff has happened since i started this thread. 

For starters i went and got a Belkin USB3.0 video Dock (2xDIV and 3XUSB3 + headphone and mic inputs) and gave it a quick test drive. 

The results are really good, playing games is perfectly fine and there seems to be no issues at all with lag/latency from using the dock (playing CS:GO, LOL, JustCause 3).

Attempted to copy the setup over to my server (with some issues with using unRAID which i stared another Thread for).

 

So as for the Dock its self (link: http://www.belkin.com/us/p/P-B2B122/ ) 

The dock works well after initial setup. There are some issues with PnP drives not working but i managed to find some "Third Party" drivers (basically Belkin use their own drivers from hardware the got form Display Link and call the Display Link drivers Third party) but after that everything works really well.

Chances are it will reset your desktop layout and resolution the first time you plug it in but apart from that i forgot i was using it even when i booted up Just Cause 3 (a game my PC can barely handle normally).

 

The USB cables however are another story. Going above the standard 3.3m range currently offered by standard cables you have to switch from copper to fibre connections. This costs and average of £180 for a 30m cable. This is expensive however from a cost to cost standpoint (PC to Server) its actually quite minimal.
I plan to release my full report which talks about not only the setup cost but also the long term running cost of use servers rather than PCs.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×