Factorio News & Announcements
Changes from 1.1.77 to 1.1.80

Minor Features

  • In the blueprint preview window, deselecting all train fuel items disables the 'Train fuel' option. (This was already the case for modules. https://forums.factorio.com/102804)

Graphics

  • Added support for Wayland on Linux. To enable it, set SDL_VIDEODRIVER=wayland in your environment. (thanks to raiguard)

Changes

  • Music no longer fades out on technology screen. more
  • On macOS, when AZERTY keyboard layout is used, the shortcut for Undo will default to Cmd + Z instead of Cmd + W. more

Bugfixes

  • Fixed 'on_string_translated' event having incorrect localised_string parameter for fallback groups.
  • Fixed that LuaPlayer::cursor_stack_temporary returned false for pasted blueprints. more
  • Fixed size issues related to mod relative GUIs. more
  • Fixed that item request proxies could be created through script with a count of 0. more
  • Fixed that electric energy interface entities didn't use the render layer defined in the prototype for animations. more
  • Fixed a memory corruption issue when saving under linux with async saving enabled. more
  • Fixed ping shown for a server in the multiplayer games browser sometimes not updating correctly.
  • Fixed the game would fail to load sprites with some mods when max texture size was set to 2048. more
  • Fixed centrifuge uranium glow effect flickering on and off on arm64 builds.
  • Fixed a scripting error in tips and tricks simulations related to mod migrations. more
  • Fixed a crash when downgrading specific entities in multiplayer. more
  • Fixed that LuaItemStack::transfer_stack didn't work correctly for inventories that went over normal item stack limits. more
  • Fixed TransportLine consistency issue when changing force of a linked-belt. more
  • Fixed a crash related to custom map generation. more
  • Fixed a crash with SDL's X11_XInput2. more
  • Fixed programmable speaker playing incorrect sound in certain scenarios. more
  • Fixed that create_spidertron() didn't scale lights correctly. more
  • Fixed LuaFluidBox::get_prototype would try to return fluidbox prototypes ignoring layout of fluidboxes when part of crafting machine. more
  • Fixed inserter could start moving to the drop target while still being in the pickup mode. more
  • Fixed multiple personal roboports discharging. more
  • Fixed that LuaLogisticNetwork::insert() wouldn't insert all of the requested items in some cases. more
  • Fixed loader would ignore ElectricEnergySourcePrototype::buffer_capacity. more
  • Fixed rotating a loader would not update heat connections if it has any. more
  • Fixed migrating loader energy sources between types could fail to update energy source buffer size. more
  • Fixed migrating inserter energy source between types could fail to update energy source buffer size.
  • Fixed migrating pump energy source between types could fail to update energy source buffer size.
  • Fixed migrating radar energy source between types could fail to update energy source buffer size.
  • Fixed migrating reactor energy source between types could fail to update energy source buffer size.
  • Fixed double sound when transferring crafting materials from cursor stack into crafting machine or when taking items from the result slot.
  • Fixed a desync related to fluid energy source energy extraction when floating point rounding errors are involved.
  • Fixed a bad error message when registering custom hotkey events with filters. more
  • Fixed that color mod settings wouldn't migrate to the default value. more
  • Fixed that escape did not work to close the user-login GUI. more
  • Fixed that the CustomGuiElement "switch" type would fire the click event twice. more
  • Fixed a rare crash related to watching replays. more
  • Fixed consistency issue related to building loader ghosts over existing loader ghosts. more
  • Fixed spilling items would fail to spread items when surface had width or height set to more than 2^31. more
  • Fixed an AI Pathfinder desync when changing goal_pressure_ratio while the pathfinder was running. more
  • Fixed land mine was not colliding with rail signals. more
  • Fixed a crash when disconnecting and reconnecting a display on Wayland more
  • Fixed inconsistent clipboard behavior on Wayland more
  • Fixed that disabling permissions to move didn't work correctly in some cases more
  • Fixed furnace would stop crafting when recipe could not be deduced from ingredients and technology effects were being reset. more
  • Fixed a crash related to script creation of entities. more
  • Fixed module and fuel entries disappearing from blueprint preview when selectively disabled, instead of showing up with count 0. more
  • Fixed automatic targeting with spidertrons did not work if all ammo slots were not filled. more
  • Fixed technology title not updating when technology was researched. more
  • Fixed horizontal lines ending up too short when close to line-wrapping labels more
  • Fixed a crash related to migrating spider vehicle guns. more
  • Fixed loader ghosts would connect to transport belts even when they had different forces. more
  • Fixed a crash when moving blueprint book to blueprint library when there is also another book that will get under the cursor and tooltips are showing. more
  • Fixed that "item-with-inventory" would allow setting inventory_size to "dynamic". more
  • Fixed balance of several audio files. more
  • Fixed InserterPrototype would accept too large stack size bonuses. more
  • Fixed a crash when maximum-sounds is set below 16, for example by using --disable-audio or on failed audio initialization. more
  • Fixed that some effects would sometimes be performed twice in multiplayer when FPS is lower than UPS.
  • Fixed LuaSurface::find_entities_filtered would not accept force indexes. more
  • Fixed that solar panels on multiple surfaces would all produce electricity based on a daytime of one of the surfaces when they were part of a single electric network with a script created wire between surfaces. more
  • Fixed that loaders would spill their items when fast-replaced or upgraded.
  • Fixed valid path searches failing because a previously failed path with a wider bounding box was cached. more
  • Fixed LuaRendering::draw_sprite and draw_animation throwing an exception when orientation_target was not given.

Modding

  • Added a command line flag (dump-data) to dump data-raw to the script output folder as json.
  • Added a command line flag (dump-icon-sprites) to dump prototype icons to the script output folder.
  • Added a command line flag (dump-prototype-locale) to dump prototype locale to the script output folder.
  • Sprites with size close to 2048px (or 4096px when high resolution is enabled) will have forced "no-atlas" priority. more
  • Added LoaderPrototype::energy_source and energy_per_item.
  • Added support for "icon_horizontal_align" to sprite-button.
  • Added "color-setting" prototype.
  • Added 'entity-ghost' and 'tile-ghost' selection tool modes.
  • Added chart.zoom_threshold_to_draw_spider_path utility constant.

Scripting

  • Added LuaControl::get_max_inventory_index() read.
  • Added LuaItemStack::entity_label and LuaItemStack::entity_color read.
  • Added "unlocks-recipe" to technology prototype filters.
  • ForceIdentification can now be specified by force index.
  • Added script_raised_teleported.
  • Added raise_teleported to LuaControl::teleport.
  • Added 'use_rich_text' parameter to LuaRendering::draw_text() and getter/setter functions.
  • Added 'has_item_inside' to LuaSurface::find_entities_filtered parameters. Will filter for entities that have the specified item inside them.
  • LuaFluidBox::get_prototype may return an array of LuaFluidBoxPrototype if the entity uses compound fluidboxes. more
  • Added optional character parameter to LuaSurface::create_entity. Will simulate fast replacing using the character.
  • Added LuaEntityPrototype::max_power_output read support for burner generators.
  • Added LuaItemStack::use_capsule.
  • Added LuaEntity::beacons_count read.
  • Added LuaEntity::get_beacons().
  • Added LuaEntity::get_beacon_effect_receivers().
  • Added LuaRendering::use_target_orientation for Sprite, Animation, and Polygon.
  • Added on_gui_hover, on_gui_leave.
  • Added LuaGuiElement::raise_hover_events read/write.

Changes

  • Added autosave slots to "The Rest" settings gui. more

Bugfixes

  • Fixed a crash with crafting machines using burner energy sources and items that produce burnt results. more
  • Fixed that the bonus GUI could show incorrect values for modded inserter bonuses. more
  • Fixed that additional layers of multi-layer recipe icons were tinted when building. more
  • Fixed that restoring a window minimized to the macOS dock would freeze the graphics. more
  • Fixed a crash related to failed audio initialization and switching audio devices.
  • Fixed a crash when creating surfaces during the chunk deleted event. more
  • Fixed that projectiles didn't draw oriented lights at the correct orientation. more
  • Fixed that the 'create_spidertron()' Lua function didn't set the correct minable result name. more
  • Fixed that 'item on ground' didn't show item amount in the tooltip. more
  • Fixed a crash when restarting after syncing mods with save if the mod(s) were disabled and the save had a valid replay. more
  • Fixed working sound's volume or speed not being matched to activity when fading, for example with pipes. more
  • Fixed overlaping red and green wires connected to a power switch. more
  • Fixed that moving a container with which a loader was interacting would not disconnect the loader.
  • Fixed that vehicle ammo slot filter selection would show ammos that the slot cannot accept. more
  • Fixed vehicle ammo slot style when filtered. more
  • Fixed train lights in preview would render for trains on surface a player is on, not for the surface being rendered. more
  • Fixed that cloning item entities wouldn't clone the to-be-looted flag. more
  • Fixed that boilers wouldn't consume fuel if fed fluid at maximum temperature. more
  • Fixed a desync related to custom blueprints. more
  • Fixed transport belts not decompressing overcompressed items in certain cases. more
  • Fixed drawing an extra shadow for health bars of items on ground and items on belts.
  • Fixed that connecting circuit or copper wires in map view did not work if the Build and Drag map controls conflicted. more
  • Fixed override_sound_type having no effect. more
  • Fixed a crash when trying to filter car/spider ammo slots. more
  • Fixed visual artifact in water when zoomed out.
  • Fixed 'on_entity_renamed' Lua event not including 'player_index' if copy-pasting to a train stop. more

Scripting

  • Added 'entity' to LuaPlayer::open_map and LuaPlayer::zoom_to_world, which specifies an entity to follow.
  • Added LuaRailPath::is_front read.
  • Added LuaEntityPrototype::alert_icon_scale read.
  • Added LuaBootstrap::get_prototype_history().
  • Added LuaGameScript::console_command_used read.
  • Added is_split to on_player_fast_transferred.
  • Added LuaPlayer::drag_target read.
  • Added LuaControl::surface_index and force_index read.
  • Added LuaEntity::inserter_target_pickup_count read.

Modding

  • Added LoaderPrototype::allow_rail_interaction and allow_container_interaction.


You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Hello, another year has come and gone.

We know this year we were very sparse with any details about the expansion, and it is what you all really want to hear about. Trust me we really want to tell you about it, and in time we will. There are still major sections of the gameplay being changed and adjusted, and if we tell you about them now, the information would quickly become outdated and inaccurate.

For now, we can offer this Christmas postcard Albert has made, which has a sneak peek of some new item icons.



As well, we do have some other topics we can discuss, on our website.
Changelog for 1.1.73 and 1.1.74

Bugfixes

  • Fixed items dropped on underground belts could be inserted at a wrong position when transport lines were facing east or south. more
  • Fixed DNS CNAME records confusing the SRV lookup on Windows more
  • Fixed a crash when hovering over some rich text tags and destroying the object they refer to. more
  • Fixed that "request from buffer chests" option wasn't copied between spidertrons. more
  • Fixed that "request from buffer chests" option in spidertrons reset to default when prototypes changed. more
  • Fixed directories in file dialogues not being sorted alphabetically on some systems. more
  • Fixed dropdown button font color when clicked. more
  • Fixed a crash when switching preferred audio device failed.
  • Fixed not being able to remove script areas in the map editor. more
  • Fixed that LocalisedString didn't support fallback groups in some cases when parsed from Lua. (https://forums.factorio.com/104297, https://forums.factorio.com/104303)
  • Fixed a crash when a mod defines an entity that kills itself when created. more

Modding

  • Added fallback groups format for localised string which picks the first correct translation. more
  • Transparent black in RecipePrototype::crafting_machine_tint won't cause the tint to fallback to value of default_recipe_tint. more
  • Added CarPrototype::immune_to_cliff_impacts, true by default. If set to false - entity will take damage when it collides with cliff prototype entities.

Scripting

  • Added LuaPlayer::cursor_stack_temporary read/write.
  • Added LuaPlayer::request_translations() for batching translation requests.

Hello, engineers! I'm a newer face at Wube and have been mainly working on expansion content for about one year now. Today, I'm here to share some exciting non-expansion news for our Mac players.

Read the full blog post on our website.

Changelog for versions 1.1.71 and 1.1.72

Minor Features

  • Added preferred audio device output setting.
  • Added the current binary architecture to the main menu version string.
  • Improve mod update checking for large mod collections

Optimizations

  • Added native support for Apple Silicon Macs.

Graphics

  • Loaders now show their item filters in alt mode.

Bugfixes

  • Fixed a crash when canceling deconstruction of a pipe to ground while the GUI was open. more
  • Fixed entity ghosts would draw wires even if prototype of inner entity disabled it. more
  • Fixed incorrect panning of CyclicSound (for example, flamethrower turret's stream sound). more
  • Fixed that ScriptRendering requested string localisation during on_init when it was not available. more
  • Fixed Generator tooltip ignoring fluid emissions multiplier. more
  • Fixed that teleporting cars between surfaces would create the build effect smoke. more
  • Fixed a crash related to undoing mining of another forces entities after the other force had been deleted. more
  • Fixed it was possible to acquire forbidden items in the Transport belt madness levels. more
  • Fixed that linked-belt was missing from the collision mask defaults. more
  • Removed 'Fuel emissions' label from Burner info panel. more
  • Fixed that expansion parties could destroy spidertrons while building new bases. more
  • Fixed a crash when doing alt-reverse selections in zoomed-in map mode. more

Modding

  • Added Alt reverse selection support for selection tools. more

Scripting

  • Added LuaGuiElement::close_dropdown().
  • Added LuaInventory::is_full().
  • Added 'include_bar' parameter to LuaInventory::count_empty_stacks().


You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Minor Features

  • Added mod portal bookmarks to install mods gui

Bugfixes

  • Fixed show-player-robots debug option would render lines for characters on other surfaces. more
  • Fixed using incorrect sound settings when there is no configuration file.
  • Fixed a crash related to teleporting spider vehicles with burner energy sources between surfaces.
  • Fixed that the return value of some lualib noise functions didn't have the metatable for noise expression arithmetic. more
  • Fixed simulation widgets showing savefiles trying to apply migrations in multiplayer. more
  • Fixed upgrading pair of underground belt ghosts that makes them in reach would flip one of them without updating rotation point of nearby belts. more
  • Fixed that logistic containers didn't deduplicate filters when importing them from untrusted sources which could crash the game. more
  • Fixed a hard crash when a mod called deconstruct_area() with mismatched force and the player undid deconstruction of tiles. more
  • Fixed highlight-box targeting entity not rendering before first update. more
  • Fixed spider-remote would lose connection when spider changes surface. more
  • Fixed SpidertronRemotePrototype was silently forcing stack size to 1 and not marking prototype as non stackable. more
  • Fixed that sounds with fade_out_ticks would synchronize when pausing the game while the sounds are fading out. more
  • Fixed idle sounds would synchronize when pausing the game. more
  • Fixed idle sounds for accumulators not starting in certain scenarios. more
  • Fixed idle sounds playing when they shouldn't for entities with max_sounds_per_type set.
  • Fixed inserters not highlighting the entity they would pick up from if said entity is a ghost while the inserter is not. more
  • Fixed a save's suggested save name not being updated when using non blocking saving. more
  • Fixed a crash when GUI style errors are found during loading. more
  • Fixed an item duplication when fast replacing underground belts with a damaged item. more
  • Fixed that loader could get stuck when feeding a burner generator. more
  • Fixed a crash when opening blueprint book item while tick is paused. more
  • Fixed a unit group that is building a base could have all its members distracted and still build a base. more

Scripting

  • Added LuaTechnology to LuaPlayer::opened.
  • Added LuaEntityPrototype::ammo_category read.
We have a long history of trying to bring Factorio to other platforms, including consoles and mobile phones (not including April Fools). We even worked with some external companies, but the projects never even got to the point where they would run technically, let alone the complicated part of making the game playable using controllers or touch screen. After all the attempts, we even had a Friday Facts prepared that was going to say something along the lines of "we don't plan to bring Factorio to other platforms".

However that turns out to not be the case, and we also have an update about the progress on the expansion. Read the full blog post on our website.

Graphics

  • Updated transport belt icons.

Bugfixes

  • Fixed unregistering multiple events at once would not clear event filters. more
  • Fixed inactive mining drill playing its working sound for a moment when panning over it. more
  • Fixed a crash when pressing Alt+F4 or clicking the X button when in sound settings. more
  • Fixed a crash when changing the force of a logistic container marked for deconstruction. more
  • Fixed a crash in production score script when a rocket launch product has probabilistic amount. more
  • Fixed a crash in production score script when a resource entity is given no mineable products. more
  • Fixed collision mask util not ignoring other flags when checking "not-colliding-with-itself" masks. more
  • Fixed the player losing contents of the cursor when starting the round in tightspot scenario. more
  • Fixed wave defense losing all upgrades after some prototype changes. more
  • Fixed inactive entity working sound playing its fade-out when pausing and unpausing the game.
  • Fixed that mod ordering didn't work correctly when searching in the install mods GUI. more
  • Fixed that the 'starting points' in MapGenSettings wasn't loaded when importing a map exchange string. more
  • Fixed that event filters for on_pre_ghost_deconstructed and on_pre_ghost_upgraded weren't filtering correctly. more
  • Fixed that changing render threads to 1 while menu simulations were visible would crash the game. more
  • Fixed rocket silo would get stuck when rocket_parts was set during launch. more
  • Fixed smooth zoom behavior at high game speeds. more
  • Fixed a performance issue when many roboports re-activate at the same time. more
  • Fixed that the sync-mods-with-save GUI didn't work correctly when failing to download in some situations. more
  • Fixed solar panel equipment was unable to produce full expected power when solar multiplier was larger than 1. more
  • Fixed boiler's energy source buffer size was not updated when prototypes data changed. more

Modding

  • Added torso_bob_speed to the spider vehicle prototype.

Scripting

  • Added LuaEntityPrototype::torso_bob_speed read.


You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Changelog of versions 1.1.61 to 1.1.67

Minor Features

  • Added support for SRV records on Windows.
  • Added support for SRV records on Linux and MacOS.

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.
  • Integrated SDL_Mixer for audio mixing, which is now the default mixer.
  • Added PulseAudio driver for the SDL audio backend.
  • Added Wayland driver for the SDL video backend.
  • Updated the --audio-driver command line option description for Windows, and added the option for Linux and Mac.
  • Storage tanks can now show fluid connection info.

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. more
  • Fixed heavy-mode when character dies in multiplayer. more
  • Fixed that the "run forest, run" achievement could be unlocked by shooting trees instead of running them over. more
  • Fixed a crash when trying to read LuaEntity::neighbours on a WallConnectable when one of the neighbours is a ghost. more
  • Fixed recipe highlights in the assembling machine GUI. more
  • Fixed an issue with the prototype explorer GUI and guns. more
  • Fixed false-positive desyncs when using mods and running /c game.force_crc() or /toggle-heavy-mode more
  • Fixed a crash when defining a fluid stream prototype with zero particles. more
  • Fixed a GUI layering issue related to some error messages. more
  • Fixed not being able to open blueprint books in books through the quickbar. more
  • Fixed LuaSurface::find_entities_filtered would fail to find entities by collision mask if they only collide with tiles. more
  • Fixed that pump that cannot interact with fluid wagons would crash on save after position change. more
  • Fixed a desync when canceling deconstruction of cliffs when a robot has already thrown the explosive. more
  • Fixed startup mod settings would show as being able to be reset while the game is running. more
  • Fixed an issue when installing mod dependencies related to base-game dependencies. more
  • Fixed an issue with biter AI that could freeze the game. more
  • Fixed a crash when viewing other player inventories when changing controllers. more
  • Fixed that the LuaPlayer::remove_alert 'prototype' parameter wouldn't accept an actual prototype instance. more
  • Fixed character inventory was not auto sorted when changing armor. more
  • Fixed that the reset-to-default tooltip for string mod settings wasn't fully localised. more
  • Fixed a crash when trying to draw a wire connected linked container in a blueprint. more
  • Fixed linked containers with filters would not preserve filters while there are no containers placed. more
  • Fixed a crash when using SDL audio backend with configurations other than stereo. more
  • Fixed a desync when using LuaGameScript::get_train_stops when there are multiple stops found.
  • Fixed a crash related to transport belts and item entities. more
  • Fixed linked container content was cleared when entity dies leaving a ghost. more
  • Fixed linked container content was cleared when fast-replacing through script. more
  • Fixed locomotives on curved rails would not snap to train stops. more
  • Fixed a crash related to audio. more
  • Fixed that it was possible to provide invalid path_resolution_modifier value to LuaSurface::request_path. more
  • Fixed double click interaction with number input. more
  • Fixed teleporting spidertrons across surfaces while also changing their position. more
  • Fixed manual filter insertion logic with modded container entities. more
  • Fixed a crash related to multiplayer latency and modded selection tools. more
  • Fixed an inserter activity progress being incorrect for certain orientations.
  • Fixed a sound instance leak. more
  • Fixed integer mod settings would allow decimal values. more
  • Fixed that renaming a spidertron wouldn't include the player during the Lua event. more
  • Fixed a lag spike when finishing selection of entities in chart view far from the center of the map. more
  • Fixed a crash related to copy tool when cursor stack was cleared during setup blueprint event. more
  • Fixed multiple instances of the same working sound syncing up, causing "phasing" artefacts.
  • Fixed fluid wagon fluid tooltips would round the amount shown incorrectly.
  • Fixed some sounds playing in fog-of-war when they shouldn't.
  • Fix modded entities not showing input-output fluid connection arrows more
  • Fixed LuaControl::enable/disable_flashlight when LuaPlayer points at a player with CharacterController. more
  • Fixed incorrect fluid arrows on chemical plants, pumpjacks and oil refineries more

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.
  • Modded tips and tricks information is remembered when the associated mods are temporarily removed/disabled.
  • Added support for container entities with filters by using inventory_type = "with_bar" or "with_filters_and_bar".
  • Added EntityPrototype::build_grid_size. Supported values are 1 (for 1x1 grid) and 2 (for 2x2 grid).
  • Added EntityPrototype::use_exact_mode.
  • Added support for circuit connections to linked containers.
  • Added the entity prototype flag not-in-made-in to allow hiding things from the 'made in' recipe tooltip.
  • Added FluidBox::hide_connection_info. When true the blue fluid connection arrows will not be drawn.

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.
  • Added support to set player.opened to script inventories.
  • LuaEntity::get_connected_rail also returns rail_direction and rail_connection_direction going back to origin rail.
  • Added on_pre_ghost_upgraded event.
  • Added LuaEntity::get_rail_segment_rails.
  • Added LuaEntity::is_rail_in_same_rail_segment_as.
  • Added LuaEntity::is_rail_in_same_rail_block_as.
  • Added LuaEntity::get_parent_signals.
  • Added LuaEntity::get_child_signals.
  • Added LuaEntity::get_inbound_signals.
  • Added LuaEntity::get_outbound_signals.
  • Added LuaEntity::rocket_silo_status read and defines.rocket_silo_status
  • Added LuaBootstrap::register_metatable.
  • Added LuaLogisticNetwork::can_satisfy_request.
  • Added LuaLogisticNetwork::get_supply_counts.
  • Added LuaLogisticNetwork::get_supply_points.
  • Added LuaEntityPrototype::use_exact_mode read.
  • Added LuaEntityPrototype::active_energy_usage, idle_energy_usage, lamp_energy_usage reads.
  • Added rocket_silo_input, rocket_silo_output, rocket_silo_modules inventory defines.
  • Added LuaEquipmentGrid::unique_id read.
  • Added LuaForce::color read.
  • Added LuaForce::custom_color read/write.
  • Added target to on_pre_ghost_upgraded.
  • Added target and direction to on_cancelled_upgrade.
  • Added LuaEquipmentGrid::find/count methods.
  • Added LuaEntityPrototype::tile_width/tile_height reads.
  • Added LuaEntity::tile_width/tile_height reads.
  • Added range_modifier, cooldown_modifier, consumption_modifier fields to AmmoType concept.
  • Added LuaEntity::stop_spider().


You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Changelog for versions 1.1.60 and 1.1.61

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.

Optimizations

  • Improved game startup time when using mods.

Bugfixes

  • Fixed that item requests didn't subtract items picked up from ground when reviving ghosts. more
  • Fixed burner inserter would not fuel itself when drop target was full. more
  • Fixed that inserters would report status other than "Waiting for space in destination" in certain cases. (https://forums.factorio.com/102225, https://forums.factorio.com/65351)
  • Fixed that Lua collision mask util didn't check for tile prototypes. more
  • Fixed that map pings would always round up the pinged location. more
  • Fixed that replays would always say mods didn't match. more
  • Fixed that canceling syncing mods with a save would exit the GUI.
  • Fixed that canceling syncing mods with a save through escape would leave the partially downloaded mods.
  • Fixed that the circular dependency error doesn't list all mods. more
  • Fixed a deadlock on loss of ConnectionAcceptOrDeny message. more
  • Fixed a desync when fast-replacing burner generators.
  • 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. more
  • Fixed heavy-mode when character dies in multiplayer. more
  • Fixed that the "run forest, run" achievement could be unlocked by shooting trees instead of running them over. more
  • Fixed a crash when trying to read LuaEntity::neighbours on a WallConnectable when one of the neighbours is a ghost. more
  • Fixed recipe highlights in the assembling machine GUI. more
  • Fixed an issue with the prototype explorer GUI and guns. more
  • Fixed false-positive desyncs when using mods and running /c game.force_crc() or /toggle-heavy-mode more
  • Fixed a crash when defining a fluid stream prototype with zero particles. more
  • Fixed a GUI layering issue related to some error messages. more
  • Fixed not being able to open blueprint books in books through the quickbar. more
  • Fixed LuaSurface::find_entities_filtered would fail to find entities by collision mask if they only collide with tiles. more
  • Fixed that pump that cannot interact with fluid wagons would crash on save after position change. more

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 LuaEntityPrototype::height, torso_rotation_speed, automatic_weapon_cycling, chain_shooting_cooldown_modifier, chunk_exploration_radius reads.
  • Added LuaEntityPrototype::animation_speed_coefficient.
  • Added LuaEntityPrototype::manual_range_modifier.
  • Added LuaEntityPrototype::dying_speed read.
  • Added sample_index parameter to LuaFlowStatistics::get_flow_count().
  • 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.
Changes

  • Significantly reduced the intensity of the red screen flash when the player character takes damage.
  • Changed fish so they won't swim into inactive chunks. more
  • Changed slowdown capsule and posion capsule icons to be matching in size. more
  • Added email authentication to login GUIs.

Bugfixes

  • Fixed that overwriting ItemRequestProxy item requests wasn't working properly in some cases when the same item was already requested. more
  • Fixed that loading a mod with a corrupted image file would crash the whole game on Linux. more
  • Fixed a crash with ghost overbuilding and script interactions. more
  • Fixed that infinite technologies didn't respect ignore_tech_cost_multiplier. more
  • Fixed that LuaEntity::belt_neighbours didn't work on ghosts. more
  • Fixed an issue with item-with-inventory extending inventories and quickbars. more
  • Fixed that a train stop helper would not draw when hovering inserters next to rails that were not straight connected to a train stop. more
  • Fixed a crash when fast replacing electric pole marked to be deconstructed when there is another ghost pole on top of it. more
  • Fixed a crash when creating a blueprint with connected electric pole while it has an upgrade target set to not electric pole. more
  • Removed a NaN check when loading map. more
  • Fixed a screenshot for save file preview would not account for a force of a player. more
  • Removed duplicated frame in grenade and cluster grenade animation. more
  • Fixed a map loading issue when changing mod dependencies and nothing else. more
  • Fixed a crash when trying to perform some actions while in multiplayer. more
  • Fixed rotating entities with non-symetric bounding boxes didn't work correctly. more
  • Fixed that already built pipes to ground could show removal indicators for pipes they are bridging when selected.
  • Fixed the runtime multiplayer settings GUI wouldn't fit on screen. more
  • Fixed that inserters could be flipped in some cases when they weren't supposed to allow it. more
  • Fixed that cliff deconstruction wasn't issued when the corrected cliff collision box overlapped with ghost entities. more
  • Quickbar shortcuts to items in blueprint books can be used again. more
  • Fixed grenade shadows.
  • Fixed it was possible to put blueprint book indirectly into itself more

Scripting

  • Added on_research_cancelled.
  • Added on_player_reverse_selected_area.

Changelog from version 1.1.54 to 1.1.57

Minor Features

  • The multiplayer games browser can now filter games that are hosted on dedicated servers.

Gui

  • Some GUI fixes and improvements for screen resolutions under 1920x1080
  • Set the default GUI scale on the Steam Deck to 100%

Optimizations

  • Improved overall performance by 5-10% when fully zoomed out.

Bugfixes

  • Fixed west variation of Boiler and Heat exchanger graphics. more
  • Fixed save/load instability occuring when the game was saved after a robot threw cliff explosives but before the cliff exploded.
  • Fixed a crash when script tries to connect rolling stock during rolling stock destruction. more
  • Fixed LuaTransportLine::output_lines on a splitter's output transport line would incorrectly consider it an input transport line of that splitter. more
  • Fixed LuaTransportLine::input_lines would not return both input lines of a splitter.
  • Fixed that when train was created, a wrong end could be selected as a front when rolling stock at expected trains front was facing backward.
  • Fixed that it was possible to specify artillery-projectile as a place_result of an item. more
  • Fixed unnecessary disk writes when showing background simulations. more
  • Fixed that sometimes the host would not have admin rights when hosting a multiplayer game from a save.
  • Fixed LuaSurface::find_tiles_filtered would not cover bottom right tile.
  • Fixed that too many open RCON connections would crash the game. There is now a limit of maximum of 128 simultaneous RCON connections. more
  • Fixed a crash related to modded trains that could change travel direction due to air friction computation. more
  • Fixed energy consumers would get too much energy when supplied through multiple electric networks. more
  • Fixed a crash due to LuaLogisticCell not being invalidated when owner entity is being deleted. more
  • Fixed that non-lamp entities could be given the 'lamp' electric usage priority which would crash the game. more
  • Fixed locomotive placement would snap to wrong train stop when there are multiple stops available. more
  • Fixed that the whitelist button was enabled in the /config GUI. more
  • Fixed searching for items in controller gui would not highlight item stacks in the trash slots. more
  • Fixed that building underground belt ghosts with smart belt building would crash if ghosts are immediately revived by script. more
  • Fixed very high deconstruction_time_to_live value would lead to deconstruction orders expiring too soon. more
  • Fixed that a multiplayer client could desync several times in a row, making the server save the map for desync report multiple times.
  • Fixed that crafting recipes with products exceeding their stack limit would produce only a single full stack when crafting by hand. more
  • Fixed tips and tricks GUI staying open when changing controllers, and not being able to close it afterwards. more
  • Fixed PvP config for health bonus didn't apply correctly.
  • Fixed that if the game couldn't connect to a server due to corrupted data, it wouldn't show any error to the user. more
  • Fixed that the Steam version wouldn't start on Linux and OSX.
  • Fixed poison cloud sound fade out.
  • Fixed tooltips for vehicles would still show entry instructions even when no passengers are allowed. more
  • Fixed train stop names with different amounts of leading spaces being treated as equal in some cases but not in others. more
  • Fixed idle machines without idle sound counting towards the max_sounds_per_type limit. more
  • Fixed that changing the force of artillery wagons didn't work. more
  • Fixed a crash when using non-rectangular equipment. more
  • Fixed a crash when building underground belt or pipe ghosts over belts/pipes of other forces. more
  • Fixed character corpse armor variations being inconsistent with character armor variations. more
  • Fixed a consistency issue if a Lua event handler cancelled deconstruction of an entity that was marked for deconstruction as a result of fast-replace. more
  • Fixed that some error messages wouldn't be translated. more
  • Fixed that biters might remain inactive when they should be activated. more
  • Fixed that units could teleport through cliffs if they bunched up close together. more
  • Fixed that setting LuaGuiElement::zoom to 0 would crash the game. more
  • Fixed a crash when changing mod options while the cursor hovers the "Back" button. more
  • Fixed a crash due to recursive chain signal update. more
  • Fixed that if a non-attack distraction command failed, it would raise the on_ai_command_completed event repeatedly. more
  • Fixed that opening web links in the Linux Steam build of the game could take unreasonably long. more
  • Fixed that logistic requests, item filters and similar could be set to the copy-paste tool when clicking the slot while holding that item. more

Scripting

  • Added 'is_military_target' filter to the options for LuaSurface::find_entities_filtered.
  • Added LuaFluidBox::get_fluid_system_id() method.
  • Added LuaItemPrototype::reverse_* read for selection tool.
  • Added LuaEntity::radar_scan_progress read.
  • Added LuaEntityPrototype::logistic_parameters read.
  • Added LuaEntityPrototype::heat_buffer_prototype read.
  • Added LuaHeatEnergySourcePrototype::heat_buffer_prototype read.

Modding

  • Added LocomotivePrototype::max_snap_to_train_stop_distance.
  • Added AutoplaceControl::can_be_disabled.


No doubt you have heard about NFTs, the latest Blockchain innovation. With some big gaming companies exploring NFTs, where does Factorio stand?

Read the full blog post on our website.

We are a games company based in the Czech Republic. Russia's invasion of Ukraine affects us directly. We have team members there, we have friends there, and we get information first hand. There is no excuse for the actions of the Russian army, they have little regard for civilians including children.

We support Ukraine and have made contributions to relief efforts.

We support Russians that stand against the actions of the Russian government.

You can help too, even if it is just with your voice. World leaders are listening: every voice counts.


The Czech National museum, which has bullet scars from the Russian invasion of Czechoslovakia in 1968.

Please, keep the discussions about the world events (if you can't help it) specifically in threads related to this post, as we want to keep the rest of the content on topic.
Hello,

Today is actually the 6 year anniversary of Factorio launching on Steam, and just recently too we passed 3 million total sales (and we're even past 3.1 million at this point), so it is quite a milestone. It is great for us that the game is still selling consistently year on year, even though we never take part in sales or bundles.

Read the full blog post on our website.

Hello, long time no talk, we've got some catching up to do...

Almost 1 year ago we said "we don't think that will take less than a year to develop". Well it has been less than a year and it is not finished, so we kept our word on that :).

But while it might not be finished, there is a still a lot we have done so far.

Read the full blog post on our website.

Changes

  • When using /swap-players undo queues are now also swapped.
  • Improve performance of querying if an entity is registered for deconstruction from O(N) to O(1).
  • Adjusted default music volume.

Bugfixes

  • Fixed that if biters took damage from a forest fire, they would path toward the player who started it, no matter the distance. more
  • Fixed that replacing a tile between a colliding hidden tile (with check_collision_with_entities set to true) and an entity would not yield an item.
  • Fixed that LuaGameScript::ban_player would incorrectly use reason as a player name when given player was never in game. more
  • Fixed that the saving progress bar and other popups were placed behind the transparent pause overlay. more
  • Fixed a scenario could be created with temporary-state trains which were not properly deleted. more
  • Fixed a crash when using --map-settings while loading a multiplayer map. more
  • Fixed that trying to manually mine a resource that needs a mining fluid would sometimes produce sound of mining. more
  • Fixed script rendered arcs could be considered invisible when they were visible. more
  • Fixed that LuaEntity::belt_neighbours would return LuaEntity based on EntityGhost's inner entity, not the EntityGhost itself. more
  • Fixed fish preventing tiles building with check_collision_with_entities enabled.
  • Fixed that trains would not account for the train stop snap distance when already at the train stop with the back of a train. more
  • Fixed the intro music volume being set incorrectly.
  • Fixed that --start-server-load-latest when given an empty saves folder wouldn't work correctly. more
  • Fixed missing efficiency tooltip and incorrect fuel consumption tooltip value in generator equipment with burner energy source.
  • Fixed ghost electric poles connecting to ghost electric poles of other forces. Neutral force is exempt from this change. more
  • Fixed that biters would sometimes prefer running away over choosing another target. more
  • Fixed trains pathfinder would crash when a train is in a loop next to segment end and was requested to go to rail target in the middle of a loop. more
  • Fixed multi-level technologies showing the same saved progress in technology GUI. more
  • Fixed an icon of recipe notification on item group would show even if there are no recipes visible in a given context. more
  • Fixed a crash when defining too many icon variations. more
  • Fixed changing station name with rich text tags could crash when moving cursor by words. more
  • Fixed LuaBurner::inventory did not work correctly for some burner-energy-source entities. more
  • Fixed a crash caused by undoing an entity deconstruction which another player already cancelled. more

Modding

  • Added EntityPrototype::protected_from_tile_building, true by default. If set to false - entity won't block tile mining/building (with `TilePrototype::check_collision_with_entities` enabled).
  • Added LandMinePrototype::trigger_collision_mask.
  • Added EntityWithOwnerPrototype.
  • Added EntityWithOwnerPrototype::is_military_target and allow_run_time_change_of_is_military_target.
  • SimpleEntityWithForce now inherits from SimpleEntityWithOwner.
  • SpiderEnginePrototype::military_target is no longer used. If anything is provided it will make related SpiderVehiclePrototype to become a military target instead.

Scripting

  • Added LuaEntityPrototype::trigger_collision_mask read.
  • Added LuaEntity::is_military_target read. This deprecates LuaEntity::is_entity_with_force.
  • Added LuaEntityPrototype::is_entity_with_owner, is_military_target and allow_run_time_change_of_is_military_target read.
  • Added LuaEntity::get_spider_legs().
  • Added LuaEntity::neighbours read for cliffs.
Minor Features

  • The permissions list in the permissions GUI can now be localised.
  • Removed feature where reactor collision box would increase when connected to neighbouring reactor (character can now walk in-between connected reactors)

Bugfixes

  • Fixed that biters could get stuck trying to attack an entity they were standing on. more
  • Fixed issue regarding placing an electric pole over a ghost of an electric pole connected to an enabled power switch. more
  • Fixed a crash related to units and mod events. more
  • Fixed ghost entities of other forces being considered valid drop targets. more
  • Fixed ghost electric poles connecting to electric poles of other forces. Neutral force is exempt from this fix, it can connect to everything. more
  • Fixed that LuaEntity::disconnect_neighbour was unable to disconnect specified pair of electric poles when they were on different surfaces.
  • Fixed gate cloning related to opened state. more
  • Fixed that on_game_created_from_scenario event didn't fire after pressing "Save and Play" from map editor. more

Modding

  • Added LuaTilePrototype::check_collision_with_entities, false by default. If set to true - checks for collisions with entities before building or unearthing the tile.
  • Removed ReactorPrototype::neighbour_collision_increase.
Bugfixes

  • Fixed transport belts picking up items on ground when rotated. more
  • Fixed that game.map_settings.path_finder.fwd2bwd_ratio could be set to nonsensical values. more
  • Fixed main menu track playing only once. more
  • Fixed that units could get stuck close to their goal. more
  • Fixed that the small research bar in a technology slot wouldn't show for the technology currently in research. more
  • Fixed a crash which was caused by early garbage collection of LuaObject because LuaObject method closures didn't hold a back reference to the object. more
  • Fixed barelling recipe icons having incorrect tint with index-based fluid color definitions. more
  • Fixed barelling recipe icons having incorrect alpha with fluid color definitions in 0-255 range.

Scripting

  • LuaObjects are now saved using binary format instead of previous format with intermediate Lua table. This speeds up general handling of LuaObjects and makes saving and loading with a lot of them noticable faster.
  • LuaObject::isluaobject now returns true instead of a magic string.
  • Clarified LuaGameScript::finished. more
  • Added LuaGameScript::finished_but_continuing read.
  • Added LuaGameScript::reset_game_state() method.
  • Implemented new website for Lua API documentation.