SoV - Starcraft Over VPN
Ever wanted to play Starcraft with a friend who is behind a VPN (like OpenVPN or Hamachi) but the game just didn't appear in the UDP local network list ?
This tool is meant to start UPD LAN games even over VPN. The problem is that VPNs don't forward and translate (how could they?) broadcast UDP packets. It works by using libpcap to intercept such broadcast packets from starcraft and injecting them into the VPNs interface. Your partner (who created the game) sees your broadcast packet, replies, and you see his game appear in your list. (Starcraft doesn't use broadcast UDP after that, so once you have joined the game, you can quit SoV, or just ignore it)
Because this forwards any broadcast packet according to parameters, this may work with any game/service discovery and other similar UPD-broadcast based protocols
Disclaimer
You're getting this for free, and it comes with no garantees whatsoever. It comes as-is.
How to run it
- Download the Mac OSX binary (intel only, build from the source otherwise), and unpack it.
- From the command line, cd into the folder with sov
- Start by connecting the VPN, and making sure you have connectivity with the host. Use the opportunity to figure out his IP address.
- Get the host to create the game in starcraft and wait for you to join. (Using UDP)
- Run starcraft, choose UDP local area, and get to the game selection screen.
- Run "sudo path/sov en0 tun0 host" on the client.
In that command, you should replace:
- path/ : by the path to the sov binary (its true!)
- en0 : by an interface that is known to route broadcast packets without surprises. You should use your usual LAN interface.
- tun0 : by the name of the interface your VPN works on. Make sure its connected starting.
- host : by the ip address of the game creator (should be in tun0's subnet)
- You should see the game in the list, and should be able to join it.
- You can close sov (ctrl+c) once you have joined the game (you don't have to either).
- Repeat on the computer of each player joining the game.
- hfgl
Downloads
- Download the Mac OSX binary (intel only)
- Download the source file (or view source)
Compile prerequisites
- First of make sure you have libpcap installed (with MacPorts installed, something like "sudo port install libpcap")
- Then install developer tools (XCode and so on, with a recent gcc)
- Then read the comments in the source file for the rest of the instructions