thanks for an awesome game.
I have installed Factorio 0.16.36 by untarring factorio_alpha_x64_0.16.36.tar.xz on top of an existing install (0.16.27, and older before that). When joining any multiplayer game, I get the following error:
Log file attached. This happens for all servers. I am unable to join any multiplayer game. Single-player works as expected.Trying to apply migration 2017-12-09_Factorio_0.16.0.lua (Base Mod) while joining a multiplayer game
However, removing the file factorio/data/base/migrations/2017-12-09_Factorio_0.16.0.lua resolves the issue. Then I am able to join any multiplayer game.
Looking at which older versions I have installed previously, this file comes from one of the following installs:
- factorio_alpha_x64_0.16.0.tar.xz
- factorio_alpha_x64_0.16.1.tar.xz
- factorio_alpha_x64_0.16.4.tar.xz
- factorio_alpha_x64_0.16.7.tar.xz
Suggestion: this file is likely something that was added a long time ago, and should not be used in new installs (it is not present in factorio_alpha_x64_0.16.36.tar.xz). To help players that are upgrading, would it be possible that such old files would not get loaded? For example, would it be possible that instead of loading all files in that dir, that the game would keep a white-list of which files that should be loaded from data/base/migrations ? If having a white-list, any non-whitelisted file would not get loaded. Also, if you want to keep the build dynamic, you could have a hard-coded whitelist, and a unit test that verifies that the whitelist corresponds to the exact list of files of wherever you keep the sources of these migrations (so that if someone adds another migration file and forgets to add it to the whitelist, the unit test would fail).
Anyway, just a suggestion to make life easier for people upgrading from previous alpha versions.
You guys are the best.