Topic: DXPort - Solution to 2 Clients Behind a Firewall (LAN D3 server)  (Read 4132 times)

0 Members and 1 Guest are viewing this topic.

Offline danielreid

  • Ensign
  • *
  • Posts: 4
DISCLAIMER:

You will need to have access to the ports on your firewall or router. You will need to have to care at least to read through this entire post. It wont make sense otherwise.

http://www.puffinsoft.com

This is a program called DXPort. The website describes it better than I can, though I will summarize by saying it is a workaround for multiple clients on directplay lobbyable games.

This is for SFC3 though I'm sure you could make it work for the other games.

My current setup:

a) Linux Firewall running IP fowarding and mascquerading
b) My own PC, running DXPort and the 534b server kit
c) Bro's laptop, also running DXport

The ports required and the steps involved.

1) First you need to get at least one of your machines to be able to log on. Add "BehindNAT=1" to the ini file in the META section (which section it's in does matter). In order for the directplay test host to work you need 6073 (tcp I think) and 2302-2311 (TCP and UDP) fowarded to your machine. This will allow you to log in.

2) Foward the ports and log in the first machine. (It should be noted that by "login" I mean get past the "directplay test host" phase)

3) Go to your second computer and change those same ports to be fowarded there (steal them from PC1 temporarily). Log in.

4) Alt+Tab out of PC1 and start your server up, it should appear in the list. Have both PC1 and PC2 join.

This is where it gets tricky. When playing on the server in the same battlefield one of you will have to be host. The ports break down like this:

6073 = the host port. One of you will need this to host multiple clients in a game
2302-2400 = the join directplay ports... every client joining the game will approx 10 of these

5) Once both machines are logged in and connected to the server, start DXPort on both machines. You will see that it has ten different port ranges:

Range 01: 2302 - 2311
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

These are suggestions for a setup which allows ten different clients. In short, DXPort forces DirectX on your machine to only use the ports you specify in DXPort. This means that you dont need to use up all the ports between 2302-2400 for one machine. This means that more than one person can be a "joiner" or "client" on your server while one of you functions as the host in a game.

PC1: Set the range to 2302-2311 in DXPort. In your port fowarding for your router or firewall set those same ports (TCP and UDP) to goto that machine. For the sake of example we will say that PC1 will be host... so make sure he also recieves port 6073.

PC2: Set the range to 2312-2321 In DXPort. In your port fowarding for your router or firewall make the ports match what you have specified in DXPort.

=====================

Ok, that this point you should have PC1 with 6073 and 2302-2311... making him the host. PC2 should have 2312-2321 making him a client. If you join a fleet together and attack someone... after a few seconds, the game will discover which of you is host capable and start the game. You probably want to give host to the faster machine.

This is all I know to date, feel free to poke around and post any updates or findings on the subject. Enjoy!

(thanks for all the help Bonk, I did what I could with it)

Offline S31-Riptide

  • Lt. Junior Grade
  • *
  • Posts: 142
  • Gender: Male
    • Chaotic Network & SFC3.net
Re: DXPort - Solution to 2 Clients Behind a Firewall (LAN D3 server)
« Reply #1 on: March 15, 2006, 11:02:56 am »
Nice... Nice Nice Nice Nice Nice!