Dwarf Fortress

Dwarf Fortress

Nedostatek hodnocení
Dwarf Fortress on MacOS
Vytvořil: Nice
This guide is made to run Dwarf Fortress free or premium inside MacOS ventura 13.1 using Wine (Wineskin Winery).

At the time I'm writing this guide (May 2023), MacOS support is unofficial for Dwarf Fortress:

For the love of God, do not bother the devs. Things might not work!!. Also you are responsible for your acts (Although it shouldn't break anything)

This guide will be useless when the devs adds the official support.
Finally, this guide uses terminal.app commands. Do not be afraid of it as long as you make the correct steps.
2
   
Ocenit
Přidat do oblíbených
Oblíbeno
Odebrat z oblíbených
Download the game from steam like a hacker™
If you use the itch.io version and you don't want the experimental/beta stuff just download it from there and skip this section. If not, you should download the game through steam.
This guide will assume you downloaded it from steam, since it's the most accesible version (itchio bundles with a steam key).

In Steam you can't download Windows games on MacOS. So you will need SteamCMD. It is an official non-graphical steam version.

Installing SteamCMD. Copy and paste the commands in order and you should be fine:
  • Open Terminal.app and create a directory for SteamCMD.
mkdir ~/Steam && cd ~/Steam
  • Download and extract SteamCMD for macOS.
3. Check if SteamCMD works:
cd ~/Steam && ./steamcmd.sh

Now it should be running. Write
+quit
hit enter and you are good to go.

Now steamcmd should be installed inside your home directory (/User/<your username>/Steam/steamcmd). If you are still lost and you cant find where it is run this on the terminal:
open $HOME/Steam

Remember this path, as it will be useful later.

Stable version
Paste and run this huge line of terminal command. It's extracted from the valve wiki so don't worry :).
/Users/<mac_username>/Steam/steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir "/Users/<mac_username>/Steam/DF" +login <steam_username> +app_update 975370 +quit

Replace <mac_username> with you macos username. Replace <steam_username> with your steam username.

This will promt a password. Log in through steam and this will automattically download the game in a subdirectory called "df", near where steamcmd is installed.
open $HOME/Steam/DF
Try to understand this last command!, because the cool part is you can set where do you want to install the game, and even create an auto-update script...

Experimental SDL2 version
Paste and run this huge line of terminal command. It's extracted from the valve wiki so don't worry :).
/Users/<mac_username>/Steam/steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir "/Users/<mac_username>/Steam/DF" +login <steam_username> +app_update 975370 -beta experimental +quit

Replace <mac_username> with you macos username. Replace <steam_username> with your steam username.

This will download the SDL2 beta version
Download Wineskin Winery and common setup
Wineskin Winery (WW) is a special WINE (Wine Is Not Emulator) wrapper. It's like a black magic ♥♥♥♥♥♥♥ program that runs Windows games on MacOS through the power of library translation™.

  1. Download Wineskin.Winery.txz through github: https://github.com/Gcenx/WineskinServer/releases/download/V1.8.4.2/Wineskin.Winery.txz (Original source)[github.com].
  2. Go to Downloads. Double click to extact "Wineskin Winery.app"
  3. Optional. Move "Wineskin Winery" to your applications folder if you want to keep it.
  4. Double click it to open it.

It should open this. Press "update".


And then the "+" button at the left of "New Engine avaliable!" message.


Download and install this version. You should end up with this after the download&install is done:


Hit "Create Blank Wrapper and choose any desired game. I will use "Dwarf Fortress Stable". Wait patiently as some window will pop up (like the updating wine etc etc).

Then hit "view my wrapper in my finder". Double click it. If not it should be inside "/Users/<mac_username>/applications/wineskin".

Hit install software and then "Move folder inside": Go to "/Users/<mac_username>/Steam" and select the "DF" folder.


Hit OKAY:


Now hit "Advanced"

It should pop up a screen where you can change some parameters: Change your icon, description..


If you hit enter. All the changes will be made and now you should have an app called Dwarf Fortress Classic.app in your app folder. If you open it the game should pop up normally.

Experimental - SDL2 Branch
Problem Fix: The experimental version doesn't open
If you followed the guide so far and you decided to use the new sdl2 version (improved performance by A LOT, better responsiveness, multi-threading stuff, texture filtering...) you will notice that the game doesn't boot. If you choose the option "test run" after the whole process and then open the log files when the dialog appear it will say something like "msvcp140_atomic_wait.dll is missing" at the bottom of the log. In this section of the guide we will install this missing dll.

Huge thanks to Gabrilho. After his comment you should not download the missing dll from a shady website but instead do it the correct way.

Open the path where your game is. It should be on /Users/<mac_username>/Applications/Wineskin/
Now press right-click and press "Show package contents".

The Wineskin.app is the settings of Wine. If you double-click on it you can change the icon, the name and navigate to other options. The "drive_c" folder is where Wine "simulates" a "C:" windows directory, this is where your game files are. If you don't understand anything simply tthink it's where the DF files is. Dont close Wineskin.app yet!.

Open winetricks from the wineskin app: Install Visual C++ 2015-2022 from winetricks and hit "RUN":
It should take like 5 minutes. Finally close all opened windows and open DF. It should work.
Preface
This guide it's a bit outdated. Due to lack of time, interest and also a MacOS port confirmed it's already in development by bay12games I won't update this game.

However, some comments on this guide are really useful. I think copying and pasting this to the main guide feels like an insult to those who investigated, built and tested a good solution and kindly has commented to this guide.

TL;DR: GO SEE THE COMMENTS OF THIS GUIDE. THEY ARE REALLY USEFUL.
Počet komentářů: 20
Gabito Esmiapodo 23. bře. v 9.50 
So, the devs cancelled the MacOS version (thanks, I guess...) and I ended up here.

Followed every step and 10 minutes later I finally have DF working on my 2019 MacBook. It works great, thank you!

Just a few things I did different:

- Wineskin is no longer maintained and the devs moved to a new (and very similar) project called Kegworks: https://github.com/Kegworks-App/Kegworks Install it according to the instructions in the repository and just follow the instructions from this guide as if it were Wineskin (they look practically the same).
- This guide mentions you have to install a certain engine which wasn't available on Kegworks, I installed the similarly named WS12WineCX24.0.7 which is probably an updated version.

And that's it, the game just worked, no problems so far.

I'm not sure, but maybe this situation could be solved by a script that installs SteamCMD + Dwarf Fortress + Kegworks, all automatically, or wrapping the game and delivering through Steam like that. Oh, well...
darkritual 22. bře. v 12.41 
If you run into the 'Breakpad.framework' not being allowed when running steamcmd, you need to allow it in System Settings and try it again. https://github.com/boggydigital/mac-gaming-guides/blob/main/common/steam.md
Mae 8. bře. v 15.54 
By the way you don't even need to install all of vcrun to have the dll file the game requires. If you go to the same wine config app and go to the tools tab and click on the Config Utility (winecfg), go to libraries tab in winecfg and in the "New override for library" box type msvcp140_atomic_wait and click add, it'll manually add the single file you needed to run the new DF version.
ludovico.gorrieri 20. říj. 2024 v 5.49 
as of now i'm playing df smoothly just by doing the same process replacing df with steam installer for windows and then installing df form there. very useful bc you can easily install mods and update. Only slight downside is having to launch steam every time to open df
Cailean 8. kvě. 2024 v 13.00 
This guide was very valuable and has allowed me to strike much earth and encounter great fun on my 2019 MacBook Pro, with DF hack thanks to the comments here, so thank you very much. I wanted to play the adventurer mode and was able to install that (DFHack Adventurer beta) with this method. However it tells me the DF Hack version isn't recognised upon launch, and only Fortress mode functions correctly. The Adventure mode crashes about 1 to 5 minutes in regardless of what I do. Has anyone had any success with this? Or do I just need to hold tight for official Mac support / a DF hack update?
Nice  [autor] 15. říj. 2023 v 9.16 
Hello Hans . Which version did you download?
Hans Wurst 15. říj. 2023 v 8.47 
This is working perfectly, so far nothing wrong. Just need to tweak some keybindings. Just one thing... The game always chrashes when you hit 'done' in the settings menu. Is there anyhting I could do to prevent that from happening?
Nice  [autor] 15. srp. 2023 v 5.11 
Finally I updated the guide
Lusule 30. čvc. 2023 v 8.45 
In finder, go to

/Users/<mac_username>/Steam/steamapps/workshop/content/975370/<mod_id> and copy the <mod_id> folder.

Then go to your DF wrapper app and right click to open package contents. Go to drive_c, Program Files, DF. If there isn't a mod folder in there already, create it.

Copy the <mod_id> folder into the df\mod folder in your wine app.

You shouldn't need to change your DF app in any other way, so you shouldn't need to worry about losing your saves, but I recommend backing up, the app, just in case.

If you want to apply the mods to an existing game, copy the mod folder to df\data\vanilla instead/as well. However, be warned that this might break your game.

Hope this helps! (and works!)
Lusule 30. čvc. 2023 v 8.44 
Final update: how to install mods.

Whenever you find a mod you want to install, you can find the mod id by going to the steam webpage for the mod in Dwarf Fortress workshop, and looking at the URL. It will say ID=<number>. You can do that for games, as well.

Note down the ID for the game (975370) and the ID for the mod.

Then go to the terminal, and type:


/Users/<mac_username>/Steam/steamcmd +login <steam_username> +workshop_download_item <game id> <mod id> +quit

So for example if I wanted to install the mod Interface Tweaks, I would type:


/Users/<mac_username>/Steam/steamcmd +login <steam_username> +workshop_download_item 97537 2899720701 +quit