Here's the NAT problem (that I've experienced). First the setup: there are 2 or more computers that share an IP address. One of the computers is running Linux and is serving as the gateway. We'll call this computer GATEWAY. It has two network interfaces and two IP addresses: $EXT_IP and $INT_IP for the external IP and internal IP. The other computer is an internal computer running Windows for the Everquest client. We'll call this computer CLIENT. It has one network interface and one IP (which is on the same subnet as $INT_IP). GATEWAY is running the world and zone servers, and is using GOTFRAGS as a login server (because the login server code is no longer being released :().
Here's what I see is going on:
1) world on GATEWAY contacts login on GOTFRAGS and announces its presence. login adds GATEWAY to the list of servers remembering its IP address, $EXT_IP.
2) CLIENT starts up everquest and contacts login on GOTFRAGS for a list of servers. login returns the list.
3) CLIENT selects the world server on GATEWAY and gets it's IP address from login as $EXT_IP. CLIENT normally addresses GATEWAY through $INT_IP, so this is a problem.
4) CLIENT tries to connect to the world server on $EXT_IP, but cannot because it is supposed to be using $INT_IP.
In theory, it should work with either $EXT_IP or $INT_IP (I know I can access servers on my gateway even if I address them as $EXT_IP). But it doesn't seem to work. Maybe there's something else going on that I don't konw about that's causing the problem.
I don't know if this problem still exists in 0.2.6 (compiling it now

). I guess I'll find out soon...