DXport "We were told it was impossible..."
Current version is Release 1.0.2
PuffinSoft is happy to announce the first release of DXport. DXport is an app that will let multiple people play most games that use the Directplay network code (mostly Microsoft titles) behind a NAT/Router. Some of the games that have been tested are Dungeon Siege, MechWarrior 4, Age of Empires II, and Motocross Madness 2. Normally you are limited to a single client behind a NAT/Router unless your router supports UPnP. This may also be an option for people that don't like the security issues with UPnP.
DXport allows multiple computers behind a NAT device to connect to Internet games that use the DirectX Netcode.
DXport deals with the fact that you cannot set the client port with games using the DirectX Netcode. The DirectX Netcode will use a port in the range of 2302-2400, most of the time the port picked is 2302. What DXport does is force DirectX to the ports you specify.
When DXport is started you will need to select from the menu or type in the ports you want your DirectX Netcode games to use. The idea is to have all the clients use different ports. You can enter a single port or a range of ports. Since some games require more than one port it will usually be better to specify a range of ports. The ports you enter have to be between 2302 and 2400.
Most people will also have to forward the ports on the NAT device. If you had to forward ports just to play with one machine then this is probably what you will have to do. If you have PC#1 using ports 2302-2311 on 192.168.1.10 then forward ports 2302-2311 to 192.168.1.10 on the NAT device. (To support both DirectX 7 & 8 Netcode you will need to forward both UDP and TCP traffic, DirectX 8 Netcode only uses UDP). You will need to do this for each PC you want to play on behind the NAT device.
Do not assume that because you have DirectX 8 installed that the game uses DirectX 8 Netcode. If the games was written with DirectX 7 Netcode then that is what it will use. Mechwarrior 4 uses DirectX 7 Netcode for example.EXAMPLE:
PC#1 - 192.168.1.10 Ports 2302-2311
PC#2 - 192.168.1.11 Ports 2312-2321
PC#3 - 192.168.1.12 Ports 2322-2331
UDP 2302-2311 -> 192.168.1.10 2302-2311
TCP 2302-2311 -> 192.168.1.10 2302-2311
UDP 2312-2321 -> 192.168.1.11 2312-2321
TCP 2312-2321 -> 192.168.1.11 2312-2321
UDP 2322-2331 -> 192.168.1.12 2322-2331
TCP 2322-2331 -> 192.168.1.12 2322-2331
Command Line Options:
Range 02: 2312 - 2321
Range 03: 2322 - 2331
Range 04: 2332 - 2341
Range 05: 2342 - 2351
Range 06: 2352 - 2361
Range 07: 2362 - 2371
Range 08: 2372 - 2381
Range 09: 2382 - 2391
Range 10: 2392 - 2400
* In these games, clients can connect to different games, but clients can only connect to the same game if the NAT device handles it correctly. Currently this is only supported by Linksys Routers and FreeBSD.