Skip to content

Packet mumcord hello

Tobias Vorwachs edited this page Oct 26, 2026 · 1 revision

Part of the Plugin data protocol. Flow: Flow-Hello.

Packet mumcord.hello

Purpose. Lets Mumcord clients recognise each other (the Mumcord badge) and learn which Mumcord features the other side supports. Every other Mumcord-only message depends on it.

dataID mumcord.hello
Encoding JSON object
Version sent / accepted 1 / 1 and higher (0 is invalid)
Sent to everyone on the server, later joiners once each; one direct answer to a new hello
Defined in crates/engine/src/mumcord.rs

Fields

Field Type Meaning
app string Always "mumcord". Anything else is not a Mumcord hello.
v integer Version, currently 1.
features array of strings What the sender can do. Optional (default empty).

Feature names are 1 to 32 characters of a-z, 0-9, - and . (MAX_FEATURE_LEN). At most 16 are kept (MAX_FEATURES); invalid names are skipped, duplicates removed.

Known features

Feature Means the client handles Packet page
now-playing mumcord.nowplaying Packet-mumcord-nowplaying
now-gaming mumcord.nowgaming Packet-mumcord-nowgaming
full-image mumcord.image requests (and full images over a direct connection) Packet-mumcord-image
p2p mumcord.p2p signalling and direct connections Packet-mumcord-p2p
watch-party mumcord.watch Packet-mumcord-watch
screen-share mumcord.screen Packet-mumcord-screen

History sync has no feature name: its requests go to everyone, and only Mumcord clients answer (Packet-mumcord-history).

Example

{"app":"mumcord","v":1,"features":["now-playing","now-gaming","full-image","p2p","watch-party","screen-share"]}

Version and limits

  • Missing app, app other than mumcord, or v below 1: dropped. Unknown fields are ignored.
  • Hellos from unknown sessions or from the own session are ignored.
  • One small message per peer; nowhere near the rate limit.

Privacy

No personal data. It only reveals that the sender runs Mumcord and which features it has.

Used in

Flow-Hello. Every other flow relies on the announced features.

Clone this wiki locally