Selective Steam DLC manager using SmokeAPI and Koaloader.
Pick exactly which DLCs to unlock per game — no all-or-nothing.
| Platform | Link |
|---|---|
| Linux | vapor-activator |
| Windows | vapor-activator.exe |
- Detects installed Steam games from Flatpak, native Linux, and Windows paths
- Auto-detects Proton (32/64-bit) vs native Linux games
- EXE architecture detection — reads PE headers to determine 32/64-bit, deploys correct binaries
- MD5 fingerprinting — identifies already-installed SmokeAPI/Koaloader DLLs reliably
- Multi-source DLC discovery — Steam Store API + SteamCMD depot metadata + community hidden DLCs list
- Proxy mode (default): replaces
steam_api*.dll/libsteam_api.so— no launch args needed - Hook mode: injects via
version.dll/winhttp.dll/winmm.dll/dinput8.dll/d3d11.dll/dxgi.dllfor games that integrity-check the Steam API DLL - Koaloader mode: full DLL sideloading — proxy DLL forwards calls to the real system DLL while loading SmokeAPI as a module. Original
steam_api.dllis never touched. Note: Koaloader performs DLL injection, which may trigger antivirus false positives on Windows — this is expected behavior, not malware. - Reads existing SmokeAPI configs from prior manual or tool-based installs
- Clean removal with original file restoration, hook cleanup, and Koaloader config removal
- Auto-downloads SmokeAPI and Koaloader from GitHub releases
- Configurable Steam library path, persisted across sessions
Requires Rust.
cargo build --release
./target/release/vapor-activator # Linux
target\release\vapor-activator.exe # Windows-
Set Steam library folder — the folder containing
steamapps/(auto-detected, change with Change...) -
Download tools — click Get next to SmokeAPI and Koaloader in the left panel. Cached at:
Platform Cache path Linux ~/.cache/vapor-activator/smokeapi/and.../koaloader/Windows %LOCALAPPDATA%\vapor-activator\smokeapi\and...\koaloader\ -
Select a game from the list — shows type, architecture, and install status
-
Choose method:
- Proxy (default) — renames original
steam_api*.dll→_o.dll, copies SmokeAPI in its place. Works for most games. - Hook — leaves original untouched, places SmokeAPI as
version.dll(or another selected DLL). For games that verify DLL integrity. - Koaloader — full sideload: the proxy DLL forwards all calls to the real system DLL while loading SmokeAPI silently. The original file is never checked.
- Proxy (default) — renames original
-
Check the DLCs you want unlocked — unchecked DLCs stay at real ownership
-
Apply & Install
-
Launch the game normally through Steam
Select the game and click Remove SmokeAPI. Restores original files, cleans up hook DLLs, Koaloader configs, and SmokeAPI configs.
Steam library path saved to:
| Platform | Path |
|---|---|
| Linux | ~/.config/vapor-activator/config.json |
| Windows | %APPDATA%\vapor-activator\config.json |
SmokeAPI intercepts Steamworks SDK calls (BIsSubscribedApp, GetDLCCount, etc.) and reports DLCs as owned/unowned based on SmokeAPI.config.json. In Koaloader mode, the proxy DLL loads the real system DLL, forwards every call, and also loads SmokeAPI as a module — the game never sees the real steam_api.dll being touched.
MIT
Built with the help of OpenCode