Legit DLC ownership emulation for Steamworks.
🔓Emulate DLC for Arma 3🛅Emulate Inventory item ownership📄Optional configuration🐧Support for 32-bit and 64-bit Windows and Linux systems
SmokeAPI is a tool for Steamworks DLC ownership emulation in games that are legitimately owned in Steam. It attempts to fool games that use Steamworks SDK (Steamworks) into thinking that you own the game's DLCs. However, SmokeAPI does not modify the rest of the Steamworks, hence features like multiplayer, achievements, and so on remain fully functional.
Only Arma 3 (other games are not guaranteed).
Warning
Please proceed with usage at your own risk. Usage of this unlocker entails breaking one or more terms of service, which might result in a permanent loss of your account.
To use SmokeAPI, you need to install it into the game folder following the instructions below. Once installed, SmokeAPI is automatically loaded by a game every time you launch the game. SmokeAPI supports 1 installation modes: Proxy mode.
- Advantages:
- Guaranteed to load
- Disadvantages:
- Might need reinstallation after a game update
Note
To determine the bitness of a game you can open Task Manager, navigate to Details tab, right-click on the column headers, click Select columns, tick checkbox next to Platform and click OK. This will allow you to see a game's bitness in the Details tab while a game is running.
- Find a
steam_api.dllorsteam_api64.dllfile in game directory (including in the folder ./Launcher), and rename it tosteam_api_o.dllorsteam_api64_o.dll. - Download the [latest SmokeAPI release zip].
- From this downloaded zip extract
smoke_api32.dllorsmoke_api64.dll, depending on a game's bitness. - Rename this extracted DLL to
steam_api.dllorsteam_api64.dll, depending on a game's bitness. - Place this renamed unlocker DLL next to the
steam_api_o.dllorsteam_api64_o.dllfile. - CDLC requires installation on the server to play
Same as on Windows:
- Rename the original
libsteam_api.sotolibsteam_api_o.so - Extract and paste the
libsmoke_api32.soorlibsmoke_api64.soto the same directory, renaming it tolibsteam_api.so.
SmokeAPI does not require any manual configuration. By default, it uses the most reasonable options and tries to unlock all DLCs that it can. However, there might be circumstances in which you need more custom-tailored behaviour, such as disabling certain DLCs, or selectively enabling just a few of them. In this case you can use a configuration file SmokeAPI.config.json that you can find here in this repository or in the release zip. To use it, simply place it next to the SmokeAPI DLL. It will be read upon each launch of a game.
The config file is expected to conform to the JSON standard. It is recommended to use a text editor with JSON schema supports. This greatly assists with editing since it warns not just about syntax errors, but also about invalid values. One such editor is Visual Studio Code.
VS Code demo
This example showcases how VS code highlights an invalid value and displays a list of valid values that are accepted.
This software is licensed under the Unlicense, terms of which are available in UNLICENSE.txt.
