Following on what Pinger said, there are lots of ports DirectPlay, part of DirectX, needs to work. All but one are initially outgoing from the 'puter with flserver. Everyone that connects, usually getting the IP address and port from the global server, must execute a push on your server. That means your server gets an uninitiated request to communicate on that port. Since a request for communication from the Internet is usually not trusted, this is why we have firewalls to block these. Well in this case we know these requests are to open a two-way communication between a client FL game and your FL server. Hence a tunnel or redirect is initiated to cause any communication on this port to tunnel through the firewall and be redirected straight to the server.
So, server side only one port must be open from the Internet side, usually in the 2302 to 2304 range, mostly 2302. You can change that if you wish, for example it is 2401 on my server.
From the server side there are like a dozen ports in use, maybe more but most firewalls including WinXPs lets them go out without a problem. Only two-way (block both directions, in and out) firewalls like ZoneAlarm will ask if it is OK to send out from a program (unless the firewall is setup different than default). This sounds like what happened to helaesus where he didn't have the ability to send everything out to the Internet through any port he chose.
---------------
Earendil
SysAdmin of Boston Freelancer server
See
server rules and
server news for more info.