DFHack Example Configuration File Guide

The hack/examples folder contains ready-to-use examples of various DFHack configuration files. You can use them by copying them to appropriate folders where DFHack and its plugins can find them (details below). You can use them unmodified, or you can customize them to better suit your preferences.

The init/ subfolder

The init/ subfolder contains useful DFHack Init Files that you can copy into your main Dwarf Fortress folder – the same directory as dfhack.init.

onMapLoad_dreamfort.init

This is the config file that comes with the Dreamfort set of blueprints, but it is useful (and customizable) for any fort. It includes the following config:

  • Calls ban-cooking for items that have important alternate uses and should not be cooked. This configuration is only set when a fortress is first started, so later manual changes will not be overridden.
  • Automates calling of various fort maintenance and Bugfixing Scripts, like cleanowned and fix/stuckdoors.
  • Keeps your manager orders intelligently ordered with orders sort so no orders block other orders from ever getting completed.
  • Periodically enqueues orders to shear and milk shearable and milkable pets.
  • Sets up autofarm to grow 30 units of every crop, except for pig tails, which is set to 150 units to support the textile industry.
  • Sets up seedwatch to keep 30 of every type of seed.
  • Configures prioritize to automatically boost the priority of important and time-sensitive tasks that could otherwise get ignored in busy forts, like hauling food, tanning hides, storing items in vehicles, pulling levers, and removing constructions.
  • Optimizes autobutcher settings for raising geese, alpacas, sheep, llamas, and pigs. Adds sensible defaults for all other animals, including dogs and cats. There are instructions in the file for customizing the settings for other combinations of animals. These settings are also only set when a fortress is first started, so any later changes you make to autobutcher settings won’t be overridden.
  • Enables automelt, tailor, zone, nestboxes, and autonestbox.

The orders/ subfolder

The orders/ subfolder contains manager orders that, along with the onMapLoad_dreamfort.init file above, allow a fort to be self-sustaining. Copy them to your dfhack-config/orders/ folder and import as required with the orders DFHack plugin.

basic.json

This collection of orders handles basic fort necessities:

  • prepared meals and food products (and by-products like oil)
  • booze/mead
  • thread/cloth/dye
  • pots/jugs/buckets
  • bags of leather, cloth, silk, and yarn
  • crafts and totems from otherwise unusable by-products
  • mechanisms/cages
  • splints/crutches
  • lye/soap
  • ash/potash
  • beds/wheelbarrows/minecarts
  • scrolls

You should import it as soon as you have enough dwarves to perform the tasks. Right after the first migration wave is usually a good time.

furnace.json

This collection creates basic items that require heat. It is separated out from basic.json to give players the opportunity to set up magma furnaces first in order to save resources. It handles:

  • charcoal (including smelting of bituminous coal and lignite)
  • pearlash
  • sand
  • green/clear/crystal glass
  • adamantine processing
  • item melting

Orders are missing for plaster powder until DF bug 11803 is fixed.

military.json

This collection adds high-volume smelting jobs for military-grade metal ores and produces weapons and armor:

  • leather backpacks/waterskins/cloaks/quivers/armor
  • bone/wooden bolts
  • smelting for platinum, silver, steel, bronze, bismuth bronze, and copper (and their dependencies)
  • bronze/bismuth bronze/copper bolts
  • platinum/silver/steel/iron/bismuth bronze/bronze/copper weapons and armor, with checks to ensure only the best available materials are being used

If you set a stockpile to take weapons and armor of less than masterwork quality and turn on automelt (like what Dreamfort provides on its industry level), these orders will automatically upgrade your military equipment to masterwork. Make sure you have a lot of fuel (or magma forges and furnaces) before you turn automelt on, though!

This file should only be imported, of course, if you need to equip a military.

smelting.json

This collection adds smelting jobs for all ores. It includes handling the ores already managed by military.json, but has lower limits. This ensures all ores will be covered if a player imports smelting but not military, but the higher-volume military orders will take priority if both are imported.

rockstock.json

This collection of orders keeps a small stock of all types of rock furniture. This allows you to do ad-hoc furnishings of guildhalls, libraries, temples, or other rooms with buildingplan and your masons will make sure there is always stock on hand to fulfill the plans.

glassstock.json

Similar to rockstock above, this collection keeps a small stock of all types of glass furniture. If you have a functioning glass industry, this is more sustainable than rockstock since you can never run out of sand. If you have plenty of rock and just want the variety, you can import both rockstock and glassstock to get a mixture of rock and glass furnishings in your fort.

There are a few items that glassstock produces that rockstock does not, since there are some items that can not be made out of rock, for example:

  • tubes and corkscrews for building magma-safe screw pumps
  • windows
  • terrariums (as an alternative to wooden cages)

The professions/ subfolder

The professions/ subfolder contains professions, or sets of related labors, that you can assign to your dwarves with the DFHack manipulator plugin. Copy them into the professions/ subdirectory under the main Dwarf Fortress folder (you may have to create this subdirectory) and assign them to your dwarves in the manipulator UI, accessible from the units screen via the l hotkey. Make sure that the manipulator plugin is enabled in your dfhack.init file! You can assign a profession to a dwarf by selecting the dwarf in the manipulator UI and hitting p. The list of professions that you copied into the professions/ folder will show up for you to choose from. This is very useful for assigning roles to new migrants to ensure that all the tasks in your fort have adequate numbers of dwarves attending to them.

If you’d rather use Dwarf Therapist to manage your labors, it is easy to import these professions to DT and use them there. Simply assign the professions you want to import to a dwarf. Once you have assigned a profession to at least one dwarf, you can select “Import Professions from DF” in the DT “File” menu. The professions will then be available for use in DT.

In the charts below, the “At Start” and “Max” columns indicate the approximate number of dwarves of each profession that you are likely to need at the start of the game and how many you are likely to need in a mature fort.

Profession At Start Max Description
Chef 0 3 Buchery, Tanning, and Cooking. It is important to focus just a few dwarves on cooking since well-crafted meals make dwarves very happy. They are also an excellent trade good.
Craftsdwarf 0 4-6 All labors used at Craftsdwarf’s workshops, Glassmaker’s workshops, and kilns.
Doctor 0 2-4 The full suite of medical labors, plus Animal Caretaking for those using the dwarfvet plugin.
Farmer 1 4 Food- and animal product-related labors. This profession also has the Alchemist labor enabled since they need to focus on food-related jobs, though you might want to disable Alchemist for your first farmer until there are actual farming duties to perform.
Fisherdwarf 0 0-1 Fishing and fish cleaning. If you assign this profession to any dwarf, be prepared to be inundated with fish. Fisherdwarves never stop fishing. Be sure to also run prioritize -a PrepareRawFish ExtractFromRawFish (or use the onMapLoad_dreamfort.init file above) or else caught fish will just be left to rot.
Hauler 0 >20 All hauling labors plus Siege Operating, Mechanic (so haulers can assist in reloading traps) and Architecture (so haulers can help build massive windmill farms and pump stacks). As you accumulate enough Haulers, you can turn off hauling labors for other dwarves so they can focus on their skilled tasks. You may also want to restrict your Mechanic’s workshops to only skilled mechanics so your haulers don’t make low-quality mechanisms.
Laborer 0 10-12 All labors that don’t improve quality with skill, such as Soapmaking and furnace labors.
Marksdwarf 0 10-30 Similar to Hauler. See the description for Meleedwarf below for more details.
Mason 2 2-4 Masonry, Gem Cutting/Encrusting, and Architecture. In the early game, you may need to run “prioritize ConstructBuilding” to get your masons to build wells and bridges if they are too busy crafting stone furniture. Late game, you can turn off their Architecture labor since that will be better handled by your Haulers.
Meleedwarf 0 20-50 Similar to Hauler, but without most civilian labors. This profession is separate from Hauler so you can find your military dwarves easily. Meleedwarves and Marksdwarves have Mechanics and hauling labors enabled so you can temporarily deactivate your military after sieges and allow your military dwarves to help clean up.
Migrant 0 0 You can assign this profession to new migrants temporarily while you sort them into professions. Like Marksdwarf and Meleedwarf, the purpose of this profession is so you can find your new dwarves more easily.
Miner 2 2-10 Mining and Engraving. This profession also has the Alchemist labor enabled, which disables hauling for those using the autohauler plugin. Once the need for Miners tapers off in the late game, dwarves with this profession make good military dwarves, wielding their picks as weapons.
Outdoorsdwarf 1 2-4 Carpentry, Bowyery, Woodcutting, Animal Training, Trapping, Plant Gathering, Beekeeping, and Siege Engineering.
Smith 0 2-4 Smithing labors. You may want to specialize your Smiths to focus on a single smithing skill to maximize equipment quality.
StartManager 1 0 All skills not covered by the other starting professions (Miner, Mason, Outdoorsdwarf, and Farmer), plus a few overlapping skills to assist in critical tasks at the beginning of the game. Individual labors should be turned off as migrants are assigned more specialized professions that cover them, and the StartManager dwarf can eventually convert to some other profession.
Tailor 0 2 Textile industry labors: Dying, Leatherworking, Weaving, and Clothesmaking.

A note on autohauler

These profession definitions are designed to work well with or without the autohauler plugin (which helps to keep your dwarves focused on skilled labors instead of constantly being distracted by hauling). If you do want to use autohauler, adding the following lines to your onMapLoad.init file will configure it to let the professions manage the “Feed water to civilians” and “Recover wounded” labors instead of enabling those labors for all hauling dwarves:

on-new-fortress enable autohauler
on-new-fortress autohauler FEED_WATER_CIVILIANS allow
on-new-fortress autohauler RECOVER_WOUNDED allow