Forwarding a specific port is not necessary, from my experience. I play PlaneShift in different kinds of NAT routed networks. Outgoing UDP must be possible, as well as listening to UDP returning to the same local port. The local port may be any random, temporary port. The server port on laanx.fragnetics.com used to be 7777 in the last years.