Page 1 of 1

[16.36] 2017-12-09_Factorio_0.16.0.lua prevents map loading

Posted: Sat Apr 14, 2018 7:24 pm
by iostr
Hi,

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:
Trying to apply migration 2017-12-09_Factorio_0.16.0.lua (Base Mod) while joining a multiplayer game
cannot-load-downloaded-map.png
cannot-load-downloaded-map.png (2.45 MiB) Viewed 1744 times
Log file attached.
factorio-current.log
(7.07 KiB) Downloaded 96 times
This happens for all servers. I am unable to join any multiplayer game. Single-player works as expected.

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
My issue is resolved by removing this file. But we all want Factorio to be as polished as possible, obviously.

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.

Re: [16.36] 2017-12-09_Factorio_0.16.0.lua prevents map loading

Posted: Sun Apr 15, 2018 7:42 am
by chrisgbk
iostr wrote:Hi,

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:
Trying to apply migration 2017-12-09_Factorio_0.16.0.lua (Base Mod) while joining a multiplayer game
cannot-load-downloaded-map.png
Log file attached.
factorio-current.log
This happens for all servers. I am unable to join any multiplayer game. Single-player works as expected.

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
My issue is resolved by removing this file. But we all want Factorio to be as polished as possible, obviously.

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.
You should have either ran the updater to get to the newest version, or installed fresh. Installing over top leaves files that may have been removed in a certain version. The updater removes these files as it patches.

The game thinks there was a migration that needs to be ran as a result.

You should be able to fix by removing the bin, data, and doc-html folders, and re-extracting.

Re: [16.36] 2017-12-09_Factorio_0.16.0.lua prevents map loading

Posted: Sun Apr 15, 2018 2:56 pm
by Rseding91
chrisgbk wrote:You should have either ran the updater to get to the newest version, or installed fresh. Installing over top leaves files that may have been removed in a certain version. The updater removes these files as it patches.

The game thinks there was a migration that needs to be ran as a result.

You should be able to fix by removing the bin, data, and doc-html folders, and re-extracting.
Correct. That's exactly what this check is telling you; you have extra files you aren't meant to have because you updated the game incorrectly.