DirectX games versus NAT firewalls

DirectX games versus NAT firewalls

Post by gaf.. » Wed, 08 Mar 2000 04:00:00

I'm trying to set up a NAT firewall on FreeBSD in front of a set of PC
machines that will be playing games. Asheron's Call is one example of a
game I've had lots of trouble with. Searching various archives, I've
seen everything from "it can't be done" to "I use Sygate (or Windows
ICS) and it works just fine".

The usual advice for owners of Unix gateways is to redirect the
incoming UDP request on port 9000 (or some range that includes that) to
the machine playing Asheron's Call. But I want to have more than one
machine playing the game, and I want to use DHCP to dynamically assign
internal IP addresses.

I think I've figured out why it works on those other Windows-based NAT
servers and not on FreeBSD.

DirectX games require the server to be able to open TCP and UDP
connections to the client. The FreeBDS server has no way to know to
which machine such an incoming request is to be forwarded, and
therefore drops the request on the ground. The PC-based proxies do know
which machine such incoming connections should be bound to. How? See

Basically, the client first requests a TCP connection on some port.
Later, the server requests an additional UDP connection on the same
port to the client. The Windows-based proxys handle an incoming UDP
connection request by finding a host that holds a TCP connection on the
same port to the same host.

I don't see a way to configure FreeBSD's natd to do that, but adding
this feature would allow DirectX games (read: Microsoft games such as
Asheron's Call) to run through a FreeBSD gateway.


Sent via
Before you buy.


1. IP Masq/Firewall works for everything but DirectX Games..ideas??'s the skinny:  I'm running SuSE 6.0 on a P100 setup as my
Internet Gateway/Firewall for my home network.  Works GREAT!!!  I can do
everything short of DirectX Games.  I can use REAL AUDIO, WEB, FTP, etc.
with no problems whatso ever.  I can play Quake I/II, Heretic2, Tribes,
Descent 1/2/3, with no problems.  BUT when I try to hook-up to play
European Air War or Falcon 4.0....the modem blinks like crazy...but no
connection is established.  Buddy thought it had to do with the firewall
denying the port that DIRECTX uses (don't know which that is)....but if
anyone has an idea...would love to hear it.  I've read the FAQ's,
HoW-TO's, and MAN pages on ipfwadm and firewalling...but haven't seen
anything on how to open all ports (or at least the Direct X ones).
Here's the script I wrote to initiate firewalling:

# by default, deny all services
ipfwadm -F -p deny
# Flush all other settings
ipfwadm -F -f
ipfwadm -I -f
ipfwadm -O -f
# No setup masq for 0.x network
ipfwadm -F -a m -S -D

Thanks in adance!!!!

Eric D. Fether

2. Modem Setup under GNOME/RH 7.2

3. speedtouch 530 NAT versus linux pptp + nat

4. No backup partition on disk (?)

5. need help opening port(s) for directx games

6. LD_PRELOAD and 'secure' processes

7. bimap w/ directx games

8. resolv.conf always change ??

9. Win - Emulator to play DirectX Games

10. DirectX Games through Linux Masq?

11. DirectX and Linux/Unix as a game development/target environment

12. Games and directx

13. Do I need a software firewall in addition to a NAT router/firewall?