A version published by hand must not turn the tag's lane red: the registry refuses a second upload of the same version, so the lane asks first and skips.
@punktfunk/plugin-battlenet
Adds your installed Battle.net games — World of Warcraft, Diablo, Overwatch, Call of Duty, Hearthstone and the rest — to a Punktfunk host's library, launching them through the Battle.net client and ending the session when you quit the game.
Windows hosts only. Install it from the host's plugin store (Library → Game sources → Add a source), or:
punktfunk-host plugins add battlenet
What it reads
One file: %ProgramData%\Battle.net\Agent\product.db, the Agent's record of every product it
manages. It is machine-wide, so the plugin reads it without any access to your user profile. The
file names products by code, not by title, so a built-in table maps the codes to titles and to the
launch codes the client accepts. A product the table does not know still appears, named after its
install folder and launched with its code as-is.
The Battle.net client itself, the Agent, products that are not installed, and products whose install folder is gone are left out. No cover art is emitted: there is none on disk to read.
Settings
Nothing to configure. If product.db lives somewhere else, set the path in
Library → Game sources → Battle.net → Settings:
| Field | Meaning |
|---|---|
productDb |
Absolute path to the Agent's product.db. Empty means the default above. |
Launching
The host starts Battle.net.exe --exec="launch <code>". The client must already be running and
signed in: a cold client only opens itself (or its login window) on that first launch, so pick the
tile again once it is up. Once the game is running, the host recognizes it by its install folder,
so quitting the game ends the streaming session.
Commands
punktfunk-plugin-battlenet detect # is Battle.net installed on this host?
punktfunk-plugin-battlenet scan --preview # what WOULD be synced, as JSON (works with no host)
punktfunk-plugin-battlenet uninstall # drop the games and release the store claim
The kit's parity verb has no baseline here: the host never had a built-in Battle.net scanner.
Development
bun install
bun run typecheck && bun test && bun run build
The framework — store claim, sync engine, __config, CLI verbs, and the capped file readers —
lives in @punktfunk/plugin-kit/library.
This package is the Battle.net-specific part: read product.db, filter it, map codes to entries.
License
MIT OR Apache-2.0.