FOR ADVANCED USERS ONLY! If you don't understand what we're trying to accomplish here, JUST WALK AWAY NOW! You have been warned! hehe

Hey guys do this, while you have a MP game setup (using ICO), running, and waiting for players to join! (Alt+Tab out of the game):
1. Start > Run > type "cmd", then press enter key (no quotes)
2. type "netstat -abn -p TCP", then press the enter key (no quotes)
Remove (XXX out) any senstitive information, like public IP's (private are IP's OK) or hostname info if present (so lurking hackers don't get any ideas) in notepad/word, and post it. This will validate your PC is setup right and listening on the correct ports (6000, 6112). No Windows or thrid-party firewalls on please (only if you can't setup or know how to setup for that matter, the exceptions list!)
If possible, try to nmap your public IP...I was able to verify my ability to host from work, see below:
1.
C:\nmap-4.53>nmap -v -sW -p6000,6112 xxx.xxx.xxx.xxxStarting Nmap 4.53 ( http://insecure.org ) at 2008-02-09 11:36 Mountain Standard
Time
Initiating Ping Scan at 11:36
Scanning xxx.xxx.xxx.xxx [2 ports]
Completed Ping Scan at 11:36, 0.16s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 11:36
Completed Parallel DNS resolution of 1 host. at 11:36, 0.02s elapsed
Initiating Window Scan at 11:36
Scanning c-xxx-xxx-xxx-xxx.hsd1.xx.comcast.net (xxx.xxx.xxx.xxx) [2 ports]
Discovered open port 6112/tcp on xxx.xxx.xxx.xxx
<=== yippeeDiscovered open port 6000/tcp on xxx.xxx.xxx.xxx
<=== yippeeCompleted Window Scan at 11:36, 0.02s elapsed (2 total ports)
Host c-xxx-xxx-xxx-xxx.hsd1.xx.comcast.net (xxx.xxx.xxx.xxx) appears to be up ...
good.
Interesting ports on c-xxx-xxx-xxx-xxx.hsd1.xx.comcast.net (xxx.xxx.xxx.xxx):
PORT STATE SERVICE
6000/tcp open X11
<=== yippee6112/tcp open dtspc
<=== yippeeRead data files from: C:\nmap-4.53
Nmap done: 1 IP address (1 host up) scanned in 0.281 seconds
Raw packets sent: 3 (120B) | Rcvd: 3 (138B)
I was able to use the TCP Window nmap scan to verify my ports were being forwarded correctly through my router. Also, I get those messages saying other players may not be able to join my games too, still...just like the Monk does!
Note: This MUST be done from outside of your local network, otherwise the results will be misleading. What I mean by "outside" is using nmap from a machine that is NOT behind the same router/firewall protecting the PC you want to scan, which in most cases, should be your gateway to the Internet! If you're on a college campus or anyplace where you're not in control of the router facing the Internet, good luck convincing that IT Department for allowing those ports through to you!!!

There ARE many scanning methods nmap can use to check for open ports. There are a lot of factors that will dertermine which method will work best for you. How the vendor implemented the firewall and/or port-forwarding (RFC's followed), the OS you run (XP or Vista in Sins case), filtering at your ISP or campus, etc...So this guide should be used just as a reference. There's a excellent nmap howto out on the web...and/or you can use the -h option with nmap itself for some help too!
Here's that good
nmap turorial link. It's not up a lot, so grab it when you can.