I've noticed that many people who play warcraft 3 can't host and i will teach you how to get it working by fixing the main problem. Your router. I'm going to teach you how to port forward your router which can be used for many other things but the only one i know is how to make it so you can host in Warcraft 3... The rest is up to you.
This is my first instuctable so don't be hating!
Pictures taken from www.PortForward.com
Step 1: Static IP
For this to work your going to need a static IP address. If you know you already have one skip to the next step.
By the way i'm assuming your running on the same system as me (Windows XP) but i believe it is fairly similar on all systems anyway.
To start your going to need to figure out your current IP address and other little things.
Start by clicking start (convenient isn't it) click run and type in "cmd" and hit enter. once in here type in "Ipconfig /all" and hit enter. a few lines of information should pop up. Write down the IP address, Subnet mask, Default Gateway and DNS servers
Step 2: Setting Up Your Static IP Address
To do this your going to need to open control panel(Start, control panel...) and find and double-click "Network Connections". Now there may be a few connections in here and were going to need to change the one you use to access the internet. If you don't know which one it is, right click on one and hit disable then refresh your web browser. If nothing happens re-enable it by right clicking and hitting "enable" then keep doing this to all the connections in there until when you refresh it says can't connect/the web page doesn't show. Once you've found out the right connection your going to have to right click it and click "properties".
Once your in this window look under the "this connection uses the following items:" and right click "internet protocol" and yet again select "properties". A window should pop up. But before you change anything jot down the current information shown just incase things get screwed up.I want you to click "Use the following IP address".
Step 3: Setting Up Your Static IP Address Cont'
Now your going to need to make your own IP address but it shouldn't be to hard seeing as it will be the exact same as your Routers IP address(Default Gateway) except for the last group of numbers.
So if your routers IP is 192.168.1.1(Which it is by default) then you'll want something like 192.168.1.200. The last numbers can't be anything though it should be between 1-254 and definately shouldn't be the same as the routers IP address or this won't work.
Now once you've found out your IP adress your going to use and entered it, i want you to enter the information you got before(from cmd) and put on that piece of paper. Subnet mask, Default gateway and the DNS servers should all be the same as before.
Now test your connection by opening up a new internet window or refreshing the current one. Hopefully it works, if it doesn't your going to need to call who ever provides your internet and ask them what your DNS servers are(Because this is usually the problem). Once they tell you, simply just enter this into the correct spot. Test your connection, and if it works Great! you can now start Port forwarding your router!
Step 4: Port Forwarding Your Router
Now open a new browser or tab and type in your Routers IP address (By default its 192.168.1.1). Once you hit enter a window will pop up prompting you for a username and password to access your router. By default the username is blank and password is Admin unless you have changed it.
Now once in here it will be different for all routers. I'll teach you how to do it with a Linksys.
Click the applications and gaming link, it should be near the top of the page. The menu should now have changed and there will bea few tabs at the top of it but you're going to use "Port range forwarding" once you've gone to this new menu type in the name of the application your going to port forward (ex. Warcraft3). Now your going to need to know which ports this game needs open. For Warcraft 3 its 6112-6119 both TCP and UDP. so in start put 6112, end put 6119 and under TCP UDP select BOTH then there will be a little box thats blank for you to enter the last digits of your ip address so do so. Then make sure to hit the "enabled" button now hit save settings and your done!
Step 5: Problems?
If you have a different router and can't seem to find where to port forward in your routers interface try going to http://www.portforward.com/english/routers/port_forwarding/routerindex.htm they have a HUGE list of routers to pick from and a large list of games for specific instructions on how to PortForward your router to the exact game and router you have.
Step 6: Hosting
Now if you don't already know how to host in Warcraft 3 i'll give you a quick guide.
First open Warcraft 3(quiet obvious isn't it?) and hit Battle.Net and log in.
Once you've logged in click on the customs game tab(i believe the keyboard shortcut is G) and look for the Creat game button and click it. Now your most likely going to want to host a map you've downloaded so open the "download" folder and find the map you are looking for (they are sorted first by how many players can play it then by Name) and once you've found it just click it once to select it and type in an appropriate name.
If the map is X Hero Siege then your most lickely going to want to name it "X Hero Siege" but someone might have already hosted with that name and it won't let you host, so what i usually do is just add a few exclamation marks (X Hero Siege!!!) once in the game wait for people to join, and it should usually be instant depending on how popular the map your hosting is.
If nobody joins that means you may have messed up port forwarding/People hate the map your playing/ your hosting on the wrong port.
so if your port is set up wrong in the game exit battle.net until your at the main screen and click options then the gameplay tab and near the bottom of the screen you'll see "Game Port" make sure it is 6112 as this is the default for Warcraft 3. Now hit ok go back and try to host if it still doesn't work i recommend downloading this file to portforward incase you've messed it up :)
https://portforward.com/store/pfconfig.cgi but i believe you have to buy it for it to actually work but if you really need to port forward i recommend it cause its really easy to use(You don't even need to know your IP!)
Step 7: Good Luck
By now i hope you have it working but if it doesn't i don't think i can help you but you can call your internet service provider and ask them to take you through Port Forwarding your router that way they can troubleshoot for you as you go along.
Hope you liked my Instructable!
(Tell me if you got it working or not)