Repository navigation
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
powershell -ExecutionPolicy Bypass -File install.ps1
./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.
| 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. |
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.
<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.
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.
Using ProLeak
Features
Tutorial
- Your first plugin
- Plugin basics
- Handling events
- Plugin settings
- User interface
- Players, units and game data
- Purchases, signals and pings
- Chat, camera, input and more
- Cosmetics
- Game modes
- Game updates
- Publishing plugins
Reference