[Oxyd] [1.1.53] Multiplayer fails silently to sync specific mod settings
Posted: Mon Feb 21, 2022 12:55 am
This report is the outcome of investigating my LAN headless server issues (viewtopic.php?f=49&t=101460). With certain mods and mod settings, joining the game does not correctly synchronize the mod settings, and causes the client and server to reach different stages of the handshake process. Specifically, the client times out saying "cannot communicate with server", while the server log contains either no mention of the connection attempt or "Refusing connection ... ModSettingsMismatch". This occurs even when the client and server mod settings are identical (manually synchronized).
To reproduce:
Use the attached mod-list.json, mod-settings.dat, and save file. Download Alien Biomes, Dectorio 0.12.5 (version is important), and Asphalt Paving. Start a server, either headless or with the client. With another fresh Factorio install, try to synchronize and connect to the server. It should download the three mods on the first connection attempt, and then fail on the second one without ever presenting the "sync mod settings with server" dialog box.
Removing any one of the three mods from the server results in the settings synchronizing correctly and making the connection. It may even have something to do with vestigial data in this particular mod-settings.dat for mods that are not currently enabled. Another possible contributor is the fact that version 0.12.5 of Dectorio has conditional "require" statements during loading, which may not be triggering the correct error handlers resulting in a silent failure.
If this does not cause an error for some reason, I'll try to find another case that does. I have had some trouble reproducing the problem, but it is very consistent when I reach an affected configuration.
To reproduce:
Use the attached mod-list.json, mod-settings.dat, and save file. Download Alien Biomes, Dectorio 0.12.5 (version is important), and Asphalt Paving. Start a server, either headless or with the client. With another fresh Factorio install, try to synchronize and connect to the server. It should download the three mods on the first connection attempt, and then fail on the second one without ever presenting the "sync mod settings with server" dialog box.
Removing any one of the three mods from the server results in the settings synchronizing correctly and making the connection. It may even have something to do with vestigial data in this particular mod-settings.dat for mods that are not currently enabled. Another possible contributor is the fact that version 0.12.5 of Dectorio has conditional "require" statements during loading, which may not be triggering the correct error handlers resulting in a silent failure.
If this does not cause an error for some reason, I'll try to find another case that does. I have had some trouble reproducing the problem, but it is very consistent when I reach an affected configuration.