Announcement

Collapse
No announcement yet.

Multiplayer issues with the patch?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    I am having a problem connecting more than two computers to a game. Whether I do direct IP, lan, or Internet game, the game is not letting me connect more than two players (different players each time -- kind of first connected gets the spot). Before 1.52 I did not have this problem. Any thoughts?

    To better describe the issue, think of four computers: A and B are connected by a LAN. C is 15 miles away. D is 20 miles away. A, the fastest computer hosts and only one of B, C or D can connect regardless of whether I do a direct IP, lan or Internet (through GS) game. Very frustrating.

    Any help would be appreciated.

    Comment


    • #17
      Your likely going to have to make sure that your two LAN computers used different ports as they will have the same internet IP address. One can stay with 2056 which is the default, the other one I'd change to 2057, that should let both of those computers into the same game. You can change the port in the ini.

      CS
      Global Admin/Owner
      Civilization Players Leagues
      www.civplayers.com
      http://steamcommunity.com/groups/civplayers steam://friends/joinchat/103582791431089902

      Comment


      • #18
        Thanks for your response.

        I think that may take care of the issue of the lan computers, but why can the two remote computers not both connect when I host. A total of two computers can connect at any one time (regardless of whether it is over the lan or remotely). Very weird. It just doesn't seem to make any sense to me.

        Again, thanks for the response. Any additional thoughts would be appreciated. I will try to verify the lan issue in the next few days.

        Comment


        • #19
          Yeah i actually am behind a NAT router and civ4 multiplayer just doesn't work for me.
          I fired up the old packet sniffer to see what was wrong.





          Upon connecting to a host the host sends out to the connecting player the ip addresses that all the peers in the game initially sent the host. Peers behind NAT send their local ip addresses to the host (obviously wrong) and the host then tells other peers to connect via these incorrect addresses.

          Now if you Firaxis guys are reading this use the recvfrom() function, get the clients ip via that and set that as the ip for other peers to connect to, don't just get the local ip from each peer.

          Comment


          • #20
            That was a good find Notagoodname. I was a firewall admin at my company for years, and I have seen this exact issue many times, whenever the software programmer who wrote the code has no networking skills. Basically it never occurred to them that the REAL internal IP address of your computer might actually get translated to a public, Internet routable, address that the rest of the world sees... Come on Firaxis...this shouldn't be that hard to fix...

            Comment


            • #21
              Wow! I think you have found the answer to the single most annoying problem that plagues Civ 4 Multiplaying!! I suggest that you make a bigger deal out of what you have found, perhaps start a thread under the general page as well as the technical section with your post showing the problem and your solution to the connecting to peer issue.
              "Cunnilingus and Psychiatry have brought us to this..."

              Tony Soprano

              Comment


              • #22
                What you found is correct, but it's actually a mechanic of the MP system. The article I posted here explains how the GS NAT system works.



                What we do in CIV is first try to contact the host directly on their public IP. If the host is protected by a LAN/Firewall, this will fail. Next, we try the NAT Negotiation solution. If this fails, we make an assumption we are on the same LAN, and try the private address.
                CS
                Global Admin/Owner
                Civilization Players Leagues
                www.civplayers.com
                http://steamcommunity.com/groups/civplayers steam://friends/joinchat/103582791431089902

                Comment


                • #23
                  OK, I can see that they are doing some clever things to avoid firewall problems, but I find that explanation very confusing. The source address of the packet that was received in the sniffer output was the external, translated address. The internal IP address of the peer was carried in the payload of that packet... if the machines were on the same LAN, then why would the source IP address be different? Clearly the remote peer is connecting on the translated address or else it wouldn't show up as the source address in the first place. I don't understand why you would ever want to pass your untranslated address in the payload of the packet. Security issues aside, this just seems to defy logic... But now I'm very curious...please help me understand! :-(

                  Comment


                  • #24
                    Well you'd likely have to ask Gamespy that question, and I've searched for public info on the GS NAT system and it seems that GS doesn't give that out except to developers of GS games. GS is the author of this system, Firaxis is just using it in hopes that it eliminates teh problems we had with C3C.

                    CS
                    Global Admin/Owner
                    Civilization Players Leagues
                    www.civplayers.com
                    http://steamcommunity.com/groups/civplayers steam://friends/joinchat/103582791431089902

                    Comment

                    Working...
                    X