Skip to content

Glossary

A bundle of game-specific capability declarations. Concretely: a directory containing a pack.toml Manifest plus the Adapter binary or script.

The process that translates Invocations into in-game effects. Adapters speak MPP over TCP to the bridge.

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.

A broadcaster-configured channel-point trigger: a pack Event bound to a channel-point Cue. mobrule provisions and owns the underlying Twitch Custom Channel-Point Reward one-to-one, so a Reward you create in mobrule is the channel-point reward viewers see. A Reward is durable and accrues many Redemptions over its lifetime.

A single viewer use of a Reward: one Twitch channel-point redemption event, identified by Twitch’s redemption_id. Ephemeral and per-use. The refund path cancels a Redemption to return the viewer’s channel points. A matched channel-point Redemption of a mobrule Reward is what produces an Invocation.

The raw viewer signal the platform records: a Twitch channel-point redemption, a cheer of a given bits range, a subscription, and so on. Recording a Cue does not by itself run a pack. The matcher pairs a channel-point Redemption of a mobrule Reward to that Reward, which produces an Invocation. An unmatched Cue (a redemption of a non-mobrule reward) produces no 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.

The mobrule process that runs on the streamer’s machine. Speaks MPP to the Adapter over TCP, loads a Pack, validates Invocations against the Manifest, and dispatches to the Adapter. It also runs a local HTTP/RPC server and serves the Overlay and other pack-shipped static assets.

The cloud service that consumes Twitch EventSub events and feeds matched Redemptions to the Module.

The mobrule Pack Protocol: JSON-over-NDJSON-over-TCP wire format between bridge and Adapter.

Deterministic SHA-256 of the canonicalised Manifest. Pinned at session start; mismatch on handshake closes the connection.

The cloud-side SpacetimeDB module holding Rewards, bridge sessions, and Pack Config state.

The Pack-shipped browser-source page served by the Bridge; subscribes to Pack state to render live in-stream UI.

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.

Runtime key-value data declared under [state.<key>] in the Manifest. Each key declares its own writer; a key with writer = "adapter" is written by the Adapter via state_write frames, but other writers exist (e.g. the bridge’s own dispatcher writes some keys directly). Consumers include overlay widgets that subscribe to the current values.