View Single Post
  #4  
Old 05-18-2002, 08:33 AM
theCoder
Sarnak
 
Join Date: Jan 2002
Posts: 90
Default

The NAT patch is only for EMU servers that are running on the NAT server, not behind it. The patch forces the EMU server to bind to only one of the network interfaces (namely, the external one). This is only really necessary because of how the login server works. And even then, I've since found out you can work around it with creative name resolution.

What the NAT patch won't help with is if the EMU server is behind the NAT server (it has a private IP). This is the classic server behind a NAT problem. Unfortunately, no one has developed a really clean solution to it :(. The best you can do is setup your NAT server to port forward the world and zone ports. From your post, it sounds like that's what you did. I would guess, however, that you only forwarded the world port (9000) and not the zone ports (I use 9001-9005, but it's based on the command line arguments when you run zone). Check to make sure you're forwarding those ports as well.

For you to log into your server (if it is behind a NAT), you're going to have to resort to creative domain name setup. You're going to want to do something like the following. If you have a domain name, say bobsdomain.com, pointing to your IP, say 1.2.3.4, and your EMU server is really on 10.2.3.4, you'll need to edit the hosts file on the EQ client computer to an entry:
10.2.3.4 bobsdomain.com
Even though bobsdomain.com should be 1.2.3.4, you want to override it on the client to be 10.2.3.4. That way, the EQ client will go to the EMU server instead of to your NAT server (I don't know if you can set up an iptables based NAT server to reflect back into the network or not... in any case, it would be inefficient to have the NAT server as a go between).
Then, in your loginserver.ini file on the EMU server, you have to specify your world address as bobsdomain.com.

There are some problems with this (such as if you wanted one machine to be the world server and another to host the zone servers), but in general it should work.

btw, I'm planning on reworking the NAT patch when 0.3.2 comes out to be more generic (probably introduce a bindaddress in the configuration file) instead of the pseudo-hack that it is now (relying on the worldaddress field to dictate what to bind upon).
Reply With Quote