Page 1 of 1

Version 1.1.61

Posted: Thu Jun 23, 2022 10:53 am
by FactorioBot
Changes
  • The game no longer requires re-entering server passwords when restarting to sync mods or mod settings.
  • When joining modded games mods and settings are synced at the same time reducing the number of restarts needed.
Bugfixes
  • Fixed server getting stuck at "Saving the map for player" for 20 seconds sometimes if a client disconnects shortly after connecting.
  • Fixed server getting stuck at "Saving the map for player" forever in some rare situations.
  • Fixed highlight box on curved-rail would not render selection box correctly. (102601)
  • Fixed heavy-mode when character dies in multiplayer. (102624)
  • Fixed that the "run forest, run" achievement could be unlocked by shooting trees instead of running them over. (102623)
  • Fixed a crash when trying to read LuaEntity::neighbours on a WallConnectable when one of the neighbours is a ghost. (102630)
  • Fixed recipe highlights in the assembling machine GUI. (102612)
  • Fixed an issue with the prototype explorer GUI and guns. (102658)
  • Fixed false-positive desyncs when using mods and running /c game.force_crc() or /toggle-heavy-mode (102655)
  • Fixed a crash when defining a fluid stream prototype with zero particles. (102679)
  • Fixed a GUI layering issue related to some error messages. (102569)
  • Fixed not being able to open blueprint books in books through the quickbar. (102681)
  • Fixed LuaSurface::find_entities_filtered would fail to find entities by collision mask if they only collide with tiles. (102706)
  • Fixed that pump that cannot interact with fluid wagons would crash on save after position change. (102643)
Modding
  • The mod settings GUI will now show the 'tooltip' icon for any settings that have tooltips.
  • Added a reset button to each mod setting in the mod settings GUI.
Scripting
  • Added LuaControl::crafting_queue_progress write.
  • Added LuaTile::tile_ghost.
  • Added 'to_be_deconstructed', and 'has_tile_ghost' filters to the options for LuaSurface::find_tiles_filtered.
  • Added LuaEntityPrototype::indexed_guns. It works as LuaEntityPrototype::guns but returns an array.
  • Collision-mask prototype filters for Entity, Tile and Decorative now support a 'contains-any' and 'contains-all' modes.
Use the automatic updater if you can (check experimental updates in other settings) or download full installation at http://www.factorio.com/download/experimental.

Re: Version 1.1.61

Posted: Thu Jun 23, 2022 12:25 pm
by Pi-C
FactorioBot wrote:
Thu Jun 23, 2022 10:53 am
Changes
  • When joining modded games mods and settings are synced at the same time reducing the number of restarts needed.
Thanks, that will be useful! :-)
Modding
  • The mod settings GUI will now show the 'tooltip' icon for any settings that have tooltips.
  • Added a reset button to each mod setting in the mod settings GUI.
Great! I've just reverted the color-coding of Boolean mod settings for some of my mods. This clearly is obsolete now that the game will tell you whether a given setting has been changed or is still at its default value.

I've also noticed that the in-game changelog parser will sort versions in descending order (latest version at the top, oldest version at the bottom).Too bad this changelog viewer change didn't make it into the changelog! :mrgreen:

Re: Version 1.1.61

Posted: Thu Jun 23, 2022 12:53 pm
by Mernom
`When joining modded games mods and settings are synced at the same time reducing the number of restarts needed.`
Does this fix the issue with conditional require () calls breaking multiplayer?

Re: Version 1.1.61

Posted: Thu Jun 23, 2022 1:10 pm
by FuryoftheStars
FactorioBot wrote:
Thu Jun 23, 2022 10:53 am
Modding
  • The mod settings GUI will now show the 'tooltip' icon for any settings that have tooltips.
Just as I started manually putting those in, too. :lol:
FactorioBot wrote:
Thu Jun 23, 2022 10:53 am
  • Added a reset button to each mod setting in the mod settings GUI.
Yay!! \o/

Re: Version 1.1.61

Posted: Thu Jun 23, 2022 1:12 pm
by Pi-C
Mernom wrote:
Thu Jun 23, 2022 12:53 pm
`When joining modded games mods and settings are synced at the same time reducing the number of restarts needed.`
Does this fix the issue with conditional require () calls breaking multiplayer?
No, it shouldn't. As I understand it, this will save a restart after you've changed startup settings, which can affect what prototypes will be created in the data stage, and what properties the prototypes have. But there are the other setting types (map settings which will be the same for all players, and individual per-player settings). Conditionally requiring a file based on the value of a per-player-setting would still result in desyncs.

Re: Version 1.1.61

Posted: Thu Jun 23, 2022 6:11 pm
by ptx0
Pi-C wrote:
Thu Jun 23, 2022 1:12 pm
Mernom wrote:
Thu Jun 23, 2022 12:53 pm
`When joining modded games mods and settings are synced at the same time reducing the number of restarts needed.`
Does this fix the issue with conditional require () calls breaking multiplayer?
No, it shouldn't. As I understand it, this will save a restart after you've changed startup settings, which can affect what prototypes will be created in the data stage, and what properties the prototypes have. But there are the other setting types (map settings which will be the same for all players, and individual per-player settings). Conditionally requiring a file based on the value of a per-player-setting would still result in desyncs.
the fix would be: the setting is applied at the same time the mods are enabled, thus, the conditional would be the same from the beginning.

Re: Version 1.1.61

Posted: Thu Jun 23, 2022 6:49 pm
by Pi-C
ptx0 wrote:
Thu Jun 23, 2022 6:11 pm
Pi-C wrote:
Thu Jun 23, 2022 1:12 pm
Mernom wrote:
Thu Jun 23, 2022 12:53 pm
`When joining modded games mods and settings are synced at the same time reducing the number of restarts needed.`
Does this fix the issue with conditional require () calls breaking multiplayer?
No, it shouldn't. As I understand it, this will save a restart after you've changed startup settings, which can affect what prototypes will be created in the data stage, and what properties the prototypes have. But there are the other setting types (map settings which will be the same for all players, and individual per-player settings). Conditionally requiring a file based on the value of a per-player-setting would still result in desyncs.
the fix would be: the setting is applied at the same time the mods are enabled, thus, the conditional would be the same from the beginning.
This should be OK:

Code: Select all

if settings.startup["my-setting"] and settings.startup["my-setting"].value == "my-value" then
	require("external_file")
end
The startup settings will be the same for all players, so there's nothing that could desync.

This should break:

Code: Select all

if settings.get_player_settings(player)["setting-name"].value then
	require("external_file")
end
But you could get this to work by listening to on_runtime_mod_setting_changed, storing the new setting in global, and use the stored setting for conditionally requiring files:

Code: Select all

script.events(defines.events.on_runtime_mod_setting_changed, function(event)
	global.player_settings[event.player_index] = global.player_settings[event.player_index]  or {}
	if event.setting_type == "runtime-per-user" and event.setting == "my-setting" then
		global.player_settings[event.player_index]["my-setting"] = settings.get_player_settings(event.player_index)["my-setting"].value
	end
end)

script.on_load(function()
	local must_load_file
	for p_index, settings in pairs(global.player_settings)
		if settings["my-setting"] == 123 then
			must_load_file = true
			break
		end
	end
	if must_load_file then
		require("external_file")
	end
end

Re: Version 1.1.61

Posted: Fri Jun 24, 2022 10:34 am
by Mernom
Pi-C wrote:
Thu Jun 23, 2022 1:12 pm
Mernom wrote:
Thu Jun 23, 2022 12:53 pm
`When joining modded games mods and settings are synced at the same time reducing the number of restarts needed.`
Does this fix the issue with conditional require () calls breaking multiplayer?
No, it shouldn't. As I understand it, this will save a restart after you've changed startup settings, which can affect what prototypes will be created in the data stage, and what properties the prototypes have. But there are the other setting types (map settings which will be the same for all players, and individual per-player settings). Conditionally requiring a file based on the value of a per-player-setting would still result in desyncs.
I was talking about data stage conditional requires. They are known to cause false version mismatches due to differences in the mod checksum (and the game checked for that BEFORE synching mod settings, which would fix the 'mismatch'.)

Re: Version 1.1.61

Posted: Fri Jun 24, 2022 2:02 pm
by Qon
Thanks for fixing changelog order! :D Can't see that change listed in the changelog though which is weird and meta. But it was annoying and now it's so much better <3

Re: Version 1.1.61

Posted: Sun Jun 26, 2022 12:59 am
by Xorimuth
Also missing from the changelog is the 'prerequisite' field in https://lua-api.factorio.com/latest/Lua ... ting_queue