[0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

This subforum contains all the issues which we already resolved.
Post Reply
AntiElitz
Filter Inserter
Filter Inserter
Posts: 445
Joined: Sat Aug 29, 2015 11:37 pm
Contact:

[0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by AntiElitz »

This happens eg. frequently on the comfy biter battle server:

- person tries to join
- ["____" is saving the map..] being displayed for everyone on the server
- game is stuck and pauses for everyone
- joining is not successful ever
- game is paused for everyone until the joining player is aborting the join attempt.

Let me know if you need any further information. It never happened to me on the joining side personally

Hanakocz
Inserter
Inserter
Posts: 39
Joined: Sun Jun 24, 2018 7:06 pm
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Hanakocz »

Just to add, this is actually happening for a while but is very rare and not tied to that single server, and even if that said person aborts and tries again, they make it stuck again. As long as this person is trying to fetch the map, all others are also waiting for map being saved for download. Only "offendor" hitting escape makes stuff working again.

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

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Loewchen »

A server log of the time of the issue would be helpful/necessary.

Brutarias
Manual Inserter
Manual Inserter
Posts: 1
Joined: Wed Dec 18, 2019 1:17 am
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Brutarias »

Hello,

I am also having the same issues when trying to connect to the server. Is there a known fix for this?

Thanks for the help.


Screenshot: https://imgur.com/9Lim2By


EDIT: I reloaded the game and refreshed the multiplayer search results a few times. I've managed to get into the server.

EDIT2: It seems the problem still persists but occasionally fixes itself.
Last edited by Brutarias on Wed Dec 18, 2019 2:39 am, edited 1 time in total.

Sastopher
Manual Inserter
Manual Inserter
Posts: 1
Joined: Wed Dec 18, 2019 1:38 am
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Sastopher »

I can confirm I get this with some regularity (half my attempts?) at joining biter battles multiplayer games. Hitting escape to cancel the attempt and attempting to join the server again (may take several attempts) is the workaround.

Anecdotally, it tends to happen more at the start of games (when the server and map are new, and lots of players are joining), but it could be coincidence.

User avatar
redlabel
Fast Inserter
Fast Inserter
Posts: 145
Joined: Mon Feb 06, 2017 8:50 pm
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by redlabel »

I guess Anti and others refer to Comfy servers. Known issue I wonder if its something about our code or some unoptimal factorio thing.

I found that sometimes manually forcing save server side fixes the problem.

Is this a different problem from when too many ppl join and gets bottlenecked somehow?
✧COMFY FACTORIO✧ - Home of Biter Battles, Fish Defense, Chronotrain.. And More!

Taishan
Manual Inserter
Manual Inserter
Posts: 2
Joined: Wed Jan 01, 2020 1:06 pm
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Taishan »

I tried to grab whatever is up just as this happens.


In this one it froze instantly when the character Dipsy joined
https://pastebin.com/nKBQC7j2

In this one it froze instantly when the character McWaffles joined
https://pastebin.com/u724HH02

In this one I don't remember who it stuck on, but it did get stuck
https://pastebin.com/iQnnV65Y

User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5150
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Klonan »

Can you provide a copy of the save game?

This looks like what happens when global is full of junk data, the time taken to serialize the script data can get pretty big

thuejk
Fast Inserter
Fast Inserter
Posts: 113
Joined: Fri Feb 13, 2015 8:41 pm
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by thuejk »

From the discord:

Thue: This seems unlikely. Aren't the other people joining at the same time able to download and join with the same save game?
James_Hackett: Nope, it queues up so one person can hold up 20 people waiting to download the map
Thue: Yes, but if the first person quits, do the next 19 still connect?
Taishan: I believe they do
Thue: That would seem to rule out the global is full of junk data thing, since the server is able to serialize it perfectly fine for the next 19.

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

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Loewchen »

What all "stuck" connection attempts have in common, is that in between

changing state from(InGame) to(InGameSavingMap) and received stateChanged peerID(32) oldState(Ready) newState(ConnectedWaitingForMap)

there is again a ConnectionRequestReplyConfirm from the peer that is supposed to get the map:

583.869 ConnectionRequestReplyConfirm (type(ConnectionRequestReplyConfirm) ) from(IP ADDR:({77.58.32.181:61666}))
583.869 Info ServerRouter.cpp:425: Replying to connectionRequest for address(IP ADDR:({77.58.32.181:61666}))


successful connections do not have this as far as I can tell.

User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5150
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Klonan »

I tried to join and reproduced the issue, log:

Code: Select all

   0.000 2020-01-01 16:04:15; Factorio 0.17.79 (build 47865, win64, steam)
   0.000 Operating system: Windows 10 (version 1903) 
   0.000 Program arguments: "D:\SteamLibrary\steamapps\common\Factorio\bin\x64\Factorio.exe" "--wait-to-close" "29388" 
   0.000 Read data path: D:/SteamLibrary/steamapps/common/Factorio/data
   0.000 Write data path: D:/SteamLibrary/steamapps/common/Factorio [192080/953866MB]
   0.000 Binaries path: D:/SteamLibrary/steamapps/common/Factorio/bin
   0.006 System info: [CPU: AMD Ryzen 5 2600X Six-Core Processor, 12 cores, RAM: 10251/16316 MB, page: 24815/34306 MB, virtual: 4326/134217727 MB, extended virtual: 0 MB]
   0.007 Display options: [FullScreen: 0] [VSync: 1] [UIScale: custom (100.0%)] [Native DPI: 1] [Screen: 255] [Special: lmw] [Lang: en]
   0.012 Available displays: 1
   0.012  [0]: \\.\DISPLAY1 - Radeon RX 580 Series {0x80005, [0,0], 2560x1440, 32bit, 60Hz}
   0.055 [Direct3D11] Display: 0, Output: 0, DisplayAdapter: 0, RenderingAdapter: 0; d3dcompiler_47.dll
   0.145 Initialised Direct3D[0]: Radeon RX 580 Series; id: 1002-67df; driver: aticfx64.dll 26.20.15002.61
   0.145   D3D Feature Level: 11.1, DXGI 1.5+, SwapChain: 3,flip-discard,-,-,-,none
   0.146   [Local Video Memory] Budget: 6946MB, CurrentUsage: 0MB, Reservation: 0/3677MB
   0.146   [Non-Local Vid.Mem.] Budget: 7342MB, CurrentUsage: 0MB, Reservation: 0/3875MB
   0.146   Tiled resources: Tier 2
   0.147   Unified Memory Architecture: No
   0.147   BGR 565 Supported: Yes
   0.147   MaximumFrameLatency: 3, GPUThreadPriority: 0
   0.149 Graphics settings preset: very-high
   0.149   Dedicated video memory size 8172 MB
   0.185 Desktop composition is active.
   0.185 Graphics options: [Graphics quality: high] [Video memory usage: all] [Light scale: 25%] [DXT: high-quality] [Color: 32bit]
   0.185                   [Max threads (load/render): 32/12] [Max texture size: 0] [Tex.Stream.: 0] [Rotation quality: low] [Other: sTDC]
   0.223 DSound: Starting _dsound_update thread
   0.223 DSound: Enter _dsound_update; tid=3476
   0.347 Logitech LED Controller initialized.
   0.412 Info ModManager.cpp:241: Found duplicate mod aai-programmable-vehicles, using higher version (0.5.33 > 0.5.31).
   0.438 Info ModManager.cpp:241: Found duplicate mod Aircraft, using higher version (1.6.12 > 1.6.11).
   0.522 Info ModManager.cpp:241: Found duplicate mod alien-biomes, using higher version (0.4.16 > 0.4.15).
   0.600 Info ModManager.cpp:241: Found duplicate mod aswil, using higher version (0.5.17 > 0.5.15).
   0.685 Info ModManager.cpp:241: Found duplicate mod Building_Time, using higher version (0.1.2 > 0.1.0).
   0.708 Info ModManager.cpp:241: Found duplicate mod Construction_Drones, using higher version (0.3.3 > 0.3.2).
   0.716 Info ModManager.cpp:241: Found duplicate mod deadlock-beltboxes-loaders, using higher version (2.2.3 > 2.2.2).
   0.754 Info ModManager.cpp:241: Found duplicate mod DiscoScience, using higher version (0.1.15 > 0.1.14).
   0.786 Info ModManager.cpp:241: Found duplicate mod FluidMustFlow, using higher version (1.2.1 > 1.1.1).
   0.839 Info ModManager.cpp:241: Found duplicate mod Krastorio, using higher version (1.4.46 > 1.4.34).
   0.868 Info ModManager.cpp:241: Found duplicate mod Krastorio-graphics, using higher version (0.1.8 > 0.1.5).
   0.878 Info ModManager.cpp:241: Found duplicate mod Load-Furn, using higher version (0.6.9 > 0.6.7).
   0.880 Info ModManager.cpp:241: Found duplicate mod Load-Furn, using higher version (0.7.0 > 0.6.9).
   0.883 Info ModManager.cpp:241: Found duplicate mod LogisticTrainNetwork, using higher version (1.11.7 > 1.11.1).
   0.885 Info ModManager.cpp:241: Found duplicate mod LTN_Combinator, using higher version (0.5.4 > 0.5.3).
   0.893 Info ModManager.cpp:241: Found duplicate mod miniloader, using higher version (1.8.4 > 1.8.3).
   0.896 Info ModManager.cpp:241: Found duplicate mod Mining_Drones, using higher version (0.1.13 > 0.1.10).
   0.999 Info ModManager.cpp:241: Found duplicate mod Rampant, using higher version (0.17.28 > 0.17.13).
   1.001 Info ModManager.cpp:241: Found duplicate mod Rampant, using higher version (0.17.31 > 0.17.28).
   1.013 Info ModManager.cpp:241: Found duplicate mod Repair_Turret, using higher version (0.2.5 > 0.2.4).
   1.018 Info ModManager.cpp:241: Found duplicate mod reverse-factory, using higher version (6.1.21 > 6.1.19).
   1.035 Info ModManager.cpp:241: Found duplicate mod SchallAlienLoot, using higher version (0.17.7 > 0.17.5).
   1.065 Info ModManager.cpp:241: Found duplicate mod space-exploration, using higher version (0.1.149 > 0.1.142).
   1.111 Info ModManager.cpp:241: Found duplicate mod space-exploration-graphics, using higher version (0.1.47 > 0.1.46).
   1.119 Info ModManager.cpp:241: Found duplicate mod space-exploration-postprocess, using higher version (0.1.44 > 0.1.43).
   1.124 Info ModManager.cpp:241: Found duplicate mod Squeak Through, using higher version (1.4.0 > 1.3.0).
   1.133 Info ModManager.cpp:241: Found duplicate mod territory_claim, using higher version (0.0.8 > 0.0.7).
   1.217 Loading mod core 0.0.0 (data.lua)
   1.320 Loading mod base 0.17.79 (data.lua)
   1.561 Loading mod base 0.17.79 (data-updates.lua)
   1.693 Checksum for core: 2035938594
   1.693 Checksum of base: 4156627525
   1.875 Prototype list checksum: 2767119397
   1.914 Loading sounds...
   1.968 Info PlayerData.cpp:70: Local player-data.json unavailable
   1.968 Info PlayerData.cpp:73: Cloud player-data.json available, timestamp 1577575185
   2.135 Initial atlas bitmap size is 16384
   2.170 Created atlas bitmap 16384x16376 [none]
   2.172 Created atlas bitmap 16384x9136 [none]
   2.173 Created atlas bitmap 8192x3892 [decal]
   2.174 Created atlas bitmap 16384x4864 [low-object, linear-minification]
   2.174 Created atlas bitmap 8192x3760 [mipmap, linear-minification, linear-magnification, linear-mip-level]
   2.175 Created atlas bitmap 16384x7168 [terrain, mipmap, linear-minification, linear-mip-level]
   2.175 Created atlas bitmap 4096x1600 [smoke, mipmap, linear-minification, linear-magnification]
   2.175 Created atlas bitmap 4096x1760 [icon, not-compressed, mipmap, linear-minification, linear-magnification, linear-mip-level]
   2.175 Created atlas bitmap 2048x192 [icon-background, not-compressed, mipmap, linear-minification, linear-magnification, linear-mip-level, ]
   2.175 Created atlas bitmap 8192x1632 [alpha-mask]
   2.177 Created atlas bitmap 16384x3680 [shadow, linear-magnification, alpha-mask]
   2.177 Created atlas bitmap 4096x1328 [shadow, mipmap, linear-magnification, alpha-mask]
   2.475 Atlases were not loaded from disk cache.
   2.482 Texture processor created (2048). GPU accelerated compression Supported: yes, Enabled: yes/yes. Test passed. YCoCgDXT PSNR: 35.83, BC3 PSNR: 33.82
  29.720 Parallel Sprite Loader initialized (threads: 11)
  34.643 Sprites loaded
  37.115 Sprite atlas cached.
  37.137 Generated mipmaps (4) for atlas [3] of size 16384x4864   
  37.148 Generated mipmaps (3) for atlas [4] of size 8192x3760   
  37.159 Generated mipmaps (3) for atlas [5] of size 16384x7168   
  37.170 Generated mipmaps (3) for atlas [6] of size 4096x1600   
  37.181 Generated mipmaps (5) for atlas [7] of size 4096x1760   
  37.193 Generated mipmaps (3) for atlas [11] of size 4096x1328   
  37.193 Custom mipmaps uploaded.
  37.241 Factorio initialised
 289.056 Info UDPSocket.cpp:27: Opening socket at (IP ADDR:({0.0.0.0:0}))
 297.260 Info UDPSocket.cpp:218: Closing socket
 297.260 Info UDPSocket.cpp:248: Socket closed
 297.260 Info UDPSocket.cpp:218: Closing socket
 297.267 Joining game IP ADDR:({195.216.56.235:32102})
 297.267 Info UDPSocket.cpp:33: Opening socket
 297.275 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(Ready) to(Connecting)
 297.431 Connection refused
 297.465 Info ClientMultiplayerManager.cpp:207: Quitting multiplayer connection.
 297.465 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(Connecting) to(Disconnected)
 297.470 Info HttpSharedState.cpp:54: Downloading https://auth.factorio.com/generate-user-server-key-2
 298.036 Info AuthServerConnector.cpp:138: Received key from auth server.
 298.036 Info UDPSocket.cpp:218: Closing socket
 298.036 Info UDPSocket.cpp:248: Socket closed
 298.036 Joining game IP ADDR:({195.216.56.235:32102})
 298.036 Info UDPSocket.cpp:33: Opening socket
 298.037 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(Ready) to(Connecting)
 298.229 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.229 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.245 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.279 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.313 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.345 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.379 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.413 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.445 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.479 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.513 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.545 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.579 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.613 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.645 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 298.713 Info ClientSynchronizer.cpp:35: Initialized Synchronizer local peer(1) latency(32).
 298.714 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(Connecting) to(ConnectedWaitingForMap)
 298.714 Info ClientRouter.cpp:221: ConnectionAccepted
 298.714 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ConnectionAcceptOrDeny) received from IP ADDR:({195.216.56.235:32102}): invalid state (Connected) for packet type
 321.328 Info ClientMultiplayerManager.cpp:906: Disconnect notification for peer (7)
 346.275 Info ClientMultiplayerManager.cpp:906: Disconnect notification for peer (32)
 379.886 Info ClientMultiplayerManager.cpp:906: Disconnect notification for peer (34)
 391.896 Info ClientMultiplayerManager.cpp:906: Disconnect notification for peer (63)
Upon reconnecting, joined successfull:

Code: Select all

 455.367 Info ClientMultiplayerManager.cpp:147: Disconnecting multiplayer connection. Reason: Quit.
 455.367 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(ConnectedWaitingForMap) to(DisconnectScheduled)
 455.381 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(DisconnectScheduled) to(WaitingForDisconnectConfirmation)
 455.481 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(WaitingForDisconnectConfirmation) to(Disconnected)
 455.482 Info ClientMultiplayerManager.cpp:906: Disconnect notification for peer (61)
 455.518 Info UDPSocket.cpp:218: Closing socket
 455.518 Info UDPSocket.cpp:248: Socket closed
 456.499 Info UDPSocket.cpp:27: Opening socket at (IP ADDR:({0.0.0.0:0}))
 460.404 Info UDPSocket.cpp:218: Closing socket
 460.404 Info UDPSocket.cpp:248: Socket closed
 460.404 Info UDPSocket.cpp:218: Closing socket
 460.405 Joining game IP ADDR:({195.216.56.235:32102})
 460.405 Info UDPSocket.cpp:33: Opening socket
 460.405 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(Ready) to(Connecting)
 460.579 Connection refused
 460.579 Info ClientMultiplayerManager.cpp:207: Quitting multiplayer connection.
 460.579 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(Connecting) to(Disconnected)
 460.581 Info HttpSharedState.cpp:54: Downloading https://auth.factorio.com/generate-user-server-key-2
 461.138 Info AuthServerConnector.cpp:138: Received key from auth server.
 461.139 Info UDPSocket.cpp:218: Closing socket
 461.139 Info UDPSocket.cpp:248: Socket closed
 461.139 Joining game IP ADDR:({195.216.56.235:32102})
 461.139 Info UDPSocket.cpp:33: Opening socket
 461.140 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(Ready) to(Connecting)
 461.329 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.329 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.345 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.379 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.429 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.463 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.495 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.529 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.563 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.595 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.629 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.663 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.695 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.729 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ServerToClientHeartbeat) received from IP ADDR:({195.216.56.235:32102}): invalid state (WaitingForAccept) for packet type
 461.813 Info ClientSynchronizer.cpp:35: Initialized Synchronizer local peer(1) latency(32).
 461.813 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(Connecting) to(ConnectedWaitingForMap)
 461.813 Info ClientRouter.cpp:221: ConnectionAccepted
 461.836 Info UnparsedNetworkMessage.cpp:91: Invalid packet (type ConnectionAcceptOrDeny) received from IP ADDR:({195.216.56.235:32102}): invalid state (Connected) for packet type
 463.379 Downloading file D:\SteamLibrary\steamapps\common\Factorio\temp\segments (36617 B, 73 blocks)
 463.576 Finished download (0 s, 36.6 kB, 187 kB/s)
 465.013 Info ClientMultiplayerManager.cpp:765: Received mapReadyForDownload
 465.013 Downloading file D:\SteamLibrary\steamapps\common\Factorio\temp\mp-download.zip (34622924 B, 68833 blocks)
 465.047 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(ConnectedWaitingForMap) to(ConnectedDownloadingMap)
 472.084 Finished download (7 s, 34.6 MB, 4.9 MB/s)
 472.084 Info TransferTarget.cpp:184: Received transfer block while not downloading
 472.314 Info ClientMultiplayerManager.cpp:745: updateTick(4294967295) map download finished creating scenario
 472.316 Info ClientMultiplayerManager.cpp:592: UpdateTick(4294967295) changing state from(ConnectedDownloadingMap) to(ConnectedLoadingMap)
 472.361 Loading map D:\SteamLibrary\steamapps\common\Factorio\temp\mp-download.zip: 34622924 bytes.
 473.914 Loading level.dat: 83244836 bytes.
 473.919 Info Scenario.cpp:187: Map version 0.17.79-0
 475.650 Loading script.dat: 251266 bytes.
 475.733 Checksum for script D:/SteamLibrary/steamapps/common/Factorio/temp/currently-playing/control.lua: 1994361326
 476.031 Info ClientMultiplayerManager.cpp:592: UpdateTick(167933) changing state from(ConnectedLoadingMap) to(TryingToCatchUp)
 477.030 Info GameActionHandler.cpp:4168: UpdateTick (168107) processed PlayerJoinGame peerID(65) playerIndex(34) mode(connect) 
 481.017 Info ClientMultiplayerManager.cpp:592: UpdateTick(168852) changing state from(TryingToCatchUp) to(WaitingForCommandToStartSendingTickClosures)
 481.095 Info ClientMultiplayerManager.cpp:592: UpdateTick(168852) changing state from(WaitingForCommandToStartSendingTickClosures) to(InGame)
 481.995 Info GameActionHandler.cpp:4168: UpdateTick (168852) processed PlayerJoinGame peerID(68) playerIndex(55) mode(create) 
 489.441 Info BlueprintShelf.cpp:717: Saving blueprint storage.
 489.795 Info AppManagerStates.cpp:1802: Saving finished
 490.961 Info ClientMultiplayerManager.cpp:147: Disconnecting multiplayer connection. Reason: Quit.
 490.961 Info ClientMultiplayerManager.cpp:592: UpdateTick(169380) changing state from(InGame) to(DisconnectScheduled)
 490.963 Info ClientMultiplayerManager.cpp:592: UpdateTick(169380) changing state from(DisconnectScheduled) to(WaitingForDisconnectConfirmation)
 491.079 Info ClientMultiplayerManager.cpp:592: UpdateTick(169380) changing state from(WaitingForDisconnectConfirmation) to(Disconnected)
 491.079 Info ClientMultiplayerManager.cpp:906: Disconnect notification for peer (68)
 491.457 Info UDPSocket.cpp:218: Closing socket
 491.457 Info UDPSocket.cpp:248: Socket closed
And save game here: https://drive.google.com/open?id=1VPSI6 ... jo2WDDCDaK
(Forum uploading didn't work for some reason)

Taishan
Manual Inserter
Manual Inserter
Posts: 2
Joined: Wed Jan 01, 2020 1:06 pm
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Taishan »

This one randomly stuck when the player Misha joined (no other players trying to join at that exact moment as far as I can tell)

https://pastebin.com/WBfBavee

tried to include saves. Not sure it worked so here are some external links

currently-running.zip
https://drive.google.com/file/d/1NxHSoN ... sp=sharing

StuckbiterbattlesMisha.zip
https://drive.google.com/file/d/1hGdPX_ ... sp=sharing

edit: these saves are from after that player pressed escape which we believe remove the freeze
Attachments
factorio-current.log
complete server log file
(141.36 KiB) Downloaded 105 times

Slackie
Inserter
Inserter
Posts: 24
Joined: Mon Mar 20, 2017 10:29 am
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Slackie »

Just a random thought, but could this lead a a denial-of-service attack against a Factorio server?

If someone wrote a program to emulate Factorio's connection process to another server and then just stayed connected without acknowledging the sent map data, would this result in nobody else being able to log into the server?

Seems like it would be a good idea to have a timeout in there (if it doesn't already exist), to prevent something malicious like this.

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1507
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by ptx0 »

Slackie wrote:
Thu Feb 20, 2020 6:16 pm
Just a random thought, but could this lead a a denial-of-service attack against a Factorio server?

If someone wrote a program to emulate Factorio's connection process to another server and then just stayed connected without acknowledging the sent map data, would this result in nobody else being able to log into the server?

Seems like it would be a good idea to have a timeout in there (if it doesn't already exist), to prevent something malicious like this.
well, it is unlikely if you verify user authentication with factorio.com, correct? or maybe not..

Slackie
Inserter
Inserter
Posts: 24
Joined: Mon Mar 20, 2017 10:29 am
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Slackie »

ptx0 wrote:
Thu Feb 20, 2020 6:28 pm
well, it is unlikely if you verify user authentication with factorio.com, correct? or maybe not..
I don't know the details enough to say one way or the other, but even if authentication is required, you could still perform the denial-of-service attack, you'd just need a valid user account to do so.

Mokkun
Manual Inserter
Manual Inserter
Posts: 2
Joined: Tue Feb 25, 2020 11:12 pm
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Mokkun »

Yes, you can perform a denial of service attack. It happens pretty often for me when I try to join comfy servers. If I was a malicious person I would leave factorio stuck on "Waiting for server to save game" message for hours. The server is frozen for everyone till I press ESC or admin restarts the server.

Server should not lock up in the first place, so timeout is just a poor band-aid.

This still happens on 0.18.9.

M.

Gizan
Burner Inserter
Burner Inserter
Posts: 8
Joined: Mon Mar 12, 2018 6:19 pm
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Gizan »

This happens to me on other servers as well. I have to close my client, reopen it, and the problem "usually" goes away.

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

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by Rseding91 »

I would love to fix this, but nobody has any reliable reproduction steps so I can't debug it.
If you want to get ahold of me I'm almost always on Discord.

AntiElitz
Filter Inserter
Filter Inserter
Posts: 445
Joined: Sat Aug 29, 2015 11:37 pm
Contact:

Re: [0.17.79] Multiplayer game stuck while saving game for unsuccessfully joining player

Post by AntiElitz »

Rseding91 wrote:
Wed Feb 26, 2020 3:37 pm
I would love to fix this, but nobody has any reliable reproduction steps so I can't debug it.
I know you guys were able to reproduce it unreliably and really tried to fix it, but nobody knows a reason/ solution for it yet. May there be a possibility that you can Implement a workaround for it? Most often one can still connect to a server when canceling and retrying to connect for 2 to 5 times. A potential workaround for a client could be to have an automatic timeout after 10 seconds retrying to connect again automatically like 5 times before giving up eventually.
The current situation can be very frustrating for the players on the server, because the server pauses and the clients often don't know about this bug and don't cancel it / go afk. So there are situations where the game is paused for like 30 minutes before a client gives up to connect and the game can resume.

I think the result would be acceptable for the players and I really appreciate any afford you put into this to fix it! :)

Post Reply

Return to “Resolved Problems and Bugs”