Why does old game work over Hamachi but not over the internet

anno-1602hamachitechnical-issues

When hosting a game of Anno 1602, with the relevant ports forwarded and the process allowed through the firewall, it usually works.

I tried hosting such a game last night, and 2 friends were able to join using my external IP. However, a third friend was not able to connect; my game did not show up in the list of games when he entered my external IP. This problem persisted even after he disabled his firewall. Nor could we connect to a game that he hosted.

In the end, we tried using Hamachi, and the game worked straight away.

What I want to know is:

  1. What could have caused the initial networking problems?

  2. How would one debug such a problem?

  3. How is Hamachi able to send traffic without suffering these same problems?

Best Answer

LogMeIn Hamachi is a virtual private network (VPN)[...]. It is capable of establishing direct links between computers that are behind network address translation ("NAT") firewalls without requiring reconfiguration (when the user's PC can be accessed directly without relays from the Internet/WAN side); in other words, it establishes a connection over the Internet that emulates the connection that would exist if the computers were connected over a local area network ("LAN").

Source: wikipedia

I guess it worked using Hamachi either because it's a VPN (and it bypassed what is preventing him to connect to you) or because it emulated a LAN (and the game has different protocols for LAN games). Considering others could already connect to you, I think it's the VPN that allowed him to join.

Debugging it might be more complicated than just using Hamachi... But you know it's coming from his side (as others can join you).

  • If you can ping each other and you can play other games together (without hamachi), you probably missed something at software level that is blocking him.
  • If you cannot ping him or play other games, it might be something between his computer and yours that prevent connection; then a VPN might be the only way.