[1.1.39] IPv6 connection error on headless

Place for things which are bugs but we have no idea how to solve them. Things related to hardware, libraries, strange setups, etc.
Post Reply
oof2win2
Long Handed Inserter
Long Handed Inserter
Posts: 56
Joined: Wed Nov 18, 2020 8:13 am
Contact:

[1.1.39] IPv6 connection error on headless

Post by oof2win2 »

Hi. I have multiple servers and yesterday 4 of them crashed due to an IPv6 connection being attempted. I believe that it is odd, since the servers are set up to not accept IPv6 connections (or the IPv6 socket at least fails to initiate)

Here is a forum thread that has been moved to techincal help earlier this year: viewtopic.php?f=49&t=98636

Here is the relevant part of the log:

Code: Select all

   0.000 2021-09-19 17:48:21; Factorio 1.1.39 (build 58937, linux64, headless)
   0.034 Operating system: Linux (Ubuntu 20.04)
   0.034 Program arguments: "/opt/factorio/servers/awf-irregular/bin/x64/factorio" "--config" "/opt/factorio/servers/awf-irregular/config/config.ini" "--port" "39006" "--start-server-load-latest" "--server-settings" "/opt/factorio/servers/awf-irregular/server-settings.json" "--server-adminlist" "/opt/factorio/servers/server-adminlist.json" "--server-banlist" "/opt/factorio/banlist.json" "--rcon-port" "39006" "--rcon-password" <private> 
   0.034 Read data path: /opt/factorio/servers/awf-irregular/data
   0.034 Write data path: /opt/factorio/servers/awf-irregular [108473/223812MB]
   0.034 Binaries path: /opt/factorio/servers/awf-irregular/bin
   0.041 System info: [CPU: Intel(R) Core(TM) i7-6800K CPU @ 3.40GHz, 12 cores, RAM: 32017 MB]
   0.041 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.041 Running in headless mode
   0.082 Loading mod core 0.0.0 (data.lua)
   0.137 Loading mod base 1.1.39 (data.lua)
   0.427 Loading mod base 1.1.39 (data-updates.lua)
   0.529 Checksum for core: 2513062293
   0.529 Checksum of base: 1955203571
   0.722 Prototype list checksum: 3034860339
   0.766 Info PlayerData.cpp:71: Local player-data.json available, timestamp 1632073701
   0.766 Info PlayerData.cpp:78: Cloud player-data.json unavailable
   0.769 Factorio initialised
   0.771 Info ServerSynchronizer.cpp:29: nextHeartbeatSequenceNumber(0) initialized Synchronizer nextTickClosureTick(0).
   0.771 Info ServerMultiplayerManager.cpp:780: updateTick(4294967295) changing state from(Ready) to(PreparedToHostGame)
   0.771 Info ServerMultiplayerManager.cpp:780: updateTick(4294967295) changing state from(PreparedToHostGame) to(CreatingGame)
   0.771 Loading map /opt/factorio/servers/awf-irregular/saves/_autosave1.zip: 15229068 bytes.
   0.822 Loading level.dat: 51432683 bytes.
   0.836 Info Scenario.cpp:197: Map version 1.1.39-0
   1.954 Loading script.dat: 560507 bytes.
...
   2.026 Info UDPSocket.cpp:27: Opening socket at (IP ADDR:({X.X.X.X:39006}))
   2.028 Warning UDPSocket.cpp:156: Failed to open IPv6 socket (Address family not supported by protocol), continuing with IPv4 only
   2.028 Hosting game at IP ADDR:({X.X.X.X:39006})
   2.029 Info HttpSharedState.cpp:54: Downloading https://auth.factorio.com/generate-server-padlock-2?api_version=4
   2.410 Info AuthServerConnector.cpp:68: Obtained serverPadlock for serverHash (TUfPhTG8ssE3Pqj0iEInTAmMccQY8b6l) from the auth server.
   2.410 Info ServerMultiplayerManager.cpp:780: updateTick(10854001) changing state from(CreatingGame) to(InGame)
   2.548 Info ServerRouter.cpp:642: Asking pingpong servers (pingpong1.factorio.com:34197, pingpong2.factorio.com:34197, pingpong3.factorio.com:34197, pingpong4.factorio.com:34197) for own address
   2.549 Info RemoteCommandProcessor.cpp:130: Starting RCON interface at IP ADDR:({X.X.X.X:39006})
   2.549 Info CommandLineMultiplayer.cpp:278: Maximum segment size = 100; minimum segment size = 25; maximum-segment-size peer count = 10; minimum-segment-size peer count = 20
   2.667 Info ServerRouter.cpp:525: Own address is IP ADDR:({X.X.X.X:39006}) (confirmed by pingpong1)
   2.668 Info ServerRouter.cpp:525: Own address is IP ADDR:({X.X.X.X:39006}) (confirmed by pingpong3)
   2.836 Info ServerRouter.cpp:525: Own address is IP ADDR:({X.X.X.X:39006}) (confirmed by pingpong4)
   3.023 Info MatchingServer.cpp:114: Matching server game `10703133` has been created.
   3.038 Info ServerMultiplayerManager.cpp:712: Matching server connection resumed
...
266279.748 Error Util.cpp:83: Cannot send to IPv6 addresses when IPv6 socket is closed
266280.372 Info ServerMultiplayerManager.cpp:113: Disconnecting multiplayer connection.
266280.372 Info ServerMultiplayerManager.cpp:780: updateTick(4294967295) changing state from(InGame) to(DisconnectingScheduled)
266280.455 Info ServerMultiplayerManager.cpp:140: Quitting multiplayer connection.
266280.455 Info ServerMultiplayerManager.cpp:780: updateTick(4294967295) changing state from(DisconnectingScheduled) to(Closed)
266280.456 Info HttpSharedState.cpp:54: Downloading https://multiplayer.factorio.com/remove-game/10703133
266280.942 Info UDPSocket.cpp:218: Closing socket
266280.942 Info UDPSocket.cpp:248: Socket closed
266280.944 Goodbye
This bug can obviously be resolved by blocking IPv6 connections network-wide, however I believe that it is a bug, since the server logged that the IPv6 connection was not initated in the first place.
Attachments
_factorio-current.log
Logfile
(494.86 KiB) Downloaded 178 times

Rseding91
Factorio Staff
Factorio Staff
Posts: 13202
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [1.1.39] IPv6 connection error on headless

Post by Rseding91 »

Did anything more ever happen with this? We haven't changed the networking code in a long time and what I said on the other topic still applies.

As far as I know (somebody correct me of I'm wrong): in order for the game to get an IPv6 packet it needs to have the socket on the operating system side accept the IPv6 packet and forward it to the game.
If you want to get ahold of me I'm almost always on Discord.

Post Reply

Return to “1 / 0 magic”