I understand that BIS decided to let the server choose the port for the client within the dynamic port range; however why this does work with static NAT and not with dynamic NAT is beyond me. In both cases the NAT box will not forward traffic that is destined to this server-chosen port back to the client behind the NAT. Unless your client opens the UDP 'connection' first or you forward the port like I did here: http://forums.bistudio.com/showthread.php?155454-Connecting-failed&p=2400328&viewfull=1#post2400328. But even when forwarding these ports on my dynamic NAT box, I still couldn't connect. As you can see, the A3 client replies with 'ICMP 192.168.1.35 udp port 57901 unreachable'; so clearly the client should be notified what client-side port the server chose (so it can open a socket) and I'm guessing this notification gets lost?
Clearly, something is broken because my NAT box translates port 2304 on my client to an other port and some A3 software instance (be it the server or the master server) is unable to cope with this. Not assuming that this static port equals to 2304 or letting the client choose all the ports (and not assume that the server can reply to any of the dynamic ports) would already be a step in the right direction. I'm amazed that so many boxes actually run Static NAT (which gives problems when 2 clients want to use the same host port) and that therefor the amount of people having issues with this is so low.