Server is reachable via direct connect but not via server browser

Anything that prevents you from playing the game properly. Do you have issues playing for the game, downloading it or successfully running it on your computer? Let us know here.
Post Reply
Speeedymauss
Manual Inserter
Manual Inserter
Posts: 3
Joined: Sat Mar 16, 2019 5:04 pm
Contact:

Server is reachable via direct connect but not via server browser

Post by Speeedymauss »

Hi everyone,
I'm desperate for something on my Factorio server right now. If I connect to my server via the public DNS address, I can join but not if I select the server in the server browser.
The server is hosted by myself and between the server and the internet is a pfSense firewall. On my Firewall is a rule to forward port 34197 so my factorio server.

How is it possible, that i can connect directly to my server but not via the server browser?

Any suggestions?

Last log:

Code: Select all

0.015 2019-07-22 11:58:37; Factorio 0.17.58 (build 46193, linux64, headless)
   0.065 Operating system: Linux (Ubuntu 16.04)
   0.065 Program arguments: "/opt/factorio/bin/x64/factorio" "--config" "/opt/factorio/config/config.ini" "--port" "34197" "--start-server-load-latest" "--server-settings" "/opt/factorio/data/server-settings.json" "--server-adminlist" "/opt/factorio/data/server-adminlist.json"
   0.065 Read data path: /opt/factorio/data
   0.065 Write data path: /opt/factorio [42047/47244MB]
   0.065 Binaries path: /opt/factorio/bin
   0.073 System info: [CPU:           Intel(R) Xeon(R) CPU E31240 @ 3.30GHz, 4 cores, RAM: 3007 MB]
   0.073 Environment: DISPLAY=<unset> WAYLAND_DISPLAY=<unset> DESKTOP_SESSION=<unset> XDG_SESSION_DESKTOP=<unset> XDG_CURRENT_DESKTOP=<unset> __GL_FSAA_MODE=<unset> __GL_LOG_MAX_ANISO=<unset> __GL_SYNC_TO_VBLANK=<unset> __GL_SORT_FBCONFIGS=<unset> __GL_YIELD=<unset>
   0.073 Running in headless mode
   0.077 Loading mod core 0.0.0 (data.lua)
   0.140 Loading mod base 0.17.58 (data.lua)
   0.382 Loading mod base 0.17.58 (data-updates.lua)
   0.508 Checksum for core: 716058110
   0.508 Checksum of base: 2272799319
   0.759 Info PlayerData.cpp:67: Local player-data.json available, timestamp 1563789473
   0.759 Info PlayerData.cpp:74: Cloud player-data.json unavailable
   0.761 Custom inputs active: 0
   0.805 Factorio initialised
   0.849 Info HttpSharedState.cpp:54: Downloading https://auth.factorio.com/api-login?api_version=2
   1.643 Info AuthServerConnector.cpp:171: Got token from auth server for username(Speeedymauss).
   1.644 Info ServerSynchronizer.cpp:30: nextHeartbeatSequenceNumber(0) initialized Synchronizer nextTickClosureTick(0).
   1.644 Info ServerMultiplayerManager.cpp:776: updateTick(4294967295) changing state from(Ready) to(PreparedToHostGame)
   1.644 Info ServerMultiplayerManager.cpp:776: updateTick(4294967295) changing state from(PreparedToHostGame) to(CreatingGame)
   1.644 Loading map /opt/factorio/saves/Spiel01.zip: 1053611 bytes.
   1.660 Loading level.dat: 1681831 bytes.
   1.664 Info Scenario.cpp:187: Map version 0.17.58-0
   1.702 Loading script.dat: 328 bytes.
   1.704 Checksum for script /opt/factorio/temp/currently-playing/control.lua: 1876143224
   1.707 Info UDPSocket.cpp:27: Opening socket at (IP ADDR:({0.0.0.0:34197}))
   1.707 Hosting game at IP ADDR:({0.0.0.0:34197})
   1.707 Info ServerMultiplayerManager.cpp:776: updateTick(906) changing state from(CreatingGame) to(InGame)
   1.819 Info ServerRouter.cpp:616: Asking pingpong servers (pingpong1.factorio.com:34197, pingpong2.factorio.com:34197, pingpong3.factorio.com:34197, pingpong4.factorio.com:34197) for own address
   1.819 Info UDPSocket.cpp:39: Opening socket for broadcast
   1.921 Info ServerRouter.cpp:495: Own address is IP ADDR:({[my public ip]:61477}) (confirmed by pingpong1)
   1.939 Info ServerRouter.cpp:495: Own address is IP ADDR:({[my public ip]:61477}) (confirmed by pingpong3)
   2.107 Info ServerRouter.cpp:495: Own address is IP ADDR:({[my public ip]:61477}) (confirmed by pingpong4)
   2.403 Info MatchingServer.cpp:107: Matching server game `5676974` has been created.
   2.410 Info ServerMultiplayerManager.cpp:705: Matching server connection resumed

Loewchen
Global Moderator
Global Moderator
Posts: 8319
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: Server is reachable via direct connect but not via server browser

Post by Loewchen »

Because your server contacted the pingpong servers with a different port that is not forwarded.

User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 2250
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: Server is reachable via direct connect but not via server browser

Post by boskid »

This may be related to viewtopic.php?f=7&t=62792#p443290

If you setup port forwarding, this creates DNAT, but since first packet is outgoing it may not be linked with DNAT rule in firewall (not incoming, not related). This creates temporary SNAT rule for contacting pingpong server and this is why external port is different. This may need to be tested thoroughly. Maybe solution would be for pingpong server to send response to two ports: one related to ip:port from incoming request and one to ip of incoming request but using port explicitly pointed by host contacting pingpong

Speeedymauss
Manual Inserter
Manual Inserter
Posts: 3
Joined: Sat Mar 16, 2019 5:04 pm
Contact:

Re: Server is reachable via direct connect but not via server browser

Post by Speeedymauss »

Hi,
I've looked further into that. It looks like my Fritzbox is the problem. I captured the packages that pass by there. On the LAN side everything is still ok. Port 34197 to 34197. But on the WAN side the Fritzbox uses another source port and forwards it to 34197. But I haven't found a way to change this on the Fritzbox yet. :cry:
Looks like that the Fritzbox uses some kinde of port randomization but there is no way to disable this...

Post Reply

Return to “Technical Help”