⚜ SteamCozy

Home / News / DFHack - Dwarf Fortress Modding Engine

DFHack 53.16-r2rc2 prerelease announced

DFHack - Dwarf Fortress Modding Engine · Community Announcements · September 27, 2026

Read the original on Steam ↗

This prerelease is available on the "beta" channel. Please report any issues (or feature requests) on the DFHack GitHub issue tracker. When reporting issues, please upload a zip file of your savegame and a zip file of your mods directory to the cloud and add links to the GitHub issue. Make sure your files are downloadable by "everyone with the link". We need your savegame to reproduce the problem and test the fix, and we need your active mods so we can load your savegame. Issues with savegames and mods attached get fixed first!

Highlights

Many new tools and features

A bunch of new (or revived) features in this upcoming release. The most noticeable is that the smooth movement plugin is now officially part of DFHack. We've also added a tool to export world data for use with GIS mapping applications, reinstated the old stockflow tool (which allows automating work orders based on a stockpile's contents), reinstated labormanager as a work detail automation tool (with many improvements over the old one), made improvements to lots of existing tools, added a mitigation for a DF bug that made reclaimed/unretired fortresses behave badly, and added an API for doing bulk map scans from Lua efficiently. See the changelog, below, for more details.

Even more bug fixes

Even more DFHack bugs have been fixed. A big one is fixing the defect in timestream that prevented anyone from ever suffocating (an entirely unintended nerf). There's simply too many to write them all up here; check the changelog, below, for the full details.

Announcements

PSAs

As always, remember that, just like the vanilla DF game, DFHack tools can also have bugs. It is a good idea to save often and keep backups of the forts that you care about.

Some DFHack tools that worked in previous (pre-Steam) versions of DF have not been updated yet and are marked with the "unavailable" tag in their docs. If you try to run them, they will show a warning and exit immediately. You can run the command again to override the warning (though of course the tools may not work). We make no guarantees of reliability for the tools that are marked as "unavailable".

The in-game interface for running DFHack commands (gui/launcher) will not show "unavailable" tools by default. You can still run them if you know their names, or you can turn on dev mode by hitting Ctrl-D while in gui/launcher and they will be added to the autocomplete list. Some tools listed as "unavailable" in the docs do not compile yet and are not accessible at all, even when in dev mode.

If you see a tool complaining about the lack of a cursor, know that it's referring to the keyboard cursor (which used to be the only real option in Dwarf Fortress). You can enable the keyboard cursor by entering mining mode or selecting the dump/forbid tool and hitting Alt-K (the DFHack keybinding for toggle-kbd-cursor). We're working on making DFHack tools more mouse-aware and accessible so this step isn't necessary in the future.

Changelog

New Tools

New Features

Fixes

Misc Improvements

Documentation

Removed

API

\ to update the light/outside/subterranean flags of tiles below a tile that changed between an open and a solid shape\

\

  1. Added Maps::addRegionBiomeOffset to shift world region coordinate by region_details biome reference

  2. Added Maps::describeSurroundings to get surroundings classification from savagery and evilness

  3. Added Maps::forEachTile with Maps::TileFilter/Maps::TileActions to scan a cuboid of tiles, matching tiles by tiletype, tiletype attributes, and designation/occupancy bits, and counting, rewriting tiletypes, editing designation/occupancy bits, spawning constructions, or invoking a callback on matching tiles

  4. Added Maps::getCurrentWeather to determine the current weather on the map.

  5. Added Maps::getSiteTypeName to print the sites classification as a string (e.g. "mountain halls")

  6. Added Maps::getTileBlockCoord, Maps::getBlockOrigin, and Maps::getTileBlockOffset to convert between tile and block coordinates

  7. Added MiscUtils::print_range to print ranges with prefix, separator, and suffix

  8. Added Units::breathes and Units::getBreathingState

  9. Deprecated World::ReadCurrentWeather in favor of Maps::getCurrentWeather

Lua

Structures

DFHack - Dwarf Fortress Modding Engine MORE ON STEAMCOZYDFHack - Dwarf Fortress Modding Engine Price tracking · player charts · similar games →