Version 1.1.61

Information about releases and roadmap.
Post Reply
User avatar
FactorioBot
Factorio Staff
Factorio Staff
Posts: 360
Joined: Tue May 12, 2015 1:48 pm

Version 1.1.61

Post 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.

Pi-C
Smart Inserter
Smart Inserter
Posts: 1274
Joined: Sun Oct 14, 2018 8:13 am
Contact:

Re: Version 1.1.61

Post 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:
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!

Mernom
Fast Inserter
Fast Inserter
Posts: 115
Joined: Sun Jul 15, 2018 10:05 pm
Contact:

Re: Version 1.1.61

Post 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?

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 1198
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Version 1.1.61

Post 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/

Pi-C
Smart Inserter
Smart Inserter
Posts: 1274
Joined: Sun Oct 14, 2018 8:13 am
Contact:

Re: Version 1.1.61

Post 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.
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!

User avatar
ptx0
Smart Inserter
Smart Inserter
Posts: 1358
Joined: Wed Jan 01, 2020 7:16 pm
Contact:

Re: Version 1.1.61

Post 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.

Pi-C
Smart Inserter
Smart Inserter
Posts: 1274
Joined: Sun Oct 14, 2018 8:13 am
Contact:

Re: Version 1.1.61

Post 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
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!

Mernom
Fast Inserter
Fast Inserter
Posts: 115
Joined: Sun Jul 15, 2018 10:05 pm
Contact:

Re: Version 1.1.61

Post 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'.)

Qon
Smart Inserter
Smart Inserter
Posts: 1744
Joined: Thu Mar 17, 2016 6:27 am
Contact:

Re: Version 1.1.61

Post 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

Xorimuth
Filter Inserter
Filter Inserter
Posts: 429
Joined: Sat Mar 02, 2019 9:39 pm
Contact:

Re: Version 1.1.61

Post by Xorimuth »

Also missing from the changelog is the 'prerequisite' field in https://lua-api.factorio.com/latest/Lua ... ting_queue

Post Reply

Return to β€œReleases”