[0.17.34] [mod, MP issue] Unable to join save created in 0.17.33 until saved/reloaded by the server.

Place to get help with not working mods / modding interface.
eduran
Filter Inserter
Filter Inserter
Posts: 344
Joined: Fri May 09, 2014 2:52 pm
Contact:

[0.17.34] [mod, MP issue] Unable to join save created in 0.17.33 until saved/reloaded by the server.

Post by eduran »

Save games created in 0.17.33 with LTN Tracker active do not allow anyone to join when hosted for the first time on a 0.17.34 server. Error message is

Code: Select all

Cannot join. The following mod script files are not identical between you and the server.

mod-LTN_Tracker
If the server is shut down (creating a new save in version 0.17.34) and restarted from there everything works. Single-player also shows no problems. Due to the relatively easy workaround this not a big deal, but I thought I should report it anyway.

Attached is an example save game showing this behavior, the LTN-Tracker mod and its dependencies.
Attachments
LogisticTrainNetwork_1.10.8.zip
(187.98 KiB) Downloaded 59 times
OpteraLib_0.1.6.zip
(8.62 KiB) Downloaded 48 times
LTN_Tracker_0.10.7.zip
(90.64 KiB) Downloaded 58 times
cannot_join.zip
(3.4 MiB) Downloaded 44 times
Rseding91
Factorio Staff
Factorio Staff
Posts: 16000
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [0.17.34] [mod, MP issue] Unable to join save created in 0.17.33 until saved/reloaded by the server.

Post by Rseding91 »

Thanks for the report. This error comes from mods implementing startup settings incorrectly and conditionally requiring stuff based off startup settings.
If you want to get ahold of me I'm almost always on Discord.
eduran
Filter Inserter
Filter Inserter
Posts: 344
Joined: Fri May 09, 2014 2:52 pm
Contact:

Re: [0.17.34] [mod, MP issue] Unable to join save created in 0.17.33 until saved/reloaded by the server.

Post by eduran »

Those three mods don't have any startup settings. And LTN Tracker does not do any conditional requires at all. Could you elaborate and what is implemented incorrectly here? Because LTNT is my mod and I am interested in fixing it.

Edit: I have a couple of questions, to better understand what the issue is.
First, my idea of how this works:
  1. Server loads map. This is equivalent to doing the same thing in singleplayer. on_init/on_load, migrations, on_configuration_changed all run. Server pauses game.
  2. Someone joins. The server saves the map and sends it to the client. This new save is different from the one originally created.
  3. Client loads this new save, resulting in a game state different from the server. Joining not possible.
Is this correct?

Assuming yes, which point of the Data Lifecycle does the client reach in point 3? Does it run control.lua init and on_load or does the state check happens before that?
Post Reply

Return to “Modding help”