• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

jpd

Entil'Zha Anla'Shok
Moderator
42 Badges
Apr 19, 2001
8.411
1.916
  • Stellaris: Apocalypse
  • Hearts of Iron 4: Arms Against Tyranny
  • Hearts of Iron IV: No Step Back
  • Hearts of Iron IV: By Blood Alone
  • Battle for Bosporus
  • Stellaris: Ancient Relics
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Stellaris - Path to Destruction bundle
  • Hearts of Iron II: Beta
  • Europa Universalis IV
  • Arsenal of Democracy
  • Hearts of Iron IV: Field Marshal
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: La Resistance
Yesterday, me and a collegue of mine tried to start a multiplayer session. He has a dial-up internet link through a Cisco 760 series ISDN router, I myself have an ADSL permanent connection using an Alcatel SpeedTouch modem.

First we tried, with both ends configured as NAT enabed routers, and trying to get port forwarding to work. This failed.

I then reconfigured my Alcatel from a NAT enabled PPP routing function to a dial-up PPTP connection. This configuration couples my fixed public IP number directly to my PC. This works, as I get instantly port scan alerts from my ZoneAlarm software firewall.

So, I host a HoI game, and let my collegue connect to it. This still fails. I can see in my ZoneAlarm console that both DirectPlay server and HOI are active and listening to their respective TCP ports. I can see from the activity that both are receiving data packets. Using ping, my collegue can verify connection to my PC, and I can see that activity in my ZoneAlarm console.

What are we doing wrong here?

Is there a need for HoI, acting as client, to also be connected directly with a public IP number to the internet?

As a sidenote. With my Alcatel ADSL router configured as a NAT enabled PPP router, I have absolutely no problems to multiplayer games like Age of Mythology and NeverWinter Nights. With those games I can even host, without the need for either my PC having a public IP address itself, or explict port forwarding setup in the router. Both these games make use of the same DirectPlay server as HoI. Yet HoI refuses to work.

Jan Peter
 
Well, we finally figured it out. :p

What needs to be done, contrary to normal TCP/IP client/server behaviour, is that on both sides of the connection, ie. both the PC that will host and the PC that will join, the public TCP ports 47624 and 2300 must be visible on the public IP number.

In other words, if both PC's are behind a NAT enabled router, on both sides these two TCP ports must be programmed in the router to be forwarded to the gaming PC behind the router.

This is, like I said, quite unusual in the TCP/IP world. Normally, only the server needs to listen to a public TCP port, and thus needs port forwarding in a router. It's normally the server's job to accept sessions over the public TCP port, and then setup a two way connection over another port, freeing the public (well known) port to accept another connection. When following this protocol, only the server needs port forwarding for the public TCP port if it's behind a NAT enabled router.

That is how well known TCP server protocols like web server, SMTP server, FTP server, etc. work, and why you don't need to configure port forwarding in a router for client PC's that are behind a NAT enabled router.

Jan Peter
 
This is, like I said, quite unusual in the TCP/IP world
Jup ;)

Since every firewall user encounters this problem we have a sticky thread "how to make it work" here. Feel free to take a look and add any helpful infos for other users :)
 
I had read that thread, but it, as you said, deals only with the ports which have to be explicitly opened in a firewall. That is something different from which ports need to be explicitly forwarded through a NAT enabled router.

Jan Peter