1. DFHack - Dwarf Fortress Modding Engine
  2. News
  3. Upcoming changes to DFHack on Steam

Upcoming changes to DFHack on Steam

[h2]Situation report[/h2][p]Work is now nearly complete on updating DFHack to once again install (mostly) seamlessly with the new changes to Steam's client. There are several significant changes that I want to warn the community of in advance:[/p][p]First, most of you will have to do a one-time cleanup of your previous DFHack installation, nestled as it is in Dwarf Fortress's install folder, either because it was installed there by the Steam installer previously or because you manually copied it there to keep things working. While we could try to write a tool to clean these up automatically, I am not comfortable with silently deleting files that someone might want to keep, so we're going to leave this to you to do on your own. Preliminary instructions on how to do this are below.[/p][p]Second, we are going to disable Steam Cloud synchronization of DFHack's configuration folder ([c]dfhack-config[/c]). This is because, for now, we are going to leave this folder in DF's folder (where it was before) which we cannot configure to synchronize with Steam Auto-Cloud (this is a technical limitation of Steam Auto-Cloud). We're still trying to figure out how to best deal with this folder going forward; all of the potential solutions have drawbacks and we haven't decided what the best way to move forward is. Thus, you might want to make a manual backup of your [c]dfhack-config[/c] folder before installing this coming update.[/p][p]Third, we are going to drop all of the existing legacy branches of DFHack currently on Steam. They won't work seamlessly anyway due to the installation path changes, so the convenience value they once offered is now nonexistent and so there's no value in continuing to provide them. Note that we willl still have legacy versions of DFHack available from Github, which will still work (just as they always have) simply by dropping them directly into DF's installation folder. [/p][p]None of the changes we're making with this update will directly impact users who choose to install DFHack by downloading it from Github; the builds published there will continue to work, as they always have, by unpacking them directly into DF's installation folder. Also, if you subscribe to DFHack on Steam, but not DF, and are using the Classic version of DF that you can download from Bay12 installed into DFHack's installation folder, again, you should experience no change in the behavior of the application (except for the Steam Cloud issue mentioned above).[/p][h2]Test build is available![/h2][p]A test build of DFHack that works with the current release of DF and works with the new Steam client is available on our "testing" branch. If you choose to use this build, be aware of the following EXTREMELY IMPORTANT INFORMATION:[/p]
  • [p]This build does not self-install. You will have to launch from DFHack once after installation in order for it to detect and install into DF. After this one launch, you can launch from either DF or DFHack. We're hopeful that we can get it to be self-installing for Windows users, but this still has to be implemented and tested in a way that won't break existing builds or cause unexpected behavior.[/p]
  • [p]This build does not clean out any previous DFHack installation in your DF install folder. While this has not been extensively tested, it's likely that if you have a previous installation in your DF folder, it will take precedence over the new version. You will be able to tell with the test build by the DFHack version displayed at launch: if there isn't a [c](git: nnnnnnn)[/c] tag after the version number, you're still running on the public release version and need to clean that old installation out to proceed.[/p]
  • [p]This build has only been tested on Windows and has not been extensively tested, especially for exceptional conditions. If you use it, please provide feedback, especially if you run into problems.[/p]
  • [p]Going back to the release version will require manually copying that install into your DF folder; you won't be able to just switch back to the public branch without further steps to get DFHack back which you will have to do manually.[/p]
[h3]How to clean out a prior DFHack install installed by Steam[/h3][p]Go to Dwarf Fortress's installation folder (Manage > Browse Local FIles). (Let me again stress that this is under the Dwarf Fortress app, not under DFHack's app.) Delete the following files and folders/directories, if they are present:[/p]
  • [p][c]hack[/c] (entire folder/directory)[/p]
  • [p][c]stonesense[/c] (entire folder/directory)[/p]
  • [p][c]binpatch.exe[/c] (Windows) / [c]binpatch[/c] (Linux)[/p]
  • [p][c]dfhack-run.exe[/c] (Windows) / [c]dfhack-run[/c] (Linux)[/p]
  • [p]all files named [c]allegro_*.dll[/c] (Windows) or [c]liballegro_*.so[/c] (Linux)[/p]
  • [p][c]dfhack-client.dll[/c] (Windows) / [c]libdfhack-client.so[/c] (Linux)[/p]
  • [p][c]dfhooks_dfhack.dll[/c] (Windows) / [c]libdfhooks_dfhack.so[/c] (Linux)[/p]
  • [p][c]lua53.dll[/c] (Windows) / [c]liblua53.dll[/c] (Linux)[/p]
  • [p][c]protobuf-lite.dll[/c] (Windows) / [c]libprotobuf-lite.so[/c] (Linux)[/p]
[p]Do not delete [c]dfhooks.dll[/c] (Windows), [c]libdfhooks.so[/c] (Linux), or [c]dfhooks_dfhack.ini[/c] (both WIndows and Linux); these files are injected by DFHack's one-time installer and are how DFHack connects to DF. (If you do delete them, launching from DFHack will reinstate them.)[/p][p]The most important one to delete is [c]dfhooks_dfhack.dll[/c] (Windows) / [c]libdfhooks_dfhack.so[/c] (Linux); if you don't delete this one, you'll almost certainly get the old version of DFHack instead of the new one.[/p]