Whenever I try to create a multiplayer game (regardless of the settings like private/hidden/etc.) I get the following notice:
Failed to determine external IP address. Other players might not be able to connect.
Looking at the log I found that the pingpong server did reply with the same IP address, but that the port differs (in this log it's 84.73.229.124:62613 vs 84.73.229.124:62625).
log
0.000 2016-07-03 13:12:08; Factorio 0.13.3 (build 22991, win64, steam)
0.000 Operating system: Windows 10
0.000 Program arguments: "C:\steam\steamapps\common\Factorio\bin\x64\Factorio.exe"
0.001 Read data path: C:/steam/steamapps/common/Factorio/data
0.001 Write data path: G:/Users/niklas/AppData/Roaming/Factorio
0.001 Binaries path: C:/steam/steamapps/common/Factorio/bin
0.019 Graphics options: [FullScreen: false] [VSync: true] [UIScale: 100%] [MultiSampling: OFF] [Graphics quality: normal] [Video memory usage: high] [Light scale: 20%] [Screen: 255] [DXT: false]
0.022 Available display adapters: 2
0.022 [0]: \\.\DISPLAY1 - NVIDIA GeForce GTX 970 {0x01, [-1200,-720], 1200x1920, 32bit, 59Hz}
0.022 [1]: \\.\DISPLAY2 - NVIDIA GeForce GTX 970 {0x05, [0,0], 1920x1080, 32bit, 60Hz}
0.022 Create display on adapter 1. Size 1280x720 at position [310, 162].
0.125 Initialised Direct3D:[0] NVIDIA GeForce GTX 970; driver: nvd3dumx.dll 10.18.13.5891
0.126 Video memory size (dedicated video/dedicated system/shared system/available): 4008/0/8183/4092 MB
0.179 Desktop composition is active.
0.269 Loading mod core 0.0.0 (data.lua)
0.274 Loading mod base 0.13.3 (data.lua)
0.390 Checksum for core: 714099156
0.390 Checksum for mod base: 3065127710
0.987 Initial atlas bitmap size is 16384
0.990 Created atlas bitmap 16384x6369
1.265 Created atlas bitmap 4096x968
21.102 Sprites loaded
21.103 Convert atlas 4096x968 to: trilinear-filtering
21.416 Loading sounds...
23.001 Custom inputs active: 0
23.041 Factorio initialised
33.045 Info Router.cpp:557: Router peerID(65535) shutting down.
33.046 Info Router.cpp:588: Router state -> Disconnected
33.052 Info MultiplayerManager.cpp:996: networkTick(0) mapTick(-1) changing state from(Ready) to(PreparedToHostGame)
33.052 Info MultiplayerManager.cpp:996: networkTick(0) mapTick(-1) changing state from(PreparedToHostGame) to(CreatingGame)
33.053 Info Scenario.cpp:129: Map version 0.13.3-1
33.148 Checksum for script G:/Users/niklas/AppData/Roaming/Factorio/temp/currently-playing/control.lua: 900459546
33.150 Info WindowsUDPSocket.cpp:59: Opening socket at port (34197)
33.150 Info Router.cpp:588: Router state -> Connected
33.150 Info Synchronizer.cpp:56: NetworkTick(0) initialized Synchronizer local peer(0) latency(15).
33.150 Hosting game at port 34197, peerID 0, session magic 1054
33.150 Info MultiplayerManager.cpp:996: networkTick(0) mapTick(0) changing state from(CreatingGame) to(InGame)
33.150 Info NetworkInputHandler.cpp:45: mapTick(0) networkTick(0) initialized NetworkInputHandler local peer(0).
33.150 Info Router.cpp:993: Asking pingpong servers (pingpong1.factorio.com:34197, pingpong2.factorio.com:34197) for own address
33.200 Warning Router.cpp:848: Received own adddress message reply with conflicting address (got 84.73.229.124:62613, expected 84.73.229.124:62625)
33.201 Warning MultiplayerManager.cpp:715: Determining own address has failed. Best guess: 84.73.229.124:62625
33.400 Info MultiplayerManager.cpp:1527: Received peer info for peer(0) username(tsubaki).
33.400 Info MultiplayerManager.cpp:1143: networkTick(15) mapTick(15) received stateChanged peerID(0) oldState(Ready) newState(CreatingGame)
33.400 Info MultiplayerManager.cpp:1143: networkTick(15) mapTick(15) received stateChanged peerID(0) oldState(CreatingGame) newState(InGame)
33.434 Info NetworkInputHandler.cpp:754: mapTick(18) networkTick(18) connecting to player(tsubaki).
33.434 Info NetworkInputHandler.cpp:608: assigning playerIndex(0) to peer(0)
33.434 Info GameActionHandler.cpp:2623: MapTick(18) processed PlayerJoinGame peerID(0) playerIndex(0) mode(create)
33.957 Info MultiplayerManager.cpp:743: Matching server connection resumed
This happens every time I try to host a game (the address always only differs in the port, never in the IP address).
(On a side note: This also happens to a few friends of mine, but not to all)
Re: [0.13.3] Unable to determine external IP address
Posted: Tue Jul 05, 2016 3:43 pm
by knub23
I have the same issue since 0.13.0.
Log
0.004 2016-07-05 17:38:43; Factorio 0.13.4 (build 23025, win64, steam)
0.004 Operating system: Windows 7 Service Pack 1
0.004 Program arguments: "D:\SteamLibrary\steamapps\common\Factorio\bin\x64\Factorio.exe"
0.004 Read data path: D:/SteamLibrary/steamapps/common/Factorio/data
0.004 Write data path: C:/Users//AppData/Roaming/Factorio
0.004 Binaries path: D:/SteamLibrary/steamapps/common/Factorio/bin
0.022 Graphics options: [FullScreen: false] [VSync: true] [UIScale: 100%] [MultiSampling: OFF] [Graphics quality: normal] [Video memory usage: all] [Light scale: 20%] [Screen: 255] [DXT: false]
0.024 Available display adapters: 1
0.024 [0]: \\.\DISPLAY1 - AMD Radeon HD 7700 Series {0x8080005, [0,0], 1920x1200, 32bit, 60Hz}
0.025 Create display on adapter 0. Size 1280x720 at position [310, 222].
0.644 Initialised OpenGL:[0] AMD Radeon HD 7700 Series; driver: 4.5.13440 Compatibility Profile Context 16.200.1010.0
0.908 Loading mod core 0.0.0 (data.lua)
0.916 Loading mod base 0.13.4 (data.lua)
1.097 Checksum for core: 714099156
1.097 Checksum for mod base: 3065127710
1.827 Initial atlas bitmap size is 16384
1.831 Created atlas bitmap 16384x9336
1.831 Created atlas bitmap 4096x968
10.880 Sprites loaded
10.880 Convert atlas 4096x968 to: trilinear-filtering
10.933 Loading sounds...
12.709 Custom inputs active: 0
12.761 Factorio initialised
47.530 Info Router.cpp:558: Router peerID(65535) shutting down.
47.530 Info Router.cpp:594: Router state -> Disconnected
47.545 Info MultiplayerManager.cpp:996: networkTick(0) mapTick(-1) changing state from(Ready) to(PreparedToHostGame)
47.545 Info MultiplayerManager.cpp:996: networkTick(0) mapTick(-1) changing state from(PreparedToHostGame) to(CreatingGame)
47.546 Info Scenario.cpp:129: Map version 0.13.4-1
47.619 Checksum for script C:/Users//AppData/Roaming/Factorio/temp/currently-playing/control.lua: 900459546
47.630 Info WindowsUDPSocket.cpp:59: Opening socket at port (34197)
47.630 Info Router.cpp:594: Router state -> Connected
47.630 Info Synchronizer.cpp:56: NetworkTick(0) initialized Synchronizer local peer(0) latency(5).
47.630 Hosting game at port 34197, peerID 0, session magic 2936
47.630 Info MultiplayerManager.cpp:996: networkTick(0) mapTick(0) changing state from(CreatingGame) to(InGame)
47.630 Info NetworkInputHandler.cpp:45: mapTick(0) networkTick(0) initialized NetworkInputHandler local peer(0).
47.630 Info Router.cpp:1003: Asking pingpong servers (pingpong1.factorio.com:34197, pingpong2.factorio.com:34197) for own address
47.680 Warning Router.cpp:858: Received own adddress message reply with conflicting address (got 178.6.45.186:34198, expected 178.6.45.186:34199)
47.680 Warning MultiplayerManager.cpp:715: Determining own address has failed. Best guess: 178.6.45.186:34199
47.713 Info MultiplayerManager.cpp:1527: Received peer info for peer(0) username(knub23).
47.713 Info MultiplayerManager.cpp:1143: networkTick(5) mapTick(7) received stateChanged peerID(0) oldState(Ready) newState(CreatingGame)
47.714 Info MultiplayerManager.cpp:1143: networkTick(5) mapTick(7) received stateChanged peerID(0) oldState(CreatingGame) newState(InGame)
47.714 Info NetworkInputHandler.cpp:754: mapTick(8) networkTick(6) connecting to player(knub23).
47.714 Info NetworkInputHandler.cpp:608: assigning playerIndex(0) to peer(0)
47.714 Info GameActionHandler.cpp:2631: MapTick(8) processed PlayerJoinGame peerID(0) playerIndex(0) mode(create)
48.298 Info MultiplayerManager.cpp:743: Matching server connection resumed
Re: [0.13.3] Unable to determine external IP address
Posted: Tue Jul 05, 2016 4:08 pm
by TruePikachu
Are ports set to be different from default?
Re: [0.13.3] Unable to determine external IP address
47.630 Info Router.cpp:1003: Asking pingpong servers (pingpong1.factorio.com:34197, pingpong2.factorio.com:34197) for own address
47.680 Warning Router.cpp:858: Received own adddress message reply with conflicting address (got 178.6.45.186:34198, expected 178.6.45.186:34199)
47.680 Warning MultiplayerManager.cpp:715: Determining own address has failed. Best guess: 178.6.45.186:34199
Said it is a configuration issue. I didn't change anything from 0.12.35 to the new release. Would be great if someone could help with this, I don't know how to fix it.
Re: [0.13.3] Unable to determine external IP address
Posted: Wed Jul 06, 2016 11:22 am
by tsubaki
Same here:
The port was never changed, it even says in the log file:
33.150 Hosting game at port 34197, peerID 0, session magic 1054
And in config.ini:
port=34197
I tested every version from 13.3 to 13.5 and on all versions the same error occurs.
Re: [0.13.3] Unable to determine external IP address
Posted: Thu Jul 07, 2016 3:19 pm
by Klonan
This isn't an error in factorio so much, there are any number of ISP, router of network configuration reasons why our servers are not able to determine your IP address
Re: [0.13.3] Unable to determine external IP address
Posted: Thu Jul 07, 2016 7:32 pm
by tsubaki
I disagree that this is an error on the client side (i.e. configuration of network gear).
Not being satisfied with doing nothing I fired up Wirershark.
I filtered for traffic only from and to the two pingpong-servers (pingpong1.factorio.com // pingpong2.factorio.com) and tried to host a new multiplayer game. Interestingly all packets sent and received have the same source and destination port 34197
I then inspected the response from pingpont1, pingpong2 respectively:
Screenshots of captured packets
You can clearly see that on the bottom part of the packet my IP address is returned correctly. But the port returned inside the data-part of the UDP-packet is clearly different from the port all packets were sent and received on.
If need be I can save another capture in Wireshark and upload it to some file-share-service.
Edit: I now think this is a configuration issue (see response below)
Re: [0.13.3] Unable to determine external IP address
Posted: Thu Jul 07, 2016 7:46 pm
by Zeblote
Seems like your router is randomizing outgoing ports?
Re: [0.13.3] Unable to determine external IP address
Posted: Thu Jul 07, 2016 8:44 pm
by tsubaki
Ok, the suggestion with the port-randomization made me think a bit.
I then tested with a few friends how my UDP-packets are getting changed by my router.
It seems that my router changed the source port of the packets to some number in the 60000 range.
Why it did this I have no idea.
I then removed the port forwarding for the port 34197.
After some testing (without success) I then enabled forwarded port 34197 again.
This seems to have fixed the port-randomization issue and I am even able to host games with the matchmaking server.
How/Why this is now fixed is beyond me.
Re: [0.13.3] Unable to determine external IP address
Posted: Thu Jul 14, 2016 8:45 am
by knub23
So basically "magic" fixed your problem. I still can't figure out anything because my software/computer skills are not high enough. What I know is:
- It (opening a multiplayer game to play with friends) worked fine before 0.13 hit.
- It doesn't work anymore.
- Someone else had the same problem and fixed it by magic.
Well at least it works for you again. I removed port forwarding, enabled it again multiple times, tried different port numbers but that is all I am capable of, so I guess I have to hope for magic, too.
Re: [0.13.3] Unable to determine external IP address
Posted: Fri Jul 15, 2016 3:53 pm
by Bluelight
I stated this a while back and I have the same issue still.. I also get randomized port numbers, why can't the damn list server just place the port I put in the configs? Would be heck of a lot easier..
This is a router issue! But this is the first time I have ever seen it as an issue.. No other game or application have this problem.. And the ports are open, the server can be connected to using the direct connect.. It is listed in the server list and this problem started with 0.13.0 and I'm now 0.13.8 and it is still very much an issue.. There is no setting I can do in the router config that will change this.. I even got into admin mode and turned off the intrusion detection.. But it's still randomizing ports.. This is a weird and stupid problem and I cannot see why a game would need such a problematic system in place for listing servers.. It's listed! I has the default port open! And it should work! This is a stupid problem! And I waited eagerly for 0.13 to actually be listed and play on the server! If the default port is used, why not connect to that? If another port is used, connect to that.. Very easy!
Re: [0.13.3] Unable to determine external IP address
Posted: Fri Jul 15, 2016 7:51 pm
by xavizus
What for router modell do you have?
(Manufacturer and Modell)
Usually it's an NAT setting that does this in your router.
Re: [0.13.3] Unable to determine external IP address
Posted: Sat Jul 16, 2016 5:26 am
by Bluelight
THOMSON TG789vn
Re: [0.13.3] Unable to determine external IP address
Posted: Sun Dec 25, 2016 11:30 pm
by nr2117
Hi, see this is an old issue. I'm at my uncles house and he has a thomson tg585 as well. Going to do a quick test.
Tried making an exception for port 34197, assigned it to this computer, didn't work. Turned off extended security, didn't work, took off the exception for port 34197, didn't work.
At my other home, I've hosted a game, a friend was able to connect to it via the internet, my other friend who was playing on lan kept having bad lag issues. We pinged one another, response times was less than a milisecond.
Hope this can be fixed, and if others get this issue? The thomson router was the one given out by plusnet, other router with no problems was netgear.
Re: [0.13.3] Unable to determine external IP address
Posted: Mon Dec 26, 2016 8:03 pm
by impetus maximus
if there is no option to disable outgoing NAT with router you could either...
if you OWN the router you could try running OpenWRT on it.
if you have an old PC with 2 or more NICs, turn it into a router with something like https://opnsense.org/
SOHO routers are shet for running servers.
again only install OpenWRT if you own the equipment.