Repository navigation
Flow Hello
Tobias Vorwachs edited this page Oct 26, 2026
·
1 revision
Part of the Plugin data protocol. Packet: Packet-mumcord-hello.
Lets two Mumcord clients find out that the other one runs Mumcord and which features it supports. Every feature-gated flow starts here.
sequenceDiagram
participant A as Client A (joins)
participant S as Mumble server
participant B as Client B (already there)
A->>S: connect, sync finished
S-->>B: UserState (A joined)
A->>S: plugin data mumcord.hello (to everyone)
S-->>B: relayed hello
B->>S: plugin data mumcord.hello (one answer, direct to A)
S-->>A: relayed hello
Note over A,B: Both now know the other runs Mumcord and which features it has
- When the connection finished syncing, client A sends one
mumcord.helloto everyone on the server (every session listed inreceiverSessions). - Everyone who joins later gets one hello, once per stay.
- A client that receives a hello from someone it has not greeted yet answers once, to that person only. Two clients that connect at the same moment therefore still learn about each other, and there is no ping-pong: a hello from someone already greeted gets no answer.
- The receiver stores the sender's feature list. Other flows look it up before sending feature-gated packets.
- Hellos from unknown sessions or from the own session are ignored.
-
appmust be"mumcord",vat least 1; otherwise the message is dropped. - At most 16 features of 1 to 32 characters (
a-z,0-9,-,.) are kept; invalid ones are skipped. - A client without a hello (an official Mumble client, or a bot that never sent one) is treated as having no Mumcord features and receives no feature-gated packets.
- Hellos are tiny and rare; they stay far below the server rate limit.
Mumcord is licensed under the AGPL-3.0 (versions up to 0.1.1: MIT) · Source code · Website · Website source