Note, in both problems below, I first found when trying to test with my own scenario. However, I switched to the default freeplay scenario to rule out anything in my scenario causing problems.
FIRST PROBLEM: - less important, easier to work around.
I just downloaded 0.17.14 on my linux server. I tried to use the map-settings.example.json and got an error:
Launch:
Code: Select all
0.000 2019-03-15 22:51:15; Factorio 0.17.14 (build 43773, linux64, headless)
0.049 Operating system: Linux (Ubuntu 16.04)
0.049 Program arguments: "/mnt/ssd/factorio_0.17/factorio/bin/x64/factorio" "--start-server-load-scenario" "freeplay" "--map-settings" "map-settings-oarc.json" "--server-settings" "oarc-server-settings.json" "--server-banlist" "banlist.json"
0.049 Read data path: /mnt/ssd/factorio_0.17/factorio/data
0.049 Write data path: /mnt/ssd/factorio_0.17/factorio [174142/234602MB]
0.049 Binaries path: /mnt/ssd/factorio_0.17/factorio/bin
0.063 System info: [CPU: AMD Phenom(tm) II X4 955 Processor, 4 cores, RAM: 16047 MB]
0.063 Environment: DISPLAY=<unset>, WAYLAND_DISPLAY=<unset>
0.063 Running in headless mode
0.067 Loading mod core 0.0.0 (data.lua)
0.122 Loading mod base 0.17.14 (data.lua)
0.380 Loading mod base 0.17.14 (data-updates.lua)
0.510 Checksum for core: 2126933501
0.510 Checksum of base: 1281086707
1.170 Info PlayerData.cpp:67: Local player-data.json available, timestamp 1552704434
1.170 Info PlayerData.cpp:74: Cloud player-data.json unavailable
1.171 Custom inputs active: 0
1.173 Factorio initialised
1.174 Info GlobalContext.cpp:686: Waiting for child processes to exit:
1.176 Info ServerMultiplayerManager.cpp:138: Quitting multiplayer connection.
1.176 Info ServerMultiplayerManager.cpp:714: updateTick(4294967295) changing state from(Ready) to(Closed)
1.210 Goodbye
0.000 Error Util.cpp:83: Key "enemy_attack_pollution_consumption_modifier" not found in property tree at ROOT.pollution
0.000 Error Util.cpp:83: Key "enemy_attack_pollution_consumption_modifier" not found in property tree at ROOT.pollution
Fix:
Added "enemy_attack_pollution_consumption_modifier": 1 to the map-settings.json file in the pollution category at the end of the list.
Note:
This happened to me on 0.17.12 and 0.17.14. I almost posted before but was not able to reproduce the issue again while on 0.17.12.
I upgrade my server by overwriting the existing installation folder. Could this be the problem? I have not tried a "fresh" install yet since I need to figure out which files/folders to keep between installs.
Question:
Is it expected that you have to have a "FULL" map-settings.json file, that you can't just have only the settings that you want to modify?
SECOND PROBLEM - more important, no easy workaround
--map-settings do not seem to have any effect when I launch with --start-server-load-scenario
I have tested disabling pollution, enemy evolution, enemy evo factors. Nothing seems to take effect.
I check in game by running commands like:
/c game.player.print(game.map_settings.enemy_evolution.enabled)
--map-settings file has this disabled, but yet it's enabled in game.
Same procedure as above.
I have no known work around other than providing a runtime way to configure map_settings in the scenario code itself. Which is not ideal ofcourse.
I asked around a lot on forums/discord and got no answer as to other people struggling with the same issue. Either I'm the only one trying to use this feature or I'm doing something wrong?
Thanks,
Oarc