First real post: How to host Warcraft III games.
Ok, this is the deal. You've made a game in WC3. Noone is joining. You move on, meh. It bugs you, you call your friend, and he cant join either. His game goes gray and he sits around, toying with the idea of Ctrl+Alt+Delete-ing the whole deal. Your problem is one of 4 possible things.
Your firewall.
Your router.
Both of the above together, in the nasty combination that i had.
Something that totally screws you over, like your government banned Warcraft III.
First 3 i can fix, last one, your on your own.
If you were savvy enough to install your firewall, turn it off before you play WC3.
If you say you haven't installed a firewall, your right, but you still have a firewall. Go to start > control panel. Look for a globe behind a brick wall. Yup, windows has its own firewall. Double click, select off.
Router:
Before you try my wacked out way of doing this, try http://www.portforward.com/. They made a whole site just to help you out for free.
OK, my way. This assumes you are somewhat computer savvy.
Open your router page, by going into your web browser(btw, get firefox) and typing into the address bar 192.168.0.1. If that doesn't work, go google your router model to see what your router address really is. It'll ask for a user name and password. If you haven't been fiddling around with your router, it should be the company default, which you can google. For example, D-link company default is usr: admin pass: (blank). So you're in. Find something called DHCP or Static DHCP. Basically, what you're trying to do is make the router assign your computer a specific IP address every time that you turn your computer on, based on your hardware, hence static. So, there should be a box called something like DHCP client. There should be a dropdown box that you click, and select your MAC address. A MAC address, i believe, is a hardware specific number that is unique for each computer. For example my computer might be 00-03-EB-25-FF-KY. My router says the computer name next to the mac addy, so i click the dropdown arrow, and select kv13'scomputer, 00-03-EB-25-FF-KY. If your router doesn't say the comp. name next to the address, just turn off all the other computers in the house/disconnect them from the router, and select the only mac address left. Press use this mac address, or clone, or wtv. Ok, now that you have that selected your computer based on its hardware, assign it a unique ip. Do 192.168.0.1XX, where X is a number from 1-9. Personally, i use 192.168.0.102. (For those of you who do not access your router using 192.168.0.1, substitute as appropriate.) Fill in any other fields, such as name, etc. with whatever you feel.
Next navigate on your router to something called virtual server, port forwarding, exceptions, something like that. Create a new one, named Wc3 or something, and in private ip put the ip you assigned before. So i would put 192.168.0.102. Protocol type, select both tcp and udp. For both the places where it asks for ports, private or public, put 6112 (unless you have changed in WC3. to check what your WC3 port is, open Warcraft III, go to options>gameplay).
You should be ready to host games! No more gray screens for ppl!!! Yay! You can host DOTA! Btw, i play dota on us east, look for dota 3.7 - wombat§. Those are my games.