Apr 13, 2023
DFHack - Dwarf Fortress Modding Engine - myk002
Read the Quickstart guide to get oriented:


Browse and run DFHack tools from the launcher:


Easily plan out buildings before you have materials with `buildingplan`:


Lay down designs with `gui/design`:


Enable the general strike bug fix in `gui/control-panel`:


This release is compatible with all distributions of Dwarf Fortress: Steam, Itch, and Classic.
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. 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!
What the heck is DFHack?
This is DFHack's first stable release for Dwarf Fortress in the v50 era, so many of you will be reading the release notes for the first time. A little background is in order.

DFHack is an add-on for Dwarf Fortress that enables mods and tools to significantly extend the game. The default DFHack distribution contains a wide variety of these tools, including bugfixes, interface improvements, automation agents, design blueprints, modding building blocks, and more. Third-party tools (e.g. mods downloaded from Steam Workshop or the forums) can also seamlessly integrate with the DFHack framework and extend the game far beyond what can be done by just modding the raws.

DFHack’s mission is to provide tools and interfaces for players and modders to:
  • expand the bounds of what is possible in Dwarf Fortress
  • reduce the impact of game bugs
  • give the player more agency and control over the game
  • provide alternatives to toilsome or frustrating aspects of gameplay
  • make the game more fun
The DFHack team members (and our primary roles and pronouns) are:
  • Lethosor (team lead, he/him)
  • myk002 (developer, community lead, he/him)
  • ab9rf (reverse engineer, she/her)
  • Quietust (reverse engineer, he/him)
  • BenLubar (operations engineer, any/all)
DFHack also includes contributions from hundreds upon hundreds of community members! The best ways to interact with us are on the DFHack Discord or by filing issues on GitHub. Community contributions to DFHack are very welcome, both for the documentation and for the code. Come talk with us! We are happy to help get you oriented with the development process.
Announcements
DFHack is now available on Steam!
For those who play Dwarf Fortress on Steam, you can now install DFHack through Steam as well! This has the added benefit of letting Steam auto-update DFHack for you. Instead of installing DFHack manually, head over to our Steam page and add DFHack to your library. If you have multiple drives or Steam Library folders, you will need to ensure DFHack is installed to the same location Dwarf Fortress is.

If you'd like to get new DFHack bugfixes and features first and are willing to file GitHub issues for any problems you encounter, please consider subscribing to the beta release channel. We will be depending on beta subscriber feedback to help shape new feature development. Also, by testing the pre-release builds of DFHack, you are helping us make high-quality stable releases. To subscribe to the beta channel, right click on the DFHack app in your steam client, go to Properties, select Betas, and change the dropdown from "None" to "beta - Beta release channel". Thank you! We really appreciate your help with this!

Bringing DFHack to Steam as an official mod was a massive undertaking. We'd like to thank everyone who helped make this happen:
  • Graphic Design: TaxiService, RafaelKB, Rumrusher
  • Steam installation, Steam Deck, and stability testing: AndrielChaoti, Finn!, Robob27, Thalzen, esotericist, TaxiService, Ozzatron, sdegrace, 20k, plule, RafaelKB, Putnam, drhead, Scootieloo, coskerstrike, and 200+ community members on Reddit and elsewhere
Special thanks go out to Kitfox for fielding Steam's questions about DFHack during the build review process, approving us as a community-written DF mod, and working with us every step of the way. You're awesome!

And, of course, a big thank you to Zach and Tarn, without whom we all wouldn't be here, and Putnam, who has had such a large impact on DF already in the short time she's been working with Bay 12.
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.

Many 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 do not compile yet and are not available 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 in the DF settings, and you can show it by entering mining mode or selecting the dump/forbid tool. We're working on making DFHack tools more mouse-aware and accessible.
Highlights
There have been significant advancements since our last stable release (for 0.47.05) last year. Here's a selection of highlights from the top of the top:
Usability improvements
There's a lot to talk about here! DFHack now has a fully-functional windowing system, where DFHack tool windows can be dragged, resized, and focused/unfocused for keyboard input. There are also new in-game UIs for discovering and managing DFHack tools and features. gui/launcher gives you access to all DFHack tools, with autocomplete and in-game help text (with examples for each command!). gui/control-panel is your one shop shop for toggling DFHack features and setting preferences. The DFHack logo in the upper left corner of the screen gives you quick access to tools associated with the current game context.

Hover the mouse over the DFHack logo and select the Quickstart Guide for a quick walkthrough about how to use DFHack in DF. You can also read the guide online.
Buildingplan
DFHack's buildingplan plugin allows you to place furniture, constructions, and other buildings, regardless of whether the required materials are available. This allows you to focus purely on design elements when you are laying out your fort, and defer item production concerns to a more convenient time. It monitors your stocks of available building materials and attaches new items to the buildings so they can be built. You can set filters on your building materials to be sure that when items are attached, they meet your specific needs. For example, you can plan out walls that are guaranteed to be a consistent color and screw pumps that are guaranteed to be magma safe.
gui/civ-alert
In vanilla DF, assigning a unit to a burrow is treated more like a suggestion than a command. This can be frustrating when you're assigning units to burrows in order to get them out of danger. In contrast, triggering a civilian alert with gui/civ-alert will cause all your non-military citizens to immediately rush to a burrow ASAP and stay there. This gives you a way to keep your civilians safe when there is danger about.

You'll notice an extra panel on the Squads menu (the one that shows up on the right side of the screen when you hit q) that prompts you to configure a burrow to use for the civ alert. Get it set up, and when danger comes a-knockin', hit that Big Red Button!
gui/design
The vanilla designation interface does fine when you want to draw in solid rectangles, but gui/design allows you to take your fortress layouts to the next level. Draw patterns and shapes with thick or thin lines! Take a carefully drawn design and stamp it multiple times! Flip and rotate your designations around! Move your designations to a better spot on the map! Oh, and it can do rectangles too.
Mod and 3rd party script support
Scripts within mods now work automatically. No more manual copying of scripts after "installation". This allows everything from single scripts to total conversion mods that add new scripted gameplay elements to work seamlessly, straight from the DF Steam Workshop. See the DFHack modding guide for details. You can also subscribe to the example Workshop mod to see a real example of how to distribute scripts from the Steam Workshop (though the format is applicable to mods distributed via non-Steam means as well).

And more!
See full release notes on our GitHub page.
Fighting! Ms. Luan!! ─ Gold-digging Angelic Bitch Simulation - Weissgarden



In order to enhance the player experience, in addition to adding new content to the base game, we will also be adding animations and graphics in the upcoming DLC, which may cause a slight delay in the release date.

After many days of hard work, we hope to present the new release in a better and more complete form to everyone.

Thank you for your patience and support.

※Regarding the Arabic version

Due to limitations in the Unity engine plugins currently used in the game, the special text mode (Right To Left) for Arabic cannot be implemented.

Therefore, in order to ensure a smooth gaming experience for Arabic players, we will be switching to another game engine that supports RTL, and this porting process may take some time.

We will also do our best to improve quality and efficiency.

Additionally, the new engine may render graphics and special effects slightly differently than Unity, and we will do our best to overcome these challenges and provide a better overall experience.

Thank you again for your support and patience:)
Tentacles Party With Nuns - Weissgarden



In order to enhance the player experience, in addition to adding new content to the base game, we will also be adding animations and graphics in the upcoming DLC, which may cause a slight delay in the release date.

After many days of hard work, we hope to present the new release in a better and more complete form to everyone.

Thank you for your patience and support.

※Regarding the Arabic version

Due to limitations in the Unity engine plugins currently used in the game, the special text mode (Right To Left) for Arabic cannot be implemented.

Therefore, in order to ensure a smooth gaming experience for Arabic players, we will be switching to another game engine that supports RTL, and this porting process may take some time.

We will also do our best to improve quality and efficiency.

Additionally, the new engine may render graphics and special effects slightly differently than Unity, and we will do our best to overcome these challenges and provide a better overall experience.

Thank you again for your support and patience:)
Hello, Fucking World! - Weissgarden



In order to enhance the player experience, in addition to adding new content to the base game, we will also be adding animations and graphics in the upcoming DLC, which may cause a slight delay in the release date.

After many days of hard work, we hope to present the new release in a better and more complete form to everyone.

Thank you for your patience and support.

※Regarding the Arabic version

Due to limitations in the Unity engine plugins currently used in the game, the special text mode (Right To Left) for Arabic cannot be implemented.

Therefore, in order to ensure a smooth gaming experience for Arabic players, we will be switching to another game engine that supports RTL, and this porting process may take some time.

We will also do our best to improve quality and efficiency.

Additionally, the new engine may render graphics and special effects slightly differently than Unity, and we will do our best to overcome these challenges and provide a better overall experience.

Thank you again for your support and patience:)
失落之白 Eternal Liiivie- 18+ Content - Weissgarden



In order to enhance the player experience, in addition to adding new content to the base game, we will also be adding animations and graphics in the upcoming DLC, which may cause a slight delay in the release date.

After many days of hard work, we hope to present the new release in a better and more complete form to everyone.

Thank you for your patience and support.

※Regarding the Arabic version

Due to limitations in the Unity engine plugins currently used in the game, the special text mode (Right To Left) for Arabic cannot be implemented.

Therefore, in order to ensure a smooth gaming experience for Arabic players, we will be switching to another game engine that supports RTL, and this porting process may take some time.

We will also do our best to improve quality and efficiency.

Additionally, the new engine may render graphics and special effects slightly differently than Unity, and we will do our best to overcome these challenges and provide a better overall experience.

Thank you again for your support and patience:)
Eternal Liiivie - EP1 Liiivie Isolated From the World - Weissgarden



In order to enhance the player experience, in addition to adding new content to the base game, we will also be adding animations and graphics in the upcoming DLC, which may cause a slight delay in the release date.

After many days of hard work, we hope to present the new release in a better and more complete form to everyone.

Thank you for your patience and support.

※Regarding the Arabic version

Due to limitations in the Unity engine plugins currently used in the game, the special text mode (Right To Left) for Arabic cannot be implemented.

Therefore, in order to ensure a smooth gaming experience for Arabic players, we will be switching to another game engine that supports RTL, and this porting process may take some time.

We will also do our best to improve quality and efficiency.

Additionally, the new engine may render graphics and special effects slightly differently than Unity, and we will do our best to overcome these challenges and provide a better overall experience.

Thank you again for your support and patience:)
A.I-Mnemosyne 記憶女神 - Weissgarden



In order to enhance the player experience, in addition to adding new content to the base game, we will also be adding animations and graphics in the upcoming DLC, which may cause a slight delay in the release date.

After many days of hard work, we hope to present the new release in a better and more complete form to everyone.

Thank you for your patience and support.

※Regarding the Arabic version

Due to limitations in the Unity engine plugins currently used in the game, the special text mode (Right To Left) for Arabic cannot be implemented.

Therefore, in order to ensure a smooth gaming experience for Arabic players, we will be switching to another game engine that supports RTL, and this porting process may take some time.

We will also do our best to improve quality and efficiency.

Additionally, the new engine may render graphics and special effects slightly differently than Unity, and we will do our best to overcome these challenges and provide a better overall experience.

Thank you again for your support and patience:)
Hell Evolution – Devil Girls Raising (R-18) - Weissgarden



In order to enhance the player experience, in addition to adding new content to the base game, we will also be adding animations and graphics in the upcoming DLC, which may cause a slight delay in the release date.

After many days of hard work, we hope to present the new release in a better and more complete form to everyone.

Thank you for your patience and support.

※Regarding the Arabic version

Due to limitations in the Unity engine plugins currently used in the game, the special text mode (Right To Left) for Arabic cannot be implemented.

Therefore, in order to ensure a smooth gaming experience for Arabic players, we will be switching to another game engine that supports RTL, and this porting process may take some time.

We will also do our best to improve quality and efficiency.

Additionally, the new engine may render graphics and special effects slightly differently than Unity, and we will do our best to overcome these challenges and provide a better overall experience.

Thank you again for your support and patience:)
Ghost Girl Lasling (G-rated) - Weissgarden



In order to enhance the player experience, in addition to adding new content to the base game, we will also be adding animations and graphics in the upcoming DLC, which may cause a slight delay in the release date.

After many days of hard work, we hope to present the new release in a better and more complete form to everyone.

Thank you for your patience and support.

※Regarding the Arabic version

Due to limitations in the Unity engine plugins currently used in the game, the special text mode (Right To Left) for Arabic cannot be implemented.

Therefore, in order to ensure a smooth gaming experience for Arabic players, we will be switching to another game engine that supports RTL, and this porting process may take some time.

We will also do our best to improve quality and efficiency.

Additionally, the new engine may render graphics and special effects slightly differently than Unity, and we will do our best to overcome these challenges and provide a better overall experience.

Thank you again for your support and patience:)
Eternal Liiivie EP2- Hiding in the dark - Weissgarden



In order to enhance the player experience, in addition to adding new content to the base game, we will also be adding animations and graphics in the upcoming DLC, which may cause a slight delay in the release date.

After many days of hard work, we hope to present the new release in a better and more complete form to everyone.

Thank you for your patience and support.

※Regarding the Arabic version

Due to limitations in the Unity engine plugins currently used in the game, the special text mode (Right To Left) for Arabic cannot be implemented.

Therefore, in order to ensure a smooth gaming experience for Arabic players, we will be switching to another game engine that supports RTL, and this porting process may take some time.

We will also do our best to improve quality and efficiency.

Additionally, the new engine may render graphics and special effects slightly differently than Unity, and we will do our best to overcome these challenges and provide a better overall experience.

Thank you again for your support and patience:)
...