Show / Hide Table of Contents

# The Command Line

BSIPA has 2 command lines: the installer, and the game.

Their documentation is below.

- The Installer (`IPA.exe`)
- The Game

The installer has quite a few options, which are documented inline with the `-h` or `--help` flag.

This is what it currently looks like:

    usage:
        IPA.exe [FLAGS] [ARGUMENTS]

    flags:
        -h, --help
            prints this message
        -w, --waitfor=PID
            waits for the specified PID to exit
        -f, --force
            forces the operation to go through
        -r, --revert
            reverts the IPA installation
        -n, --nowait
            doesn't wait for user input after the operation
        -s, --start=ARGUMENTS
            uses the specified arguments to start the game after the patch/unpatch
        -l, --launch
            uses positional parameters as arguments to start the game after patch/unpatch
        -R, --no-revert
            prevents a normal installation from first reverting

The game also gets quite a few command line options, though there isn't anything as convenient as a help page for them.

Here's a quick list of what they are and what they do.

- `--verbose`

  > Makes a console appear with log information at startup.

- `--debug`

  > Enables the loading of debug information in Mono. The debugging information must be in the portable PDB format, in the same location as the DLL that it's for.

  > This option also forces BSIPA to show all debug messages in the console, as well as where they were called.

  > This overrides the config settings `Debug.ShowDebug` and `Debug.ShowCallSource`.

- `--trace`

  > Enables trace level messages. By default, they do not ever enter the message queue, and thus cost almost nothing. When this or the config option is used, they are added and logged with the same rules as Debug messages.

  > This overrides the config setting `Debug.ShowTrace`.

- `--mono-debug`

  > Enables the built-in Mono soft debugger engine.

  > By default, it acts as a client, and requires that there be a soft debugger server running on port 10000 on `localhost`.

  > Implies `--debug`.

- `--server`

  > Does nothing on its own.

  > When paired with `--mono-debug`, this option makes the Mono soft debugger act in server mode. It begins listening on port 10000 on any address, and will pause startup (with no window) until a debugger is connected. I recommend using SDB, but that is a command line debugger and a lot of people don't care for those.

- `--no-yeet`

  > Disables mod yeeting.

  > By default, whenever BSIPA detects that the game is now running a newer version than previous runs, it will move all mods to another folder and not load them. (They still get checked for updates though.) When this is enabled, that behaviour is disabled.

  > Overrides the config setting `YeetMods`.

- `--condense-logs`

  > Reduces the number of log files BSIPA will output for a given session.

  > By default, BSIPA will create a subfolder in the `Logs` folder for each mod sublog, as well as each mod. This disables that behaviour, and restricts it to only create a global log and mod logs.

  > Overrides the config setting `Debug.CondenseModLogs`.

- `--no-updates`

  > Disables automatic updating.

  > By default, BSIPA will check BeatMods for all of the loaded mods to see if there is a new version avaliable. If there is, it will be downloaded and installed on the next run. This flag disables that behaviour.

  > Overrides the config settings `Updates.AutoCheckUpdates` and `Updates.AutoUpdate`.