STEAM GROUP
Steam Remote Play homestream
STEAM GROUP
Steam Remote Play homestream
2,656
IN-GAME
31,841
ONLINE
Founded
November 7, 2013
Bloodred Jan 27, 2014 @ 3:42pm
"In-Home" streaming over the internet with OpenVPN
At work today I decided to give Steam (In-Home) Streaming a try by using my OpenVPN bridging server to get to my gaming machine at home. In short, it kind of works well!

I have a pretty decent internet connection that manages around 65Mbps upload and ping from work to home is around 5ms. In order to get Steam on my work machine to connect to my desktop over OpenVPN I had to change the interface metric for both the OpenVPN adapter and the regular Ethernet adapter, so OpenVPN had higher priority, otherwise it would just detect other people at work that were using Steam.

After doing that they connected immediately and I managed to try out 3 games. Bioshock Infinite worked pretty much flawlessly at ~60FPS with just a bit of mouse lag in the game (and a lot of mouse lag in the menus, but I don't think that was related to the VPN). In any case it was very playable and looked absolutely great with minimal image quality loss. Batman Arkham City and Mirror's Edge did not work however and complained about "Slow decode". I'm not sure if this was a client issue with my work machine or what, it seems odd to be able to decode the stream for one game but not for others at the same bandwidth.

In any case, streaming over the internet seems to be quite possible and plausible if you have a connection good enough pipes at both ends! I'm happy this worked, sort of.

Here are some screenshots of the 3 games, Batman and Mirror's Edge are obviously suffering some issue: http://imgur.com/a/90Jrx
< >
Showing 1-7 of 7 comments
Brbmunkeytime Mar 29, 2015 @ 5:42pm 
You should so make a picture guide because I'm not having success. Sounds epic what you've been able to achieve!
Bloodred Mar 30, 2015 @ 11:53am 
Not sure if a picture guide would help since it's mostly editing config files for OpenVPN and after that is running properly any PC on your VPN should pop up in Steam 'naturally' for in-home streaming, though you need fast, low-latency and stable internet connections on both ends to make it work.

In short, I have a server running Ubuntu 12.04 on the same network as my desktop. This server runs OpenVPN in bridging (tap) mode and accepts connections from remote clients. I can take my laptop/tablet to a friend's place, connect to the VPN and then just use In-Home Streaming.

What I basically did is outlined in the OpenVPN how-to: https://openvpn.net/index.php/open-source/documentation/howto.html
And on the Ubuntu wiki: https://help.ubuntu.com/community/OpenVPN - it's a bit old but from what I can see the instructions look right

If this is set up correctly then connecting to your VPN server will be like plugging a cable into your router at home, you should have the same level of access to your network.

If you try it out and run into any trouble I can try to help or share config files.

Note that there should also be simpler solution to getting this done, I believe other VPN software like things used for LAN gaming over the internet (Tunngle, Hamachi, etc.) should theoretically work as well, but I haven't tried them so I can't say for sure.
Brbmunkeytime Mar 31, 2015 @ 9:16pm 
I currently have OpenVPN setup in TUN mode though I can't seem to just copy paste the config from how to into my server (netger wndr 3700v4 on ddwrt firmware) and paste in the how to config info on my client config. I'm guessing there is a little bit more to converting from one type to the other.
Vahaldor Mar 21, 2018 @ 9:38am 
Ok guys, it took me couple of hours but let me guide you a bit precisely:

Principles:
- you need UDP protocol because you broadcast
- you need configure openVPN server as TAP, I did the same with clients, because you NEED your clients (gaming rig and your book on the way) to see each other

What I did.
I am using synology server for home whatever I need but you can establish whatever you want openVPN server, on your router, anywhere. However, GUI usually do not show you all the possible needed configurations that the server provides, so I connected to my Synology using SSH and configured the openVPN server directly by editing the openvpn.conf

In this configuration file, critical is to add the following lines

clinet-to-client
#this provides you client to client communications, otherwise each client see only the server

dev tap
#configures the server as TAP instead of TUN. TAP is bridging, TUN is routing. Check the documentation link below, it is written concisely and briefly.

The rest of the configuration was generated by synology, however, that's how you authenticate, how you encrypt etc, this should not affect whether clien see each other or not but if you connect to the server or not.

I used viscosity as my Windows and OSX clients, it cost 9USD. you can do the same with openvpn client such as tunnelblick but I liked to see the configuration in GUI.

Check the basics here https://openvpn.net/index.php/open-source/documentation/howto.html
Good job !
Another solution to achieve that is to use a soft like Hamachi to emulate a local network on both end.. Works pretty well !
hammerhals Apr 14, 2018 @ 3:44pm 
Hi 2015 thread,
thought I'd deposit a solution here for google friends on Mac.
TAP is the way to go, obviously, but once this is working, the Mac has a problem to broadcast an "I'm here" to the TAP device, and therefore the Steam-Server. Broadcast address 255.255.255.255 will not relay to the TAP tunnel.
My solution is to add an up-script to the OpenVPN script that goes like this:
It will add a 255.255.255.255 route especially on the tap intf.

cat myupscript.sh #!/bin/bash STEAMSERVER=192.168.10.33 # this deletes an existing route to the server (ie. on wrong interface) /bin/bash -c "/sbin/route delete 255.255.255.255 $STEAMSERVER;" # waits 5 secs for the tap intf to fully appear, then sets a route. it will be under the tap intf. /bin/bash -c "sleep 5; /sbin/route add -host 255.255.255.255 -gateway $STEAMSERVER;" & # check routes with # netstat -rn # (Mac only)

BTW:
as this route is bound to the tap intf, closing the vpn connection will clean up that entry.

Best Manu
Last edited by hammerhals; Apr 14, 2018 @ 3:45pm
Lordie Jun 18, 2018 @ 5:25pm 
Thanks, this worked perfectly . hammerhals
< >
Showing 1-7 of 7 comments
Per page: 1530 50

Date Posted: Jan 27, 2014 @ 3:42pm
Posts: 7