Now that we know in-house streaming generally works pretty well, it’s time to stretch its limits. Using LogMeIn’s VPN software Hamachi, it’s possible to bridge the connection between two machines that aren’t on a single local network. Hamachi has an official release for Windows and OSX as well as a command line beta client for Linux. Hamachi setup is pretty straight forward: make a network, create a password, join network with desired machines. So what kind of requirements are necessary for streaming a game from your host to a remote client?
Note the Incoming bitrate above. In order to push out 60fps @ 720p remotely, the host machine going to need ~13Mbps in available upload bandwidth. Or you have the option to do a significant level of network configuration to try and pass the stream at a higher priority or at one of Steam’s built in bandwidth limitations, ranging from 3-30Mbps.
Sidenote: The image above also shows that Steam prioritizes input latency over display latency, and even with a fair amount of button-mashing, the Outgoing bitrate is staying below 100kbps. Hence, for this experience on a remote machine, the remote client will require at least a 13Mbps download speed and should be fine with even a 1Mbps upload speed.
With Hamachi setup and installed on the host and client machine, the client machine was moved to another network approx. 10 miles (or 16km) from the host. The first immediate issue was with the Linux Hamachi client, though it connected to the VPN, the Steam Linux client (that had previously recognized the host machine while testing on the same network) was not connecting to the host through Hamachi. However, upon switching to a Windows-based client machine, the host was recognized through Steam. Unfortunately, it looks like Hamachi’s Linux Beta is a Beta for a reason.
Transistor was started on the new Windows client machine once the Hamachi/Steam connections were made. Unfortunately, thanks to Comcast, our host machine’s upload speed is a paltry 5Mbps. As such, Transistor launched, but only to a black screen. Although unplayable, this means that the Hamachi method does work, and the latency is actually not far above the in-home streaming latency (again, largely dependent on the end users current network situation).
To circumvent my bandwidth limitations, I turned to cloud hosting.