The other night, a few of my friends and I decided to get together and play a game of Starcraft. We got everything installed, but I quickly discovered that SC looks horrible when shown full screen (at 640×480) on a 22″ widescreen monitor.

To solve the problem, I fired up a Windows XP VM I had running on VirtualBox. After enabling 3D Acceleration, the game ran fine, and looked great in the windowed VM. We all connected to a game on Battle.net, and then things went downhill. My soon-to-be-brother-in-law Dave was playing as well, and shares my internet connection. Starcraft, apparently, doesn’t like multiple people connected to the same game from behind a single router. Much lag ensued.

To solve the problem, one of us would have to bypass the router. As my system is right beside the cable modem and primary router (and Dave connects through a Client-Bridge router), I was the obvious choice.

After digging around and finding a second NIC, I plugged it in to my system and fired it up. Also in prep, I connected a 10/100 5 port switch to my cable modem and plugged the router in to the switch. Once Windows finished booting, I configured everything as follows (these steps are for Windows XP, however this is possible in Vista and Windows 7 as well):

  1. Installed the NIC Driver
  2. Opened the ‘Network Connections’ Control Panel and opened the Properties dialog for the new adapter
  3. Unchecked the ‘Internet Protocol TCP/IP’ option — this prevents the host operating system from obtaining an IP address on this adapter, which is a must for security, and because my ISP only allows me to use two External IP Addresses.
  4. Opened Sun VirtualBox, selected my VM and chose ‘Settings’
  5. In the ‘Network’ section, set the adapater to use the Bridged network, and changed the adapter to the new one.
  6. Connected the new network card to the switch.
  7. Booted the VM

Now the XP VM has an External IP Address, and the host operating system doesn’t.

Once done, Starcraft played beautifully!

Old as the hills, I know, but there’s nothing like doing an ipconfig /all and getting the following output:

Ethernet adapter RC-LAN:

Connection-specific DNS Suffix  . :
Description . . . . . . . . . . . : D-Link DFE-530TX PCI Fast Ethernet Adapter (rev.C)
Physical Address. . . . . . . . . : DE-AD-BE-EF-00-00
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 192.168.1.50(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
NetBIOS over Tcpip. . . . . . . . : Enabled

…and some days aren’t.

One big mess-o-cables

One big mess-o-cables

My predecessor said that he didn’t like running cable and wiring patch panels. I believe him.

I have two Linksys WRT600N 1.0 routers running an SVN build of the DD-WRT firmware (v24-sp1 (09/11/08) mega – build 10305) setup in a Client Bridge fashion. I’ve tried a few of the more recent builds, but so far the signal quality and throughput just isn’t quite as good. I have run in to an issue, however, where one of the routers (the client) will drop it’s WIFI connection. The access point stays up on with WIFI and LAN, and while I can reach the client via a LAN connection (and it shows as still having a connection to the AP), nothing gets through on the WIFI side.

As the link I have setup requires relatively high availability, I can’t afford to spend days mucking about with each SVN build released. At the same time, getting angry calls from users who can’t access a file server mid-day also isn’t exactly an option.

Interm solution? A simple CRON-job on the misbehaving router to ping the access point every five minutes (the 5 * * * * part of the below command) and check the output. If it doesn’t get any response after four pings, it simply reboots the router. Problem (temporarily) solved.

5 * * * * ping 192.168.100.251 -c 4 |grep “100% packet loss”; if["$?" != 1]; then reboot; fi

For more information on DD-WRT, check their forums.