How to fix Dwarf Fortress mods not appearing under LINUX

How to fix Dwarf Fortress mods not appearing under LINUX

Introduction

How to fix mods not showing up under linux

I have noticed that mods downloaded via Steam Workshop are not showing up in Dwarf Fortress. I have found a (addmitedly hacky) way to fix this.

This problem exists, because Steam downloads the mods into the «wrong» directory, so that Dwarf Fortress is unable to see your mods. The fix is a simple copy and paste job, with a little caviat but i will guide you through this.

You could also say, Steam is doing everything right, but Dwarf Fortress is not setup properly to handle the way Steam works on Linux. But that's not the topic of this guide.

This Guide assumes the following:

1. You have installed Dwarf Fortress under Linux with Steam Play activated

2. You are not using a compatibility layer like Proton, tough it shouldn't make much of a difference

3. The Mods are actually downloading, so there isn't a problem with your Steam installation, firewall

settings or Linux setup in general.

If you are using Proton or something similar, the paths to the files i mention here may differ. Still, the folders in which steam downloads the mods should be the same, but the folders where Dwarf Fortress is installed, could be in a other place, but it should be similar enough to what i describe here, so you should be able to figure it out by yourself, using search tools available for your distro.

Also should the download destination on your installation of linux differ then i have solution for that too.

Ultimatly i think its up to the devs to fix the now broken steam workshop implementation on linux, but for now, this guide should help to get your mods up and running.

Locate Your Mod Files


How to fix Dwarf Fortress mods not appearing under LINUX image 14
How to fix Dwarf Fortress mods not appearing under LINUX image 15

How to fix Dwarf Fortress mods not appearing under LINUX image 16

Step 1

Subscribe to the mods you desire and make sure, that a download pops up in the «Downloads» tab.

Step 2

Go to: /home/YOURUSERNAME/.steam/debian-installation/steamapps/workshop/content/975370

Now, YOURUSERNAME ist the name with which you log in to your Linux Distro, not your Steam username!

IF this path is not working for you, then your linux distro works differently from mine. In this case follow step 2a to determine your path.

Step 2a

This step is optional and only needed when your specific setup of steam or your distro of linux, ,downloads workshop items to a different place then mine.

Locate a mod on the workshop, which mentions some of it's full filenames in the description, alternativly ask a mod dev what one of his file is named. One mod that fullfills this criteria is the «Watercolours» mod (https://steamcommunity.com/sharedfiles/filedetails/?id=2900754411&searchtext=watercolours). In its description it mentions a file called: tile_page_watercolours_swamp.txt

This is perfect because it's a very specific filename. The more specific the higher is the chance that our search engine will produce a narrow range of results, thus making the process of finding this file very easy. Once we have found the file we automaticly know where steam puts the mod files, downloaded via the workshop.

Now subscribe, wait for the download to finsish and then start a search query for that filename. I recommend Fsearch for that task, its a lightweight, very fast and efficent search tool, available for many linux distros. Chances are its already avaiable for installation in your «Software-Manager», so you dont have to fiddle around with the Terminal.

One additional tip: If you want to use Fsearch and you have a Backup Tool like Timeshift enabled, go to EDIT → SETTINGS and then click on the DATABASE tab, then click on EXCLUDE on the left hand side and then add the path /timeshift to it.

This will tell fsearch to ignore /timeshift directory, so it does not search through hunderds of thousands of tiny little backup files. This will speed up the search process tremendously.

If you do not have access to Fsearch use the search toolbar in your filemanager/explorer and search for the filename.

Now when you have found your file, you now know where Steam has downloaded your mods. Do yourself a favour and bookmark this location.

Step 3

Inside that folder you should see multiple folders with long numbers like: «2905960813». These are the SteamIDs for the Workshop items/Mods.

If you go inside in one of them you can easely identify which is which by a) looking at the preview pictures, because the often contain the name of the mod or b) by reading the «info.txt» file. The first line should be called [ID:*] where the * is the name of your mod. So the mod "Combat Log" reads [ID:Combat_Log].

Creating Mod Folders & Transfering Them To Right Spot


How to fix Dwarf Fortress mods not appearing under LINUX image 36
How to fix Dwarf Fortress mods not appearing under LINUX image 37
How to fix Dwarf Fortress mods not appearing under LINUX image 38
How to fix Dwarf Fortress mods not appearing under LINUX image 39
How to fix Dwarf Fortress mods not appearing under LINUX image 40
How to fix Dwarf Fortress mods not appearing under LINUX image 41
How to fix Dwarf Fortress mods not appearing under LINUX image 42

Step 4

Create a folder inside the mod folder and name it after the [ID] value found in info.txt, be extra careful that you follow the info.txt perfectly, if you mess anything up this trick will not work. Next put a space into the name, then open parentheses and type the value you find under [NUMERIC_VERSION:], then close parentheses. The formatting for folder names is thus as follows: [ID][EMPTY SPACE][NUMERIC_VERSION]. So for example the mod interface tweaks reads in its info.txt:

[ID:interface_tweaks]

[NUMERIC_VERSION:103]

So the folder must be named: interface_tweaks (103)

Be careful that you don't forget to enter the empty space before the parentheses and the parentheses themselves of course.

If you deviate from this rule the game will notice the mod as installed, but the mod will still not appear in-game. This is because the game will create correctly named folders by itself, but they will be empty. So you technically can copy everything over, BUT some mods requiere to be loaded while the world is created. Very annoying, but that's the way Dwarf Fortress works at the moment.

Step 5

Now copy all the mod files into your freshly made folder.

Repeat this process for every mod you want to install.

Step 6

Open a new Filemanager window and go to: /home/YOURUSERNAME/.steam/debian-installation/steamapps/common/Dwarf Fortress/data/installed_mods

Again your YOURUSERNAME is not your Steam name, it's the name you use to log into Linux.

If you cant find this folder, go to your Steam Library, right click on Dwarf Fortress → Manage → Browse Local Files, then open /data and finally /installed_mods

Step 7

Copy your newly created and correctly named mod folders into: /home/YOURUSERNAME/.steam/debian-installation/steamapps/common/Dwarf Fortress/data/installed_mods

When you are done your /installed_mods folder should look something like this:

Again, be careful to pick the right path, because there is also a mod folder at the root of dwarf fortress, but it does nothing at the moment, not to my knowledge anyway ;).

Step 8

Check the mods window in the main menu, it should tell you the correct mod names, and written in green, that they are installed.

Go to "create a new world" and click on "mods".

Check if the game also tells you here, that the mods are installed.

Insert your mods into the load order list by clicking on the arrows.

Step 9

Now you are ready to launch the world creation. Have fun :D

Should the mods still not appear properly, then i have one more trick up my sleeve.

Black Magic


How to fix Dwarf Fortress mods not appearing under LINUX image 70

Step 9a

THIS IS OPTIONAL AND ONLY REQUIERED IF THE MANUAL NAMING OF FOLDERS DOESNT WORK!!!!

At this point we have to do some black magic. The goal of this step is to force dwarf fortress to create properly named mod folders for us, so that mods actually get loaded, the next times we create worlds.

As described copy over the mod folders, only that the naming doesn't matter this time. Just make sure you give the folders names, which make it easy to tell them apart and identify them.

Step 9b

THIS IS OPTIONAL AND ONLY REQUIERED IF THE MANUAL NAMING OF FOLDERS DOESNT WORK!!!!

Start your game and on the title screen check the «mods» section. Your mods should be listed green and as installed. Perfect, now we create a «dummy» world. On the World creation screen, click on mods and activate all of your mods by adding them to the load order. Let the world create itself. After finishing its creation, dont leave, embark on a random spot, it doesnt matter since its our dummy world. You will probably notice that your mods are still not in effect. This is normal. Now save and exit.

Step 9c

THIS IS OPTIONAL AND ONLY REQUIERED IF THE MANUAL NAMING OF FOLDERS DOESNT WORK!!!!

Go back to: /home/YOURUSERNAME/.steam/debian-installation/steamapps/common/Dwarf Fortress/data/installed_mods

Now you should see that for every of your custom made folders there is now an empty folder. Your naming does not affect the naming of the now created «offical» folders.

But the names you gave them now make it easy which belongs to which. In my case i created a folder named combat_log and after going through step 9b i now have still the folder combat_log and a new folder named: Combat_Log (1). This folder is empty but now when i copy everything from combat_log into Combat_Log (1), the game is finally able to load the mods correctly.

Step 9d

Create a new world, with your mods enabled, and finally enjoy them :D Hurray!

Farewell

I hope this guide is usefull for people playing this game on linux. Its a very strange way of doing things but until the devs dont fix this, it's probably the only way for now to get mods for Dwarf Fortress working using linux. If some of you are in contact with the devs please tell them, or please tell me how i can contact them. Because honestly you shouldnt be required to tinker this much, just to install a simple mod.

Have a great day and strike the earth!

Source: https://steamcommunity.com/sharedfiles/filedetails/?id=2908486502					

More Dwarf Fortress guilds