PC Connection Issues

Gamespy

 * Cannot host public games
 * Cannot join public games
 * Cannot host private games
 * Cannot join or invite from friends menu

LAN

 * Cannot see lan games

Solutions

 * If you cannot host public games, but do want to use gamespy to do it, first configure your router.
 * If you cannot join public games, make sure the host has configured their router. Otherwise, try using SkUT.
 * If you want to join public games, but do not want to use gamespy, use GameRanger.
 * If you just want to play with your friends, consider either using GameRanger, Hamach, or Tunngle.
 * If you are trying to play on LAN (Either real or virtual), but cannot see games you know are there, try directly connecting.

Router configuration
''To host (and sometimes join) online/games, ports must be opened. Ports are numbers that represent entry points to your computer from the internet. Your house has a address (Just like your IP Address), but you can't just walk through the wall. Ports would be doors, in this comparison. When you have a router sharing your internet connection between multiple computers, the router holds the single address that the outside internet can see, so you must tell it which ports should go to which computers. Otherwise, it simply ignores all incoming requests (like people trying to join your game).''

Open the following ports (See portforward.com for help) 28900 (TCP) 27900 (UDP) 28910 (TCP)
 * 7777 (TCP/UDP)

GameRanger
Originally announced on the forums, GameRanger added support for Borderlands quickly. It provides a server list, a friends list, and the ability to host your own games with your friends. Support is available either in the forums thread or on GameRanger's own support section.

When you host a game with GameRanger, it will start Borderlands for you, but you must create the LAN game yourself. Then the other players will join, ideally.

SkUT
SkUT is a UT3 (The same engine that Borderlands uses) game browser for the mIRC IRC client.

There is a forum thread detailing how to get it and a tutorial on how to get it working here.

Virtual LANs (VPN)
''There are several applications that allow you to join virtual private networks with your friends. These then play over them like you were all on the same LAN. This is sometimes easier than attempting to get a gamespy game working. Some of these even provide advanced server browsers.''

Hamachi
This is the veteran of the bunch. Hamachi has been facilitating LAN games for quite a while.

Download the latest version at the LogMeIn Hamachi site(Client version), or the simply get the last 1.0 release at FileHippo.

Once it is installed, if you do not want to make a direct shortcut, make sure to set hamachi as the first connection as shown on the forums.

Disable your firewall on the Hamachi connection.

Join or create a group/network (There is a button on the bottom in the 1.0 client, Hamachi2 has it under Network at the top)

Make a LAN game, have your friends join it. (Or vice-versa). If there are any problems seeing the game, take a look at the Direct Connect section here.

Tunngle
There is a forum thread dedicated to Tunngle here

(As far as I know, this is similar to Hamachi. This needs editing with better instructions!)

Direct Connect

 * You want to join a lan game, but it won't find the game
 * You want to use hamachi, but again, it won't find the game
 * You're trying to join online, have your open, and don't feel like using SkUT or GameRanger.. But know the person you want to connect to
 * Your lan/hamachi/tunngle/online games work fine, but someone on the lan/online with a static ip always hosts, and you just want to connect to them quickly

Create a shortcut to borderlands\borderlands.exe. Put this shortcut wherever you want, it doesn't matter. (Create a shortcut from inside steam and modify that one instead, if you are using steam)

Open the properties of the shortcut.

In the "Target" field, add this AFTER "....borderlands.exe", with a space inbetween: x.x.x.x -login=yyyyy -password=zzzzz Where... (You can leave out -login and -password for lan/hamachi/tunngle games)
 * x.x.x.x is your friend's ip (Shown in hamachi, shown via whatsmyip.org, whatever)
 * yyyyy is your gamespy login name
 * zzzzz is your gamespy password

Here is a example, this will not work for *you* but shows how it should end up. C:\Games\Borderlands\Binaries\Borderlands.exe 5.171.18.89 -login=foo -password=bar

You will need to figure out how to properly configure tunngle/hamachi to host games - eg disable firewall on those connections, perhaps move them up in the adapter list - but after that, this lets you connect without any fuss.