If you have only one router then you need to:
1 - make sure the computer hosting the game has an static internal IP address (usually something like 192.168.0.XXX)
- - - try portforward.com for a useful and free trial utility to accomplish this.
2 - in your router settings/admin forward the following ports UDP protocols: 5120-5300, 6500, 6667, 27900 and 28900
- - - (if you want your server to be visible in the various public listings also forward ports 29900 and 13139)
If you download the free trial utility from PortForward.com you can also use it to verify the necessary ports are open. A handy tool. I recommend it.
Now, assuming all is well when YOU Direct Connect to your server you will probably use the internal IP address to access the game server because you are inside your own network. This applies to any other computer inside your network as well.
Your friends, however, will need to Direct Connect to your external (WAN) IP address because they are outside your network. Your external WAN IP can be found both on the PF utility or by simply going to whatismyip.com. This is almost always going to be a dynamic IP address, which means it will change very so often without notice. Unless you are hosting a 24/7 PW server I do not advise wasting time, energy and $$$ to procure a static public domain. Instead, whenever you want to boot up a game just retrieve your IP using your preferred method and send it to your friends.
This is exactly how I host my private games.
~ ~ ~ ~ ~
Now, if you are double routered, that is, your modem also functions as a router (used or not) AND you have an additional router installed between your modem and the rest of the network or the host computer, you will need to port forward the same ports from the modem to the second router, and then from the second router to the host. This means both the host computer and the second router will need static internal IP addresses.
You will still log in using the internal IP of the server, and your friends will still use the WAN IP of your network.
- A possible workaround to this is if you are NOT using the modem's built-in router for your internal networking, you may be able to "bridge" the router functions of that unit. IE: essentially you just turn that router off. This is exactly what I used to do when I had a Comcast modem/router unit. I was using my personal Netgear router to handle the private home network, so all I had to do was place the Comcast router in "bridge mode" and port forward from the Netgear to the host computer. Easy. *wink* Alternatively, you could simply remove the second router, if feasible.
Maybe this helps. I hope so.
~