Skip to content

Installing

Alexandre 'kidev' Poumaroux edited this page Oct 21, 2026 · 5 revisions

Installing

ProLeak runs on BepInEx 5. The installers put both into the game folder and check every download against its SHA-256 sum. Running an installer again over an install upgrades it.

Contents

Windows

powershell -ExecutionPolicy Bypass -File install.ps1

Linux (Proton)

./install.sh

Then set the game's launch option in Steam (Properties, General):

WINEDLLOVERRIDES="winhttp=n,b" %command%

The override makes Proton load BepInEx's winhttp.dll instead of its own.

Switches

install.ps1 install.sh Effect
-Game DIR --game DIR Game folder. Without it, the installer reads Steam's libraryfolders.vdf.
-Version vX.Y.Z --version vX.Y.Z Release to install. The default is the latest release.
-Uninstall --uninstall Remove the files the installer put in place.
-Purge --purge With uninstall: remove the whole ProLeak folder too.

Updates

At startup ProLeak checks GitHub for a newer ProLeak release and for newer releases of the plugins installed from the registry. The Mods menu title then reads "ProLeak x.y.z available", and its last tab (the ProLeak logo, at the right end of the tabs) shows the address of the release notes and an Update ProLeak button.

The update checks that the release is signed with a ProLeak release key and that every download matches its sum, and refuses it otherwise. It replaces only ProLeak's own files: your plugins, settings, data and logs stay as they are. If it fails halfway, every file is put back. The new version runs from the next start of the game.

Plugin updates are covered in Publishing plugins.

What goes where

<game>/
  winhttp.dll, doorstop_config.ini, .doorstop_version   BepInEx (Doorstop)
  BepInEx/plugins/ProLeak/    ProLeak assemblies, pythonnet, YamlDotNet
  ProLeak/
    python/                   embeddable CPython 3.12 (Windows build)
    lib/proleak/              the Python API plugins import
    plugins/<id>/             your plugins
    config/proleak.yml        core settings and the disabled plugin list
    config/<id>.yml           settings of each plugin
    data/<id>/                files a plugin writes (ctx.data_dir)
    data/stream.json          port and token of the leak stream, while it listens
    logs/                     core.log and <id>.log
    cache/registry.json       registry and release lookups, kept for an hour
    .installed                the list of installed files

The installer installs BepInEx only when winhttp.dll is missing. It records which files it installed in ProLeak/.installed, so uninstalling removes BepInEx too when the installer put it there, and leaves a BepInEx you installed yourself in place.

The installer also sets HideManagerGameObject = true in BepInEx/config/BepInEx.cfg, which ProLeak needs to run alongside the game.

Uninstalling

On Windows:

powershell -ExecutionPolicy Bypass -File install.ps1 -Uninstall          # keeps ProLeak/plugins and ProLeak/config
powershell -ExecutionPolicy Bypass -File install.ps1 -Uninstall -Purge   # removes ProLeak/ entirely

On Linux:

./install.sh --uninstall           # keeps ProLeak/plugins and ProLeak/config
./install.sh --uninstall --purge   # removes ProLeak/ entirely

Uninstalling puts BepInEx.cfg back as the installer found it. BepInEx's logs stay.


Previous: Home | Next: Settings

Clone this wiki locally