oliver 0.9.3

Lightweight CLI mod development tool for Baldur's Gate 3 on Linux
Documentation

oliver

oliver is a CLI mod development tool for Baldur's Gate 3.

Installation

via crates.io

oliver can be installed via crates.io:

cargo install oliver

Usage

Usage information for oliver can be printed by running oliver --help:

Lightweight CLI mod development tool for Baldur's Gate 3 on Linux

Usage: oliver <COMMAND>

Commands:
  contents     Print the list of file paths contained in a mod
  convert      Convert a single file from one type to another
  convert-all  Convert batches of files from one type to another
  pack         Pack loose mod files into an archive loadable by the game
  parse        Print a summary of the contents in a given file
  unpack       Unpacks all of the files contained in a mod
  help         Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

FAQ

Does Baldur's Gate 3 even support Linux?

Technically, yes! Larian surprised everyone (or at least me) with a native Steam Deck release, and it's possible to run it on arbitrary Linux distros by not selecting any compatibility tool when running the game.. However, Steam also provides a built-in tool called Proton that can be enabled for running Windows games on Linux. While compatibility for games is made on a best-effort basis, in practice a fairly large number of games work well on Linux via Proton. A large number of the compatibility issues that do arise are related to anti-cheat measures, which Baldur's Gate 3 does not utilize (presumably in part due to not featuring competitive online multiplayer).

Proton is based on the venerable open source tool Wine; essentially, Proton is an augmentation of Wine for running things specifically with the Steam runtime.

Why is oliver specifically for Linux?

While there isn't much reason that oliver couldn't run on Windows, there also isn't much need; lslib is the most widely used mod development toolkit by far, and it natively supports Windows. There are also other options like Modder's Multitool, and the [Mod Manager](Baldur's Gate 3 Mod Manager) also has some built-in features for mod developers.

Because oliver was designed for my own specific use case, handling the cases where Linux and Windows behave differently and how the game files are laid out on each system simply wasn't necessary and would have been extra work. Feel free to try it out on Windows if you'd like or file bugs/feature requests related to it, but I can't guarantee I'll end up addressing them.

Why is it named oliver?

Oliver is the name of one of my two cats (pictured below).

Oliver