harmony protocol v0.0.1
The harmony protocol uses JSON as its message format.
Servers are assigned IDs upon creation starting at 10. This ID may be used to specify which instance to join or connect to. Example join link:
When an ID is not specified, the first server instance (ID 10) is assumed.
Specifying a server ID is only required when initially connecting.
Voice communication overview
WebRTC facilitates voice communication. When a client
requests to join a voice channel, the server is sent one or more
commands to initiate audio connections. Once at least one connection is
established, the client will send the server a
Join command with a voice
Current implementations establish three audio connections and route incoming audio over the first available connection. This may change.
|110||Connect||Connect to a server||
|101||Ping||Request to ensure connection is still active||
|102||Pong||Reply ensuring connection is still active||
|103||Call||Initiate voice connection with server||
|104||Answer||Reply to initiate voice connection with server||
|111||Join||Join a voice channel||
|112||Quit||Quit a voice channel||
|123||TransmitStart||Notification of voice activity starting||
|124||TransmitStop||Notification of voice activity stopping||
|119||Disconnect||Disconnect from a server||