Glossary
A bundle of game-specific capability declarations. Concretely: a directory
containing a pack.toml Manifest plus the Adapter binary or script.
Adapter
Section titled “Adapter”The process that translates Invocations into in-game effects. Adapters speak MPP over TCP to the bridge.
Manifest
Section titled “Manifest”The pack.toml file declaring Pack metadata, Events, queues, Pack Config
schema, and UI hints. The bridge pins a session to its manifest_hash on
connect.
A unit of Pack capability — e.g. apply_status, play_sound. Each Event
declares a JSON Schema for its parameters and the queue it dispatches through.
The viewer-side trigger that produces an Invocation: a Twitch channel-point redeem, a cheer of a given bits range, a subscription, etc.
Invocation
Section titled “Invocation”A single dispatched call into the Adapter. The platform tracks its lifecycle:
pending → dispatched → applied → done | failed | refunded.
A Pack-declared dispatch lane. Within one queue, at most one Invocation is in flight at a time; different queues dispatch independently.
Bridge
Section titled “Bridge”The mobrule TCP server that runs on the streamer’s machine. Loads a Pack, validates Invocations against the Manifest, dispatches to the Adapter.
The mobrule Pack Protocol — JSON-over-NDJSON-over-TCP wire format between bridge and Adapter.
manifest_hash
Section titled “manifest_hash”Deterministic SHA-256 of the canonicalised Manifest. Pinned at session start; mismatch on handshake closes the connection.
Pack Config
Section titled “Pack Config”Broadcaster-wide settings the Pack exposes (cooldowns, defaults, asset paths). Declared as JSON Schema in the Manifest; values are stored by the platform per broadcaster and Pack.
Pack state
Section titled “Pack state”Runtime key-value data declared under [state.<key>] in the Manifest, written
by the Adapter via state_write frames — e.g. counters an overlay widget
subscribes to.