Forwarding the ports within a range should work fine. I'll explain how the mail/chat key works so hopefully it should help you or anyone else figure out their problems.
The key is generated by World, just before it hands a player off to a zone. The key is a 16 digit hex number. The last eight digits are randomly generated. The first eight digits are the IP address of your client PC, as seen by world. This 16 digit key is written to the database, and the last eight digits are sent directly to the client.
When the client connects to chatserver, it logs in with the eight digit random portion of the key that world gave it.
Chatserver generates a 16 digit key, using the client IP address that it sees, along with the 8 digit random number part. It then compares this with what World put in the database.
If you are having problems, first thing to do is add the following to your log.ini file:
Code:
MAIL__TRACE=on
CHANNELS__TRACE=on
When a client connects, you will then see what key chatserver generated, and the key that was in the database:
Code:
[Debug] [CHANNELS__CLIENT] New Client UDP Chat connection from 192.168.1.50:51238
[Debug] [CHANNELS__TRACE] Received login for user BTG2.Derision with key 4CD03B97
[Debug] [CHANNELS__TRACE] DB key is [3201A8C04CD03B97], Client key is [3201A8C04CD03B97]
If you break out Window Calculator and convert the first 8 digits into decimal, you get (in this example):
32 = 50
01 = 1
A8 = 168
C0 = 192
The bytes are in reverse order, so the IP address is 192.168.1.50.
The first person who reported problems with the keys not matching found that world was seeing his 'external' IP address while chatserver was seeing his 'internal' IP address.
This was happening because he was connecting to one using his external IP address and therefore the connection was going into his router and back to his LAN, thus his client PC address was being NATted.
If you say that the mail connection is working fine, then change the hostname in the chatserver block to 192.168.1.32. Of course this will mean that no-one outside your LAN can connect to mail or chat.
The host should be your dyndns name, and then on your local PCs you should add an entry to your hosts file to map my.dyndns.url to 192.168.1.32.