I own a private Minecraft server. That’s cool. If you sit behind a (let’s say corporate) firewall and let’s further assume that the admins don’t allow traffic to your Minecraft server, you gonna have a problem. In my case, I was able to circumvent the problem by using the SSH protocol. This only works, if your firewall allows outgoing SSH traffic. Another requirement is, that you must run an SSH server on the same system as your Minecraft server is running. I’ve tested this setup using Minecraft Server 1.6.2 and Minecraft Launcher 1.2.1. Never configurations should work in the same way though.
Setup an SSH Server
There are plenty of tutorials on the internet. So I am not going to repeat this here over and over again. I am sure, you’ll find one that fits your needs.
Download the Minecraft Launcher
Download the latest Minecraft launcher and save it somewhere on your disk. Create an additional .cmd-file to pass some more parameters to the launcher.
We pass some arguments to make sure, traffic is redirected to the local port 8080. PuTTY will later do the rest and forward this traffic to the outside. I’ve also set the launcher to explicitly use IPv4.
Lazy people can copy/paste it from here:
java -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=8080 -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -Xmx800m -jar Minecraft.exe
Setting Up the PuTTY Connection
First, configure your SSH connection as usually by filling in the host name on the Session page. Leave the SSH port as it is (22). You need to configure an additional SSH tunnel to your server. Configure your tunnel as follows:
Source port: 8080
Your configuration should look as in the following picture.
Configure the Minecraft Launcher
Pass the same arguments as before to the Minecraft Launcher by editing your profile settings as shown below:
Now Minecraft should work just fine.