My ISP, like many today, doesn't allow incoming connections, so if I try to host server software on my home PC, then anyone (even myself) trying to connect to that server software via my public IP address is not able to establish a connection. This becomes a problem because hosting online games is impossible.

I do have a VPS Linux box rented; is there any VPN software I could install on it that I could connect to from my home PC, and then anyone connecting to a specific port on that VPS will just have the traffic tunneled to my home PC, allowing me to host games that way? If so, what software do I need (on both my PC and on the VPS), and how do I configure it?

Edit: I should note that I'm interested in any (preferably free, otherwise low-cost may be an option) solution that accomplishes this goal; I'm not necessarily tied down in that a VPN must be used in some way, but it was my (perhaps incorrect) assumption that VPN software is the software that accomplishes this goal.

In the end, I'm satisfied with any answer that provides a specific, step-by-step solution, with links, that will allow me to listen for incoming connections so that I can host multiplayer games, such as in StarCraft 1, Warcraft III, A Kingdom For Keflings, etc. I'm not interested in upgrading to a "business" account with my ISP (I already talked to them about this, and my internet bill would go from $30/month to around $200/month .. not at all a realistic option).

4 Answers
4

Try LogMeIn Hamachi, it is shareware and allows you to easily connect a few computers without much hassle. The ports required are listed here, it first tries some ports above 10,000 and can fall back to the SSL port 443. One of these could/should be open, unless your ISP intentionally blocks Hamachi ports.

It's possible to do something like it through SSH Remote tunnels, but it might confuse the connecting client or the server itself. The idea, anyhow, is to:

Run, on your local computer, ssh -R :<<port to listen>>:localhost:<<same port>> <<your vps' address>>. Notice the leading :. Unless blocked by your sshd's GatewayPorts setting, this will set up a listening port in the server, that when contacted will be forwarded inside the ssh connection to your local computer (hence localhost), contacting whatever is listening on <<same port>> (which would be your game).

If you're using PuTTY as an SSH client, then read http://oldsite.precedence.co.uk/nc/putty.html to have an idea how to set this up. Check the "Remote ports do the same" checkbox (the leading :), put the <<port to listen>> in the Source port field, and localhost:<<same port>> in the Destination field. Make sure to select the Remote radio button and click Add.

Have your server "think" it's running on your VPS's IP address, if at all possible. It'll help reduce client confusion in case this works and the server advertises to some server list.

Try to connect to the server by having a client connect to the VPS's IP address. If it works, you have attained success.

You need a hands-shaking service that is done outside of your computer, so that your ISP will not see an incoming connection but rather an outgoing one.

You could try any one of the remote access services out there on the web, such as TeamViewer, LogMeIn Free or other, until you find one that does the connection through its website in the right way to bypass your ISP.

If you really want to use VPN, it might be easier to set a router as an VPN server and set a VPN client on the VPS. For example, DD-WRT routers can be easily set as VPN servers, and you could install OpenVPN client on the VPS.

Other, possibly easier options:

You could change the server port on your PC, or change it on the router if you have one. It is unlikely that your ISP blocks all ports, most likely they block just the common ones. Obviously you may be violating your ISPs TOS.

If the server software runs on Linux, you could install it on the VPS. Chances are that it would have better uplink than your home connection, and depending on the game this may be and advantage.

If the server software runs on Windows, you could get Windows VPS. Same speed considerations as above.

Many ISPs offer business connections for higher price. Typically you could run servers with such connections.