DLC Unlocker Installer & Configuration Generator for Linux
CreamLinux/
├── creamlinux.py ← main app (run this)
├── creamlinux.sh ← launcher with checks
├── creamapi/
│ ├── steam_api.dll ← CreamAPI 32-bit
│ └── steam_api64.dll ← CreamAPI 64-bit
├── smokeapi/
│ ├── steam_api.dll ← SmokeAPI 32-bit
│ └── steam_api64.dll ← SmokeAPI 64-bit
└── screamapi/
├── EOSSDK-Win32-Shipping.dll ← ScreamAPI 32-bit
└── EOSSDK-Win64-Shipping.dll ← ScreamAPI 64-bit
- Place the unlocker DLLs in the folders above
- Run:
python3 creamlinux.py - Browser opens automatically
Steam games:
- Scans game directory for
steam_api.dll/steam_api64.dll - Renames the original:
steam_api.dll→steam_api_o.dll - Copies your chosen unlocker DLL (CreamAPI or SmokeAPI) into place
- Writes the config file (
cream_api.iniorSmokeAPI.config.json)
Epic games:
- Scans for
EOSSDK-Win32-Shipping.dll/EOSSDK-Win64-Shipping.dll - Renames the original:
EOSSDK-Win64-Shipping.dll→EOSSDK-Win64-Shipping_o.dll - Copies ScreamAPI DLL into place
- Writes
ScreamAPI.config.json
- Restores all original DLLs (
_o.dll→ original name) - Deletes all generated config files
- Auto-detects Steam, Heroic (Epic), and Legendary (Epic) games
- Fetches DLC lists from Steam Store API and Epic GraphQL (cached)
- Per-game choice: CreamAPI or SmokeAPI for Steam games
- Remembers DLC selection per game
- Shows which unlocker is currently installed per game
- Warns if bundled DLL files are missing
- Python 3.8+ (zero extra packages)
- A web browser
- Games via Steam, Heroic, or Legendary
| Folder | Unlocker | Source |
|---|---|---|
creamapi/ |
CreamAPI by deadmau5 | cs.rin.ru |
smokeapi/ |
SmokeAPI by acidicoala | github.com/acidicoala/SmokeAPI |
screamapi/ |
ScreamAPI by acidicoala | github.com/acidicoala/ScreamAPI |