[Tool] gddb: a command-line interface to Grim Dawn's database

Hi, I’m modal. You may know me from such previous resources as my affix drop rates spreadsheet. I’ve been slowly refining the script I originally wrote to produce that, and now I have a command-line tool that has a few utilities for working with Grim Dawn’s database files. I’ve published it on github as free and open source software. You can check it out here:

gddb

Some words of warning:

  1. gddb will not be useful to you if you’re not comfortable with command-line interfaces.
  2. gddb has only been tested on Ubuntu running on Windows 11 via WSL2.
  3. There are undoubtedly bugs. The current version is just barely functional enough to be worth sharing.
  4. There are also likely flaws in my understanding of how the game files are meant to be interpreted, which could lead my tool to give incorrect answers even if it works as intended.
  5. gddb is read-only – if you want to modify the game db, such as to produce a mod, the tool will not help you.

But if you happen to be, like me, one of the small number of people interested in exploring Grim Dawn’s game database, and you happen to be one of an even smaller number of people who prefer CLI tools to GUI tools like the ones Crate’s already provided for modders, then you might possibly be interested! So I thought I’d share just in case there might exist even one such individual.

I won’t go into too much detail here about what the tool can do for you; for that you’re better off checking the README on github.

5 Likes

Looks sweet, are you interested in tests without WSL?

My expectation is that it will work fine on other flavors of Linux, and probably on MacOS, but it would be nice to validate that. I am not interested in worrying about Windows support unless there’s an actual person who wants to use it on Windows.

1 Like

Thank you for sharing!

I tested gddb on Windows 10, and most features worked fine.
The issues I encountered were just due to syntax differences between Linux and Windows (e.g., using PowerShell’s Select-Object -First instead of head -n 9), which aren’t a big deal.
I hope you keep up the great work and make it even better.
It would be awesome if it could support mods!

1 Like

Some minor updates:

  • loot command now accepts a challenge parameter for specifying a challenge layer (area with mutators), which modifies affix combo chances
  • loot command now accepts a chest flag. When set, this uses modifiers for items that drop from a chest of the appropriate enemy class, e.g., BossChest rather than Boss. Defaults to true for challenge=sr and challenge=crucible
  • loot command class parameter renamed enemy, to avoid short argument name conflict with challenge

Another tiny update:

  • loot command now hides affix combos that are technically possible, but which have a modified drop probability of 0. A zero flag has also been added to override this default behavior and print every affix combo reachable from the loot table, regardless of modified probability (the previous behavior).
  • removed prefix and suffix flags from the loot command, in favor of a new affix parameter.

Update! This one’s a game-changer for the one (1) person who actually uses this utility (me).

  • show command now supports tab autocomplete for record paths!
  • this doesn’t work unless GRIM_DAWN_INSTALL_PATH is set, so I’ve removed the option to specify that via --install-path. The env var is now the required way to point to your game database files.
  • there is some one-time setup to get completions working. A --completions flag has been added to the main gddb command which prints setup instructions.
1 Like