Internet multiplayer Starcraft with more than one player behind a router

From Summa Bergania

Ok, here's an issue that has frustrated me and my brothers for several years. After a lot of research, I finally have a solution. Since I know many others have brought it up on different websites and forums, I thought I would post my answer here and hopefully Google will pick it up and deliver.

The Problem

A group where all the computers are on one LAN can play Starcraft. A group where all the computers are on the Internet at different physical locations can play Starcraft through battle.net. The problem is when you try to play Starcraft through battle.net with 2 or more computers that share an Internet connection (ie they are behind the same router). If you've ever tried this you know that everyone can chat on battle.net just fine and even join the game, but once the game starts there is unbearable lag.

The reason for this is because Starcraft assumes that each computer will have its own unique IP address. When everyone is on a LAN (not playing through battle.net), each computer has its own IP address assigned by the LAN's router. When everyone is playing on battle.net with different Internet connections, you then each have your own Internet IP address. The problem is when you are in battle.net and two computers are trying to share an IP address... Starcraft wasn't built to handle that situation. (Probably because in 1998 it was rare to find homes that had routers to share an Internet connection.)

The Solution

Set up a virtual private network using a program called Hamachi. Actually an older version of Hamachi works best with Starcraft (1.0.1.5, download it here).

Then use these setup choices:

  • Disable vulnerable Windows services over Hamachi? (Check. This option is for using Hamachi to share items in your shared directories. It's not needed for Starcraft.)
  • Use Hamachi Basic. Our core, free of charge version. (Select this item.)

Once the program has been installed, setup Hamachi with the following:

  • Click next through the quick start guide, and follow the instructions for getting an address and account nickname.
  • Once you are past those two steps, don't bother with the 'test network', just click the triangle icon in the bottom right and create your own network (distribute the network name and password to everyone who will be in the game... they'll join your network, not create their own).
  • Exit Hamachi
  • Go to [Control Panel]-->[Network Connections]-->[Advanced (menu)]-->[Advanced Settings...]
  • Under the "Connections" box make Hamachi the top item, save your changes

Now you're ready to play

  • Launch Hamachi again
  • When everyone has a green dot by their name, start Starcraft and play a (non-battle.net) multiplayer game via UDP. One of you creates a game and the others see that game in the list just like you were all playing on the same LAN.

This worked for me in a 3-player game with 2 computers behind 1 router, and a third computer across town with its own internet connection. We had one of the 2 computers sharing a router create the game.

If you already have a newer version of Hamachi on your computer

  • Run your current version of Hamachi, then click [The Gear icon]-->[Preferences]-->[System] and make sure the item "Automatically update Hamachi" is unchecked.
  • Exit Hamachi
  • Then download and run this version of Hamachi (1.0.1.5)
  • Proceed with the update
  • Exit Hamachi
  • Then go to [Control Panel]-->[Network Connections]-->[Advanced (menu)]-->[Advanced Settings...]
  • Under the "Connections" box make Hamachi the top item, click "OK"

Now you should be good to go. Remember to never update Hamachi even though it will ask you. Your networks and settings from before should stay the same.

See also

Helpful links and similar alternatives