MCPcopy Create free account
hub / github.com/acidicoala/SmokeAPI

github.com/acidicoala/SmokeAPI @v4.1.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.1.3 ↗ · + Follow
30,733 symbols 33,353 edges 2,130 files 14,651 documented · 48% updated 23d agov4.1.3 · 2026-01-18★ 2,182

Browse by type

Functions 12,712 Types & classes 18,021
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

{% extends "./KoalaBox/templates/README.base.md" %} {% block content %}

Legit DLC ownership emulation for Steamworks.

✨ Features

  • 🔓 Emulate DLC ownership in legitimately owned games
  • 🛅 Emulate Inventory item ownership
  • 📄 Optional configuration
  • 🐧 Support for 32-bit and 64-bit Windows and Linux systems

{% include "KoalaBox/templates/markdown/links.md" %}

{% include "KoalaBox/templates/markdown/intro.md" %}

{% include "KoalaBox/templates/markdown/usage.md" %}

{% include "KoalaBox/templates/markdown/install-win.md" %}

{% include "KoalaBox/templates/markdown/install-linux.md" %}

{% include "KoalaBox/templates/markdown/configuration.md" %}

🎓 Extra info

🔑 How SmokeAPI works in games with large number of DLCs

Some the games that have a large number of DLCs begin ownership verification by querying the Steamworks API for a list of all available DLCs. Once the game receives the list, it will go over each item and check the ownership. The issue arises from the fact that response from Steamworks SDK may max out at 64, depending on how much unowned DLCs the user has. To alleviate this issue, SmokeAPI will make a web request to Steam API for a full list of DLCs, which works well most of the time. Unfortunately, even the web API does not solve all of our problems, because it will return only DLCs that are available in Steam store. This means that DLCs without a dedicated store offer, such as pre-order DLCs will be left out. That's where the extra_dlcs config option comes into play. You can specify those missing DLC IDs there, and SmokeAPI will make them available to the game. However, this introduces the need for manual configuration, which goes against the ideals of this project. To remedy this issue SmokeAPI will also fetch a manually maintained list of extra DLCs stored in a GitHub repository. The purpose of that JSON file is to contain all the DLC IDs that are lacking a Steam store page. This enables SmokeAPI to unlock all DLCs without any config file at all. Feel free to report in the {forum-topic} games that have more than 64 DLCs, and have DLCs without a dedicated store page. They will be added to the list of missing DLC IDs to facilitate config-less operation.

🔢 Supported Steamworks SDK versions

{{ project_name }} aims to support all Steamworks SDK version. At the time of writing, the latest supported version is 1.63.

{% include "KoalaBox/templates/markdown/troubleshooting.md" %}

{% include "KoalaBox/templates/markdown/building.md" %}

🆕 Adding support for new Steamworks SDK

  • Run steamworks_downloader [prompt] providing directory which contains Steamworks SDK zip files.
  • Run steamworks_parser
  • Run linux_exports_generator [32]
  • Run linux_exports_generator [64]

{% include "KoalaBox/templates/markdown/acknowledgements.md" %}{% block extra_oss_libs %}- bshoshany/thread-pool - batterycenter/embed

{% endblock %}

Core symbols most depended-on inside this repo

Shape

Class 13,436
Method 8,587
Enum 4,585
Function 4,125

Languages

C++100%

Modules by API surface

src/generated/32/proxy_exports.cpp1,629 symbols
src/generated/64/proxy_exports.cpp1,483 symbols
res/steamworks/151/headers/steam/steamclientpublic.h90 symbols
res/steamworks/150/headers/steam/steamclientpublic.h90 symbols
res/steamworks/149/headers/steam/steamclientpublic.h90 symbols
res/steamworks/148a/headers/steam/steamclientpublic.h88 symbols
res/steamworks/147/headers/steam/steamclientpublic.h88 symbols
res/steamworks/146/headers/steam/steamclientpublic.h88 symbols
res/steamworks/145/headers/steam/steamclientpublic.h88 symbols
res/steamworks/144/headers/steam/steamclientpublic.h86 symbols
res/steamworks/143/headers/steam/steamclientpublic.h86 symbols
res/steamworks/142/headers/steam/steamclientpublic.h81 symbols

For agents

$ claude mcp add SmokeAPI \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page