v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "Installation"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(→‎64bit: Updated instructions to clear up confusion over packages and improve sound library fix)
(→‎via Whisky on Apple Silicon Macs: fixed incorrect line to add; the part in brackets is added by whisky. Adding it manually will crash DF every time. Try yourself please!)
 
(141 intermediate revisions by 40 users not shown)
Line 1: Line 1:
{{Quality|Exceptional|12:06, 26 January 2015 (UTC)}}
+
{{Quality|Fine}}
 
{{av}}
 
{{av}}
<br/>
 
{{quick download|{{current/version/ns}}}}
 
<br/>
 
 
{{TOC right}}
 
{{TOC right}}
= Download =
+
''Dwarf Fortress'' is available as [[Premium version|Premium and Classic versions]]. The installation process depends on the game version.
  
Free alpha builds of ''Dwarf Fortress Classic'' are available directly from the developers, Bay 12 Games, at http://www.bay12games.com/dwarves/ . The three downloads linked at the top of the main page are 64-bit versions of DF for Windows, macOS, and Linux. "All versions" links to a page with additional choices, including 32-bit builds for all platforms, "small" builds for Windows (which lack sound files), and "legacy" builds for Windows. Generally, the SDL builds for Windows should be preferred, although the Legacy builds may be necessary on some older computers.
+
The ''Premium version'' is published on the [https://store.steampowered.com/app/975370/Dwarf_Fortress/ Steam] and [https://kitfoxgames.itch.io/dwarf-fortress itch.io] platforms. Once bought, the game will automatically add to your game library and will handle like any other game on the platform.  
  
''Dwarf Fortress'' is slated to be released on the [https://store.steampowered.com/app/975370/Dwarf_Fortress/ Steam] and [https://kitfoxgames.itch.io/dwarf-fortress itch.io] platforms in the future. These paid versions of the game will include an all-new graphical [[tileset]] and new music tracks. Additionally, the Steam version will include Steam Workshop integration for [[mod]]ding. Most other features will be shared with ''Dwarf Fortress Classic'' (which will remain available for free).  
+
The ''Classic version'' is freely available directly from the developers, [http://www.bay12games.com/dwarves/ Bay 12 Games]. Simply download the latest version, extract its contents, and play.
  
== Third-Party Packages ==
+
Note that plans for a native MacOS build have been [https://store.steampowered.com/news/app/975370/view/4237410439220288178?l=english cancelled] for the time being, but some people have gotten both the Steam and Classic version working through Wine. [[#MacOS|See below]].
  
{{main|Utility:Lazy Newb Pack}}
+
= Classic Download =
 +
{{quick download|0.{{current/version/ns}}}}
 +
''Dwarf Fortress Classic'' is freely available directly from the developers, [http://www.bay12games.com/dwarves/ Bay 12 Games]. Simply find the version that matches your operating system and click the link. You may be prompted to save an archive file, or your browser may save it to its configured downloads folder, do so and follow the installation instructions bellow.
  
There are several packages which bundle the game with several utilities and graphics sets, usually configurable with an included launcher. These are listed on the [[Utility:Lazy Newb Pack|Lazy Newb Pack]] page.
+
:The download linked at the top of the main page is a 64-bit version for Windows. "All versions" links to a page with additional choices depending on version, possibly including "small" builds for Windows (which lack sound files).
  
The ''Dwarf Fortress'' community often creates custom [[Graphics set repository|graphics sets]], [[Tileset repository|tilesets]] and [[Color_scheme#Custom_color_schemes|color schemes]]. They're like graphical mods that make DF look prettier or just different. A lot of people pack the game folder with the tileset installed and everything already set up, so all you have to do is extract and play. Among the most popular of these are [http://www.bay12forums.com/smf/index.php?topic=53180.0 Ironhand's Graphics Set] and [http://www.bay12forums.com/smf/index.php?topic=57557.0 Phoebus' Graphic Set].  Most notable graphics sets are included in the packs mentioned above.
+
== DFHack and other third-party packages ==
  
= Installation =
+
The most prominent add-on to install for ''Dwarf Fortress'' is [[Utility:DFHack|DFHack]], which introduces a wide variety of interface improvements, bugfixes, and productivity tools. If you have installed ''Dwarf Fortress'' via Steam, you can also [https://store.steampowered.com/app/2346660/DFHack install DFHack from Steam]. Players of other ''Dwarf Fortress'' distributions can download and install DFHack from DFHack's [https://github.com/dfhack/dfhack/releases GitHub releases page].
:''Also see: [[System requirements]]''
 
  
== Windows ==
+
If you have an older version of DF, you might be interested in the [[Utility:Lazy Newb Pack|Lazy Newb Pack]], which bundles a number of utilities and graphic sets (including DFHack). With recent (''50.01+'') versions of ''Dwarf Fortress'', a Lazy Newb Pack is no longer needed.
  
There is no installer for the game. Simply extract the archive file to a folder somewhere and run the game from within the folder by opening "Dwarf Fortress.exe".
+
There are also a wide variety of player-made mods available at the [https://steamcommunity.com/app/975370/workshop/ Dwarf Fortress Steam Workshop] and the [http://www.bay12forums.com/smf/index.php?board=27.0 Bay 12 forums]. If you don't have a Steam account, workshop mods can also be downloaded from Steam using the [https://developer.valvesoftware.com/wiki/SteamCMD steamcmd] commandline utility.
  
Make sure to actually ''extract'' the archive; do not just open the archive and run the game from the window that appears. If you do this then it may appear to work, but your save game data will get discarded. This is the cause of many "my saved games keep getting deleted" complaints. The game also needs to be able to write to its own folder, so do '''not''' install it in C:\Program Files if you are running Windows Vista or later.
+
= Classic Installation =
 +
:''Also see: [[System requirements]]''
  
If you have an error stating that MSVCP140.dll is missing, it can be obtained by downloading [https://www.microsoft.com/en-us/download/details.aspx?id=48145 Visual C++ Redistributable for Visual Studio 2015]. When prompted choose the x64 version for 64-bit DF, or the x86 version for 32-bit DF.
+
== Windows ==
 
 
== Mac ==
 
  
The Mac version is not a single application bundle, but like the Windows version it consists of a folder containing the application along with data files and there is no installer. The entire folder can be dragged into the Applications folder or placed elsewhere. As with the Windows version, the game must be able to write to its own folder.
+
There is no installer for the game. Simply right-click the zip archive you downloaded and choose <code>Extract All...</code>, then choose a destination folder, and click <code>Extract</code> (or maybe <code>Unzip</code> or <code>Next</code> on older versions of Windows). By default Windows uses the name of the archive as the folder name, in the folder the archive is in, so something like <code>C:\Users\yourusername\Downloads\df_50_12_win</code>. You should change that to something like <code>C:\Users\yourusername\Desktop\Dwarf Fortress</code> or <code>C:\games\Dwarf Fortress</code>. After the files have been extracted, double-click the <code>Dwarf Fortress.exe</code> file within the folder you chose to start the game.
  
To start the game execute the launch script "df". Launching "dwarfort.exe" by itself will ''not'' work (since the "df" script sets up [[wikipedia:environment variables|environment variables]] pointing to DF's libraries).
+
* Make sure to actually ''extract'' the archive; do not just double-click the archive and run the game from the window that appears. If you do this, then it may appear to work, but your save game data will get discarded - the cause of many "my saved games keep getting deleted" complaints.
 +
* The game needs to be able to write to its own folder, choose a game folder your user has write access to without requiring administrator rights for example: your <code>Downloads</code> folder, <code>Desktop</code>, or <code>C:\games\..</code>; do '''not''' install it in <code>C:\Program Files\..</code> unless you know how to set up the correct permissions.
  
On OS X 10.8 and above, you will need to [http://www.bay12games.com/dwarves/mantisbt/view.php?id=7389#c32194 update the SDL_ttf library] to run ''Dwarf Fortress''. {{bug|7389}}
+
Troubleshooting:  
* [https://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.11.dmg Download] SDL_ttf 2.0.11 and replace the file libs/SDL_ttf.framework with the one from the downloaded folder.
 
  
On OS X 10.11 and above, for the 32-bit version of DF only, you will need to [http://www.bay12games.com/dwarves/mantisbt/view.php?id=2624#c33110 update the SDL library]:
+
* If you have an error stating that MSVCP140.dll or MSVCP140_ATOMIC_WAIT.dll is missing, it can be obtained by downloading the [https://aka.ms/vs/17/release/vc_redist.x64.exe Visual C++ Redistributable for Visual Studio 2022].
* [https://www.libsdl.org/release/SDL-1.2.15.dmg Download] SDL 1.2.15 and replace the file libs/SDL.framework with the one from the downloaded folder
+
* If Windows is set to scale the display, you may need to disable that for DF. Right-click the ''Dwarf Fortress.exe'' icon, select '''Properties''', select the '''Compatibility''' tab, and then activate the '''Disable display scaling on high DPI settings''' (or '''Override high DPI scaling behavior, scaling performed by: Application''') check box.[https://support.microsoft.com/en-us/help/3025083/windows-scaling-issues-for-high-dpi-devices]
  
Alternatively, instead of replacing SDL, you can change the PRINT_MODE setting in data/init/[[init.txt]] to STANDARD (or anything not related to 2D). {{bug|2624}}
+
Creating shortcuts:
  
Retina display users will also need to change PRINT_MODE to STANDARD (or any non-2D option) in [[init.txt]]. {{bug|6031}}
+
* Right-click the <code>Dwarf Fortress.exe</code> file and choose any of <code>Pin to Start</code>, <code>Pin to taskbar</code>, or <code>Send To > Desktop (create shortcut)</code>. (The availability of these options may vary depending on the version of Windows.)
  
 
== Linux ==
 
== Linux ==
  
As of 0.43.05, both 64-bit and 32-bit compiled editions are available for ''Dwarf Fortress''. For older versions you can run the 32-bit compiled edition with a 64-bit system, provided that you have the (32-bit) shared libraries available that the program needs. Note that users of 32-bit systems have to click the All Versions button on the ''Dwarf Fortress'' download page in order to get the 32-bit edition.
+
''Dwarf Fortress'' for Linux is expected to be run from a terminal (command-line) interface, and so the instructions here will assume you know how to log in and get to a command prompt. By default, however, ''Dwarf Fortress'' is a graphical desktop program (an X client), so you should be in a terminal emulator (inside an X session) before starting the game. ''Dwarf Fortress'' will create a new window outside of the terminal window by default, so don't worry about the size of the terminal.
  
''Dwarf Fortress'' for Linux is meant to be run from a terminal (command-line) interface, and so the instructions here will assume you know how to login and get to a command prompt.  At least in the default mode, however, ''Dwarf Fortress'' is an X client (graphical desktop) program, so you should be in a terminal inside an X session before starting the gameDwarf Fortress will create a new X window outside of the terminal window, so don't worry about the size of the terminal.
+
'''Downloading''': Either download it from the [http://www.bay12games.com/dwarves/ Dwarf Fortress Homepage] with a web browser, or with the following terminal command, replacing "XX_YY" with the numbers in the desired ''Dwarf Fortress'' file version, found on the [http://www.bay12games.com/dwarves/ site]:
 +
  wget http://www.bay12games.com/dwarves/df_XX_YY_linux.tar.bz2
  
*'''Downloading''': Either download it from the [http://www.bay12games.com/dwarves/ Dwarf Fortress Homepage], or from the terminal call (replacing "XX_YY" with the numbers in the most current ''Dwarf Fortress'' file version, found on the [http://www.bay12games.com/dwarves/ site]):
+
'''Unpacking''': ''Dwarf Fortress'' is shipped as a (bzip2) compressed tar archive. Current builds will extract directly into the current directory, so create a new subdirectory in a suitable location (perhaps <code>~/games/df_linux</code>), <code>cd</code> to it, and then run
<code>wget http://www.bay12games.com/dwarves/df_XX_YY_linux.tar.bz2</code>
 
* '''Unpacking''': Dwarf Fortress is shipped as a (bzip2) compressed tar archive. It will extract into a new directory called '''df_linux'''.  So, cd to wherever you want the game to be unpacked, and then run
 
 
  tar -xjf /path/to/df_XX_YY_linux.tar.bz2
 
  tar -xjf /path/to/df_XX_YY_linux.tar.bz2
(where df_XX_YY_linux.tar.bz2 is the filename).  Then
+
where /path/to/df_XX_YY_linux.tar.bz2 is the path and filename of the actual file you downloaded.
cd df_linux
 
to change into the new directory, and
 
./df
 
to execute the ''Dwarf Fortress'' wrapper script.
 
  
(note: <code>tar -xjvf ./df_XX_YY_linux.tar.bz2</code> may be needed in some cases.)
+
'''Dependencies:''' ''Dwarf Fortress'' requires at least the SDL2 and SDL2_image libraries. If you downloaded Classic or Itch builds of DF, these libraries are not included. To install these libraries, run the appropriate command for your distro:
  
When you installed Linux, you chose one of a 32-bit or 64-bit architectures. The programs on your system will then be compiled either for the 32-bit (i386, x86) arch, or the 64-bit (amd64, x86_64) arch. If you've forgotten which one you have, you can check by running the command <code>uname -m</code> in a terminal. A result of <code>x86_64</code> and <code>i686</code> would indicate a 64-bit or a 32-bit system respectively.
+
* on Debian-based systems (e.g. Ubuntu/Linux Mint/Pop!_OS):
 +
sudo apt install libsdl2-image-2.0-0
 +
* on Fedora/CentOS, use one of the following depending on your package manager:
 +
sudo dnf install SDL SDL_image
 +
# or:
 +
sudo yum install SDL SDL_image
 +
* on OpenSUSE:
 +
  sudo zypper in libGLU1 libSDL_image-1_2-0
  
All that's needed now is to install the required dependencies. If you are getting errors about missing SDL_image libraries (etc.) then you simply need to install them. Use your distribution's package manager for this -- details will be extremely distribution-specific. You don't need the development versions of the packages with the headers (although that won't hurt) -- you just need the runtime versions, with the actual shared libraries. Specific installation commands for some popular distributions are listed below.
+
note: these lists may not be exhaustive.
 
 
Since ''Dwarf Fortress'' 0.43.05 is now compiled for both architectures, running natively shouldn't be an issue. However if you're wanting to run an older version of ''Dwarf Fortress'' on a 64-bit system, things get a bit trickier. Since older DF is only a 32-bit application, it will need 32-bit versions of the shared libraries. Some Linux distributions provide these in one or more packages that you can download. For example, in Debian, you'll need to enable the 32bit architecture in your package manager and install the relevant 32-bit libraries like libSDL. If your distribution does not include these, then you may have to supply them manually.
 
 
 
 
 
=== Debian-based ===
 
==== 64bit ====
 
 
 
===== Install dependencies =====
 
 
 
  $ sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-ttf2.0-0 libopenal1 libsndfile1
 
 
 
This will install the SDL image and font libraries necessary, as well as libopenal and libsndfile, which are needed to get the sound working.
 
 
 
===== Fix sound issues =====
 
 
 
Currently, ''Dwarf Fortress'' does not quite look in the correct place for the sound libraries it needs to play the wonderful music. This is easily fixed.
 
 
 
Switch to the ''Dwarf Fortress'' folder:
 
 
 
  $ cd ~/df_linux    # or other location, depending on where you installed ''Dwarf Fortress''
 
  $ ln -s /usr/lib/x86_64-linux-gnu/libopenal.so.1 libs/libopenal.so
 
  $ ln -s /usr/lib/x86_64-linux-gnu/libsndfile.so.1 libs/libsndfile.so
 
 
 
===== Running 32-bit ''Dwarf Fortress'' on 64-bit Debian =====
 
 
 
If you're trying to run a version of ''Dwarf Fortress'' older than 0.43.05, you'll need to install the 32-bit versions of the libraries. You can do this like:
 
 
 
  $ sudo dpkg --add-architecture i386
 
  $ sudo apt-get update
 
  $ sudo apt-get install libsdl1.2debian:i386 libsdl-image1.2:i386 libsdl-ttf2.0-0:i386 libopenal1:i386 libsndfile1:i386
 
 
 
===== Fixing sound issues for 32-bit ''Dwarf Fortress'' =====
 
 
 
Almost the same as above, but the libraries will be in a different location:
 
 
 
  $ cd ~/df_linux    # or other location, depending on where you installed ''Dwarf Fortress''
 
  $ ln -s /usr/lib/i386-linux-gnu/libopenal.so.1 libs/libopenal.so
 
  $ ln -s /usr/lib/i386-linux-gnu/libsndfile.so.1 libs/libsndfile.so
 
 
 
==== 32bit ====
 
Nice and easy:
 
 
 
  $ sudo apt-get install libsdl-image1.2 libsdl-ttf2.0-0 libgtk2.0-0 libglu1-mesa libopenal1
 
  
 +
'''Running''': First, change to the new directory
 +
cd df_linux
 +
then run the program.
 +
./dwarfort
  
=== Fedora ===
+
If you have [[Utility:DFHack|DFHack]] installed, instead run
 +
./dfhack
 +
which will set up the console as a DFHack command terminal. The DFHack launcher also solves some issues with loading libraries that you may otherwise run into.
  
''Dwarf Fortress'' has been packaged in [https://rpmfusion.org/ RPM Fusion Nonfree], using a similar method as it is done in Arch Linux (see below). After [https://rpmfusion.org/Configuration installing RPM Fusion] you can simply run the following commands to install and run ''Dwarf Fortress'', which will pull in all the required dependencies:
+
'''Troubleshooting''':  
  
  $ sudo dnf install dwarffortress
+
Now you need to ensure that the required dependencies are installed. If you try to run the game and get errors about missing SDL_image libraries (etc.) then you need to install them. Use your distribution's package manager for this - details will be extremely distribution-specific. You don't need the development versions of the packages with the headers (although that won't hurt) - you just need the runtime versions, with the actual shared libraries.
  $ dwarffortress
 
  
Some other tool are provided by the same packager in the [https://mars.arosser.com/fedora/dwarffortress/dwarffortress.repo "Dwarf Fortress for Fedora"] repository. For more information please [http://www.bay12forums.com/smf/index.php?topic=158289.msg7009116#msg7009116 see this forum thread].
+
If sound is not working for you, load the game through the DFHack launcher (<code>./dfhack</code>) or change the startup command to:
 +
LD_LIBRARY_PATH=. ./dwarfort
  
If you want to install 64-bit ''Dwarf Fortress'' manually, you can run the following:
+
If you see any errors related to glibc when starting DF (for example, "version `GLIBC_2.34' not found"), your version of Linux is too old and will need to be upgraded (e.g. Ubuntu 20.04 LTS is insufficient, but 22.04 LTS should work). Alternatively, you can try running the Windows version in Wine.
  
  $ sudo dnf install SDL SDL_image SDL_ttf gtk2-devel openal-soft alsa-lib alsa-plugins-pulseaudio mesa-dri-drivers
+
== MacOS ==
 +
Although there is no native build, you can run Dwarf Fortress Premium version on a Mac through either [https://getwhisky.app Whisky] or [https://www.winehq.org/ Wine]. Whisky only works on Apple Silicon Macs, but is the preferred option if you are on Apple Silicon.
  
On 64-bit Fedora installations, to install 32-bit ''Dwarf Fortress'' you can install 32-bit libraries by appending ".i686" to the package name:
+
=== via Whisky on Apple Silicon Macs ===
 +
* Download the zip file for the [https://github.com/Whisky-App/Whisky/releases lastest release of Whisky].
 +
* Unzip the app and, optionally, move it to your /Applications/ folder.
 +
* Open the Whisky app and verify in the Setup settings that Rosetta and "WhiskyWine" are installed and checked. (Versions of Whisky prior to v2.3.0 will have "GPTK" instead of "WhiskyWine".<sup><nowiki>[</nowiki>[https://github.com/Whisky-App/Whisky/commit/d98a8147f1e25bffc9501020a45423f217e6a4cc source]]</sup>)
 +
* Create your first bottle. Win10 will work fine.
 +
* Click Bottle Configuration, then Open Wine Configuration. In the pane “Libraries”, add a new override:
 +
msvcp140_atomic_wait
 +
* Download Steam for Windows installer on your Mac
 +
* In Whisky click “Open C: Drive”, navigate to your Steam installation file, double-click the file and follow the instructions.
 +
* You should be able to run Steam and log in. Install Dwarf Fortress and strike the earth!
  
  $ sudo dnf install SDL.i686 SDL_image.i686 SDL_ttf.i686 gtk2-devel.i686 openal-soft.i686 alsa-lib.i686 alsa-plugins-pulseaudio.i686 mesa-dri-drivers.i686
+
You can install DF Hack through Steam too. If this fails (as it does for some) you can install it manually. Download the [https://github.com/dfhack/dfhack/releases latest release from their GitHub]. Unpack the zip and copy all files inside the DF Hack folder into your Dwarf Fortress folder. The DF folder can be found here: Library > Containers > Whisky > Bottles > (individual string of letters and numbers representing your bottle) > drive_c > Program Files (x86) > Steam > steamapps > common > Dwarf Fortress
  
Fedora installs all 32-bit libraries to /usr/lib and 64-bit libraries to /usr/lib64 (with /lib and /lib64 being links to these two directories), so if you need to install stuff manually, look in there.
+
For the Classic version follow the steps to create a Win10 bottle. Download the latest classic version from the[https://www.bay12games.com/dwarves/ Dwarf Fortress website]. Unpack the .zip file. Click “Open C: Drive” in Whisky and navigate to the unzipped classic version. Click Dwarf Fortress.exe to run the game.
  
=== Arch Linux ===
+
=== via Wine for older MacOS distributions ===
Although ''Dwarf Fortress may be installed using the method above (with some modifications), it is available through pacman (Arch Linux's package management system), in the [community], for 32-bit, and the [multilib], for 64-bit, repositories. These packages are updated as ''Dwarf fortress'' is updated, and handle required dependencies.
+
Wine needs [https://brew.sh/ Homebrew] to be installed, which is a Mac OS packet manager. If you don't have any experience with this, it might seem a bit overwhelming at first, but you should be fine just following the step-by-step guide below. If you need help with Homebrew, you find plenty of tutorials on the web. You will also need to run [https://en.wikipedia.org/wiki/Terminal_(macOS) Terminal], which is a build in App you can find and start through a search via Spotlight.  
  
==== 32-bit ====
+
If you have Homebrew installed, you can open Terminal and paste the following for installing Wine through brew.
All of the following commands must be run as root
+
brew install --cask --no-quarantine wine-stable
  
First, download and install ''Dwarf Fortress'' with pacman
+
Be sure to consult the [https://wiki.winehq.org/MacOS winehq website] for the most up to date instructions. If you don't have brew installed, follow the instructions on [https://brew.sh brew's website] before running the above command.
  pacman -S dwarffortress
 
Any required dependencies will be installed, too.
 
  
Next you need to add the user(s) that will be playing the game to the games group
+
For the Classic version, download the Windows version available on the [https://www.bay12games.com/dwarves/ Dwarf Fortress website] (see [[#Classic Download|Classic Download]] for a direct download link). A .zip file named df_50_13_win.zip or similar should automatically download and extract itself in your Downloads folder. Open the folder, right click Dwarf Fortress.exe, click Open With and then click Wine Stable. If (default) appears next to this, you don't need to do this next time and you can just double click Dwarf Fortress.exe to run it.
  gpasswd -a [users] games
 
  
Any users you added to the games group must now be logged out, if they were logged in
+
For the Steam version, first the caveat that you shouldn't buy it with the expectation of it working on MacOS. It is ''not'' officially supported on MacOS and so if you don't have a Windows or Linux machine as a backup, then you risk not being able to play what you paid for in the future, even if it happens to work for some people today.
  
Now ''Dwarf Fortress'' should be playable by typing:
+
That aside, download the Windows version of Steam from [https://store.steampowered.com/about/ Steam's website] by clicking on the little Windows icon. Right click SteamSetup and Open With Wine Stable. It might take a minute, but it should pop up the installer. The default options Steam gives should be okay. Once you're able to log in to Steam, download Dwarf Fortress from Steam like you would on Windows. You should be able to run Dwarf Fortress afterwards.
  dwarffortress
 
As any user in the games group. Any edits to game files must be done in the '.dwarffortress' directory in the user's home directory, not /opt/dwarffortress.
 
  
==== 64-Bit ====
+
Opening the Wine version of Steam again after closing it is a bit more tricky. Open Finder and press shift command G or click Go > Go to folder. Paste <code>~/.wine/drive_c/Program Files (x86)/Steam</code> into the prompt and press enter. You can then click steam.exe to run Steam again, or click steamapps > common > Dwarf Fortress to backup your saves and run Steam Dwarf Fortress directly by opening it with Wine.
Installing ''Dwarf Fortress'' on 64-bit installs of Arch Linux is the same as installing it on 32-bit systems, with the exception of the [multilib] repository needing to be enabled prior to install.
 
  
These commands also must be run as root.
+
Creating shortcuts:
  
To enable the [multilib] repository run:
+
* Right-click the <code>Dwarf Fortress.exe</code> file and choose <code>Make alias</code>. It should make a file in the same folder called Dwarf Fortress.exe alias. You can rename it and move it wherever you want. You can also make aliases for the Steam and Dwarf Fortress folders, so you don't have to find the hidden Windows files through Finder again.
  nano /etc/pacman.conf
 
And delete the pound symbol(#) in front of these three lines (Make sure the top one says #[multilib] NOT #[multilib-testing]. Note that the <code>SigLevel</code> line may not be present under [multilib] and it will most likely be higher up in the pacman.conf. This is fine and you can then simply remove the pound symbol from the two other lines.
 
#[multilib]
 
#SigLevel = PackageRequired
 
#Include = /etc/pacman.d/mirrorlist
 
So that they look like this
 
[multilib]
 
SigLevel = PackageRequired
 
Include = /etc/pacman.d/mirrorlist
 
Save the file by typing
 
  ctrl x
 
 
 
Then run:
 
  pacman -Syyu
 
 
 
===== Sound and Graphics =====
 
 
 
After that you can continue the install as detailed in the 32-bit section. Required 32-bit dependencies will automatically be installed, however you may have to install more dependencies, depending on what sound support you use, and your graphics card
 
 
 
If you use alsa sound, install lib32-alsa-lib with:
 
  pacman -S lib32-alsa-lib
 
 
 
If use use pulse sound install lib32-libpulse with:
 
  pacman -S lib32-libpulse
 
 
 
You will also need to install a 32-bit graphics driver. Install the driver from multilib that corresponds to your driver/device on [https://wiki.archlinux.org/index.php/Xorg#Driver_installation this chart]. ''For example'', if you have xf86-video-nouveau installed, you would run:
 
  pacman -S lib32-mesa-libgl
 
 
 
If you don't know what driver/device you're currently using run:
 
  lspci -k
 
 
 
Find the line that starts with "VGA compatible controller." Your driver will be listed under "kernel driver in use", like so:
 
  01:00.0 VGA compatible controller: NVIDIA Corporation GK106M [GeForce GTX 765M] (rev a1)
 
          Subsystem: ASUSTeK Computer Inc. Device 119d
 
          Kernel driver in use: nvidia
 
          Kernel modules: nouveau, nvidia
 
 
 
If you are using/wish to use the AMD catalyst drivers, please note that they are no longer available within the main arch repositories. You will have to install them from the AUR. [https://wiki.archlinux.org/index.php/AMD_Catalyst#Installation See here for more information.]
 
 
 
If you have Nvidia graphics, you may also want to install lib32-nvidia-utils with:
 
  pacman -S lib32-nvidia-utils
 
 
 
=== CentOS 7 ===
 
 
 
''Dwarf Fortress'' is now 64-bit, so simply run:
 
 
 
  sudo yum install SDL SDL_image SDL_ttf openal
 
 
 
Note that CentOS 7 ships with glibc 2.17, but ''Dwarf Fortress'' by default would like 2.18. [http://www.bay12games.com/dwarves/mantisbt/view.php?id=9893 This bug] has a fix, simply copy the [http://pastebin.com/jX4Wf062 Pastebin script], then move the libraries into a new folder.
 
 
 
  cd df_linux
 
  curl -L http://pastebin.com/raw/jX4Wf062 > df
 
  mkdir c_libs
 
  mv libs/libgcc_s.so.1 libs/libstdc++.so.6 c_libs/
 
  chmod a+x df
 
 
 
Then run it!
 
  ./df
 
 
 
=== Gentoo ===
 
 
 
There is a ''Dwarf Fortress'' [https://packages.gentoo.org/package/games-roguelike/dwarf-fortress ebuild] in the main Gentoo's portage tree compatible with the new multilib support.
 
 
 
  # emerge -av games-roguelike/dwarf-fortress
 
 
 
=== Solus ===
 
 
 
Download ''Dwarf Fortress'' from the Bay 12 Games website. If you encounter the following error upon launch:
 
 
 
  ./libs/Dwarf_Fortress: error while loading shared libraries: libSDL_ttf-2.0.so.0: cannot open shared object file: No such file or directory
 
 
 
then simply run the following command to install the missing libraries:
 
 
 
  sudo eopkg install sdl-ttf
 
 
 
If you are running a 32bit version of ''Dwarf Fortress'', simply replace <code>sdl-ttf</code> with <code>sdl-ttf-32bit</code> in the above command. You're all set!
 
 
 
=== Wine ===
 
Downloading the windows version and running it with Wine works fine ([https://appdb.winehq.org/objectManager.php?sClass=version&iId=32503 platinum] on 1.7.47 as of .4x.xx, which means the program runs flawlessly without any initial user configuration). This also avoids any issues with 32-bit versus 64-bit mode.
 
 
 
=== Troubleshooting ===
 
If you get errors, it is likely that others will have had the same problem; Try searching the bay12games forum with the error message.
 
==== Sound ====
 
 
 
After installing, DF will run, but will complain that it cannot find the OpenAL library and cannot play sounds, even when OpenAL (i386) has been installed. This is due to a bug/feature in which there is no link from the name of the library that DF is looking for ("libopenal.so") to its implementation ("libopenal.so.1" - technically another link). To fix this, simply provide the necessary links in DF's own ''libs'' directory:
 
 
 
  $ cd df_linux/libs
 
  $ ln -s /usr/lib/i386-linux-gnu/libopenal.so.1 ./libopenal.so
 
  $ ln -s /usr/lib/i386-linux-gnu/libsndfile.so.1 ./libsndfile.so
 
 
 
==== Upgrading ====
 
 
 
Since every new version of ''Dwarf Fortress'' unpacks in a directory named '''df_linux''' you have to manage upgrades yourself - or use the [http://dffd.wimbli.com/file.php?id=9639 Linux Updater Script]. As on all systems, you should '''not''' unpack a new version of DF on top of an old version's directory -- this will cause things to break, usually in subtle and mysterious ways.  Instead, you should either delete or rename the old '''df_linux''' directory first, before extracting the new version.
 
 
 
==== Manually installing 32-bit libraries ====
 
 
 
If you do need to manually install the libraries, then the first step is to figure out where you will be putting them.  Check to see where your other 32-bit libraries are already installed; for example, on Debian, some are in /lib32 and others are in /usr/lib32.  Since libSDL is in /usr/lib32 on a Debian system, that's where we'll want to put libSDL_image and libSDL_ttf. On other distributions, the path could be different.
 
 
 
The second step is to get the 32-bit libraries.  You can typically do this by downloading them directly from your distribution's 32-bit package repository.  Again using Debian as our example, we can perform a search at http://packages.debian.org/ for files containing the word libSDL_image for the Intel x86 architecture.  This takes us to [http://packages.debian.org/search?searchon=contents&keywords=libSDL_image&mode=filename&suite=stable&arch=i386 a results page] from which we can proceed to [http://packages.debian.org/squeeze/libsdl-image1.2 the libsdl-image1.2 package page] with a list of download links arranged by architecture.  Grab the i386 package from here, and repeat this for the libSDL_ttf package, and whatever other library you are missing.  Store these package files somewhere convenient.
 
 
 
The third step is to extract the libraries from the packages and get them in the proper location.  You probably ''won't'' be able simply to install the packages using your package manager, because they are for the wrong architecture.  Instead, you'll probably have to extract them by hand.  The steps for doing this are distribution-specific, so when in doubt consult your distribution's help resources. Here are the steps for a .deb package.
 
 
 
* cd into some temporary working directory such as /tmp
 
* Extract the files from the .deb archive, which is in ar(1) format:
 
  tar x /path/to/libsdl-image1.2*_i386.deb
 
: This creates three files: debian-binary, control.tar.gz and data.tar.gz.  We only care about data.tar.gz.
 
* Extract data.tar.gz:
 
  tar xzf data.tar.gz
 
: This creates a subdirectory named usr with various files inside it.  We only care about usr/lib/libSDL_image-1.2.so.0.8.2 (or whatever precise version yours has).
 
* Move the shared library into place:
 
  sudo mv usr/lib/libSDL_image-1.2.so.* /usr/lib32/
 
* Create a symlink to it:
 
  cd /usr/lib32
 
  sudo ln -s libSDL_image-1.2.so.0.* libSDL_image-1.2.so.0
 
  cd -
 
 
 
Repeat this for libSDL_ttf and whatever other libraries are required.
 
 
 
'''NOTE''': If you get the error that libsndfile.so is not found, you must use the following:
 
  find */libsndfile.so*
 
cd to the correct directory, then use ln as shown above.
 
 
 
 
 
==== "Not found: /data/art/mouse.png" ====
 
===== Fix 1: Preload zlib=====
 
Due to incompatibilities between DF's included zlib and newer versions of zlib, libpng can fail on newer systems. A solution is to add this line to the beginning of <code>/your/path/df_linux/df</code> (or <code>/your/path/df_linux/dfhack</code> if you use [[DFHack]]):
 
export LD_PRELOAD=/usr/lib/libz.so.1
 
Note that this path can vary - be sure that it is referring to a '''32-bit''' zlib.
 
===== Fix 2: Use bmp instead =====
 
Another solution (if preloading zlib doesn't work) is to force DF to use the BMP versions of image files. You must first edit the ''/data/init/init.txt'' file and change all occurrences of "png" to "bmp". This should solve all the error messages except for one: "''Not found: data/art/mouse.png''" since there is no setting in the init files to change it. The workaround for this is to edit the ''Dwarf_Fortress'' file found in the ''/your/path/df_linux/libs'' folder which contains the setting for the mouse cursor.
 
If you don't know how to do that, you can try this:
 
* cd to the ''/df_linux/libs'' folder
 
* open ''Dwarf_Fortress'' in ''vi'' or any other editor of your choise:
 
  vi ./Dwarf_Fortress
 
: This opens the file for editing (text mode). If you are not familiar with ''vi'', it would be a good idea to follow these steps exactly and not press any other keys since they all activate specific commands. If you do press a key though, you can press the ''ESC key'' a few times to cancel the command.
 
* With vi open, write the following string and press ''Enter'':
 
  /mouse
 
: This will search for all the strings that contain the word "mouse" and place the cursor on the first match. Pressing the ''n key'' will cycle through all the matches.
 
* Press the ''n'' key until the cursor moves to the desired string, which is "''data/art/mouse.png''". If you accidentally move past the string, you can cycle back through the matched strings using the ''N key'' (shift + n).
 
* Once you find the right string, you will have to move the cursor over the "p" in "[..]/mouse.<b>p</b>ng". You do that by pressing the ''l key'' which will move the cursor to the right. There is also the ''h key'' to move the cursor to the left, in case you move past it.
 
* With the cursor in the right position press the following key sequence:
 
  xxxibmp
 
: This will replace the ''.png'' extension with the ''.bmp'' one which solves the problem of the missing ''/data/art/mouse.png'' error.
 
* All there is left to do is to save the modifications to the file and quit ''vi''. For that, press the ''ESC key'' once or twice and then press the following key sequence after which you press ''Enter'':
 
  :wq
 
: This saves the changes and quits 'vi'
 
 
 
Now the game should work properly. Have fun!
 
 
 
==FreeBSD==
 
 
 
Although there is no official version ported to FreeBSD, ''Dwarf Fortress'' can nevertheless be run using either Wine or FreeBSD's compatibility with Linux. However, attempting to run the Linux version out of the blue will result in an error about missing library files. Such files must be downloaded from special linux-compatible packages or ports; using your preferred installation method, install the following:
 
 
 
===linux-c6===
 
  sudo pkg install linux-c6-gtk2 linux-c6-sdl linux-c6-sdl_image linux-c6-sdl_ttf linux-c6-libGLU \
 
  linux-c6-openal-soft linux-c6-libsndfile linux-c6-alsa-plugins-oss
 
 
 
===linux-f10===
 
If you don't have the linux-c6 ports available in your system, you can still run ''Dwarf Fortress'' (albeit without sound) using the following packages:
 
  sudo pkg install linux-f10-alsa-lib linux-f10-atk linux-f10-cairo linux-f10-expat linux-f10-fontconfig \
 
  linux-f10-gtk2 linux-f10-jpeg linux-f10-pango linux-f10-png linux-f10-sdl linux-f10-sdl_image linux-f10-tiff \
 
  linux-f10-xorg-libs linux-sdl_ttf linux_base-f10 linux_dri linux-f10-libGLU
 
linux_dri might be optional if you have the NVIDIA driver. Note that due to the lack of a linux-f10-libsndfile port, the sound will not work. Requests are being made to [http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2013-January/247698.html port] it, as well as a [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=178474 DF] port itself.
 
 
 
 
 
After you install the required packages, copy (or symlink) DF's own library files to the linux-compatible directory:
 
  cd dwarf_fortress_directory
 
  sudo cp libs/lib* /compat/linux/usr/lib/
 
Or
 
  cd dwarf_fortress_directory
 
  sudo ln -s libs/lib* /compat/linux/usr/lib/
 
 
 
You can then run df normally. Although it will likely display a bunch of warnings and errors about fonts, it should work.
 
 
 
If you want to avoid polluting your linux-compatible directory, you can always just set LD_LIBRARY_PATH when running df:
 
  LD_LIBRARY_PATH=libs:$LD_LIBRARY_PATH ./df
 
  
 
= Documentation =
 
= Documentation =
  
Fortunately the documentation on this wiki is very detailed and extensive. You may want to start out with:
+
Fortunately, the documentation on this wiki is very detailed and extensive. You may want to start out with:
 
* [[Tutorials]]
 
* [[Tutorials]]
 
* [[Quickstart_guide|Fortress Mode Quickstart Guide]]
 
* [[Quickstart_guide|Fortress Mode Quickstart Guide]]
Line 344: Line 134:
 
* [[Adventure mode|Adventure Mode reference]]
 
* [[Adventure mode|Adventure Mode reference]]
 
* [[Special:Search|Searching]] the wiki
 
* [[Special:Search|Searching]] the wiki
 +
 +
DFHack has its own documentation site:
 +
* [https://docs.dfhack.org/en/latest/index.html DFHack docs]
  
 
{{Getting Started}}
 
{{Getting Started}}
 +
[[ru:Installation]][[zh:Installation]]

Latest revision as of 20:14, 14 November 2024

This article is about the current version of DF.
Note that some content may still need to be updated.

Dwarf Fortress is available as Premium and Classic versions. The installation process depends on the game version.

The Premium version is published on the Steam and itch.io platforms. Once bought, the game will automatically add to your game library and will handle like any other game on the platform.

The Classic version is freely available directly from the developers, Bay 12 Games. Simply download the latest version, extract its contents, and play.

Note that plans for a native MacOS build have been cancelled for the time being, but some people have gotten both the Steam and Classic version working through Wine. See below.

Classic Download[edit]

Download: Linux · Windows · all versions · starter packs

Dwarf Fortress Classic is freely available directly from the developers, Bay 12 Games. Simply find the version that matches your operating system and click the link. You may be prompted to save an archive file, or your browser may save it to its configured downloads folder, do so and follow the installation instructions bellow.

The download linked at the top of the main page is a 64-bit version for Windows. "All versions" links to a page with additional choices depending on version, possibly including "small" builds for Windows (which lack sound files).

DFHack and other third-party packages[edit]

The most prominent add-on to install for Dwarf Fortress is DFHack, which introduces a wide variety of interface improvements, bugfixes, and productivity tools. If you have installed Dwarf Fortress via Steam, you can also install DFHack from Steam. Players of other Dwarf Fortress distributions can download and install DFHack from DFHack's GitHub releases page.

If you have an older version of DF, you might be interested in the Lazy Newb Pack, which bundles a number of utilities and graphic sets (including DFHack). With recent (50.01+) versions of Dwarf Fortress, a Lazy Newb Pack is no longer needed.

There are also a wide variety of player-made mods available at the Dwarf Fortress Steam Workshop and the Bay 12 forums. If you don't have a Steam account, workshop mods can also be downloaded from Steam using the steamcmd commandline utility.

Classic Installation[edit]

Also see: System requirements

Windows[edit]

There is no installer for the game. Simply right-click the zip archive you downloaded and choose Extract All..., then choose a destination folder, and click Extract (or maybe Unzip or Next on older versions of Windows). By default Windows uses the name of the archive as the folder name, in the folder the archive is in, so something like C:\Users\yourusername\Downloads\df_50_12_win. You should change that to something like C:\Users\yourusername\Desktop\Dwarf Fortress or C:\games\Dwarf Fortress. After the files have been extracted, double-click the Dwarf Fortress.exe file within the folder you chose to start the game.

  • Make sure to actually extract the archive; do not just double-click the archive and run the game from the window that appears. If you do this, then it may appear to work, but your save game data will get discarded - the cause of many "my saved games keep getting deleted" complaints.
  • The game needs to be able to write to its own folder, choose a game folder your user has write access to without requiring administrator rights for example: your Downloads folder, Desktop, or C:\games\..; do not install it in C:\Program Files\.. unless you know how to set up the correct permissions.

Troubleshooting:

  • If you have an error stating that MSVCP140.dll or MSVCP140_ATOMIC_WAIT.dll is missing, it can be obtained by downloading the Visual C++ Redistributable for Visual Studio 2022.
  • If Windows is set to scale the display, you may need to disable that for DF. Right-click the Dwarf Fortress.exe icon, select Properties, select the Compatibility tab, and then activate the Disable display scaling on high DPI settings (or Override high DPI scaling behavior, scaling performed by: Application) check box.[1]

Creating shortcuts:

  • Right-click the Dwarf Fortress.exe file and choose any of Pin to Start, Pin to taskbar, or Send To > Desktop (create shortcut). (The availability of these options may vary depending on the version of Windows.)

Linux[edit]

Dwarf Fortress for Linux is expected to be run from a terminal (command-line) interface, and so the instructions here will assume you know how to log in and get to a command prompt. By default, however, Dwarf Fortress is a graphical desktop program (an X client), so you should be in a terminal emulator (inside an X session) before starting the game. Dwarf Fortress will create a new window outside of the terminal window by default, so don't worry about the size of the terminal.

Downloading: Either download it from the Dwarf Fortress Homepage with a web browser, or with the following terminal command, replacing "XX_YY" with the numbers in the desired Dwarf Fortress file version, found on the site:

wget http://www.bay12games.com/dwarves/df_XX_YY_linux.tar.bz2

Unpacking: Dwarf Fortress is shipped as a (bzip2) compressed tar archive. Current builds will extract directly into the current directory, so create a new subdirectory in a suitable location (perhaps ~/games/df_linux), cd to it, and then run

tar -xjf /path/to/df_XX_YY_linux.tar.bz2

where /path/to/df_XX_YY_linux.tar.bz2 is the path and filename of the actual file you downloaded.

Dependencies: Dwarf Fortress requires at least the SDL2 and SDL2_image libraries. If you downloaded Classic or Itch builds of DF, these libraries are not included. To install these libraries, run the appropriate command for your distro:

  • on Debian-based systems (e.g. Ubuntu/Linux Mint/Pop!_OS):
sudo apt install libsdl2-image-2.0-0
  • on Fedora/CentOS, use one of the following depending on your package manager:
sudo dnf install SDL SDL_image
# or:
sudo yum install SDL SDL_image
  • on OpenSUSE:
sudo zypper in libGLU1 libSDL_image-1_2-0

note: these lists may not be exhaustive.

Running: First, change to the new directory

cd df_linux

then run the program.

./dwarfort

If you have DFHack installed, instead run

./dfhack

which will set up the console as a DFHack command terminal. The DFHack launcher also solves some issues with loading libraries that you may otherwise run into.

Troubleshooting:

Now you need to ensure that the required dependencies are installed. If you try to run the game and get errors about missing SDL_image libraries (etc.) then you need to install them. Use your distribution's package manager for this - details will be extremely distribution-specific. You don't need the development versions of the packages with the headers (although that won't hurt) - you just need the runtime versions, with the actual shared libraries.

If sound is not working for you, load the game through the DFHack launcher (./dfhack) or change the startup command to:

LD_LIBRARY_PATH=. ./dwarfort

If you see any errors related to glibc when starting DF (for example, "version `GLIBC_2.34' not found"), your version of Linux is too old and will need to be upgraded (e.g. Ubuntu 20.04 LTS is insufficient, but 22.04 LTS should work). Alternatively, you can try running the Windows version in Wine.

MacOS[edit]

Although there is no native build, you can run Dwarf Fortress Premium version on a Mac through either Whisky or Wine. Whisky only works on Apple Silicon Macs, but is the preferred option if you are on Apple Silicon.

via Whisky on Apple Silicon Macs[edit]

  • Download the zip file for the lastest release of Whisky.
  • Unzip the app and, optionally, move it to your /Applications/ folder.
  • Open the Whisky app and verify in the Setup settings that Rosetta and "WhiskyWine" are installed and checked. (Versions of Whisky prior to v2.3.0 will have "GPTK" instead of "WhiskyWine".[source])
  • Create your first bottle. Win10 will work fine.
  • Click Bottle Configuration, then Open Wine Configuration. In the pane “Libraries”, add a new override:
msvcp140_atomic_wait
  • Download Steam for Windows installer on your Mac
  • In Whisky click “Open C: Drive”, navigate to your Steam installation file, double-click the file and follow the instructions.
  • You should be able to run Steam and log in. Install Dwarf Fortress and strike the earth!

You can install DF Hack through Steam too. If this fails (as it does for some) you can install it manually. Download the latest release from their GitHub. Unpack the zip and copy all files inside the DF Hack folder into your Dwarf Fortress folder. The DF folder can be found here: Library > Containers > Whisky > Bottles > (individual string of letters and numbers representing your bottle) > drive_c > Program Files (x86) > Steam > steamapps > common > Dwarf Fortress

For the Classic version follow the steps to create a Win10 bottle. Download the latest classic version from theDwarf Fortress website. Unpack the .zip file. Click “Open C: Drive” in Whisky and navigate to the unzipped classic version. Click Dwarf Fortress.exe to run the game.

via Wine for older MacOS distributions[edit]

Wine needs Homebrew to be installed, which is a Mac OS packet manager. If you don't have any experience with this, it might seem a bit overwhelming at first, but you should be fine just following the step-by-step guide below. If you need help with Homebrew, you find plenty of tutorials on the web. You will also need to run Terminal, which is a build in App you can find and start through a search via Spotlight.

If you have Homebrew installed, you can open Terminal and paste the following for installing Wine through brew.

brew install --cask --no-quarantine wine-stable

Be sure to consult the winehq website for the most up to date instructions. If you don't have brew installed, follow the instructions on brew's website before running the above command.

For the Classic version, download the Windows version available on the Dwarf Fortress website (see Classic Download for a direct download link). A .zip file named df_50_13_win.zip or similar should automatically download and extract itself in your Downloads folder. Open the folder, right click Dwarf Fortress.exe, click Open With and then click Wine Stable. If (default) appears next to this, you don't need to do this next time and you can just double click Dwarf Fortress.exe to run it.

For the Steam version, first the caveat that you shouldn't buy it with the expectation of it working on MacOS. It is not officially supported on MacOS and so if you don't have a Windows or Linux machine as a backup, then you risk not being able to play what you paid for in the future, even if it happens to work for some people today.

That aside, download the Windows version of Steam from Steam's website by clicking on the little Windows icon. Right click SteamSetup and Open With Wine Stable. It might take a minute, but it should pop up the installer. The default options Steam gives should be okay. Once you're able to log in to Steam, download Dwarf Fortress from Steam like you would on Windows. You should be able to run Dwarf Fortress afterwards.

Opening the Wine version of Steam again after closing it is a bit more tricky. Open Finder and press shift command G or click Go > Go to folder. Paste ~/.wine/drive_c/Program Files (x86)/Steam into the prompt and press enter. You can then click steam.exe to run Steam again, or click steamapps > common > Dwarf Fortress to backup your saves and run Steam Dwarf Fortress directly by opening it with Wine.

Creating shortcuts:

  • Right-click the Dwarf Fortress.exe file and choose Make alias. It should make a file in the same folder called Dwarf Fortress.exe alias. You can rename it and move it wherever you want. You can also make aliases for the Steam and Dwarf Fortress folders, so you don't have to find the hidden Windows files through Finder again.

Documentation[edit]

Fortunately, the documentation on this wiki is very detailed and extensive. You may want to start out with:

Then move on to:

DFHack has its own documentation site: