uid |
---|
articles.command_line |
BSIPA has 2 command lines: the installer, and the game.
Their documentation is below.
IPA.exe
)The installer has quite a few options, which are documented inline with the -h
or --help
flag.
This is what it currently looks like:
[!codeIPA command line]
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.
Optionally, an explicit process ID can be specified to start the game with an external console. This allows it to be launched via Steam without being interrupted by its "Allow game launch?" if launched directly from
Beat Saber.exe
.
Using PowerShell:
.\steam -applaunch 620980 --verbose $PID
Using Command Prompt:
powershell -c ".\steam -applaunch 620980 --verbose (Get-CimInstance Win32_Process -Filter ProcessId=$PID).ParentProcessId"
--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
andDebug.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
.
--plugin-logs
Causes each plugins' log messages to be written to files in their own folder for ease of debugging.
This was the default through 4.1.6, however is now disabled by default.
Overrides the config setting
Debug.CreateModLogs
.