Get desktop application:
View/edit binary Protocol Buffers messages
Channel ID of the channel this message affects.
True if the channel inherits its parent's ACLs.
User group specifications.
ACL specifications.
True if the message is a query for ACLs instead of setting them.
Used in:
True if this ACL applies to the current channel.
True if this ACL applies to the sub channels.
True if the ACL has been inherited from the parent.
ID of the user that is affected by this ACL.
ID of the group that is affected by this ACL.
Bit flag field of the permissions granted by this ACL.
Bit flag field of the permissions denied by this ACL.
Used in:
Name of the channel group, UTF-8 encoded.
True if the group has been inherited from the parent (Read only).
True if the group members are inherited.
True if the group can be inherited by sub channels.
Users explicitly included in this group, identified by user_id.
Users explicitly removed from this group in this channel if the group has been inherited, identified by user_id.
Users inherited, identified by user_id.
Used by the client to send the authentication credentials to the server.
UTF-8 encoded username.
Server or user password.
Additional access tokens for server ACL groups.
A list of CELT bitstream version constants supported by the client.
Relays information on the bans. The client may send the BanList message to either modify the list of bans or query them from the server. The server sends this list only after a client queries for it.
List of ban entries currently in place.
True if the server should return the list, false if it should replace old ban list with the one provided.
Used in:
Banned IP address.
The length of the subnet mask for the ban.
User name for identification purposes (does not affect the ban).
The certificate hash of the banned user.
Reason for the ban (does not affect the ban).
Ban start time.
Ban duration in seconds.
Sent by the client when it wants a channel removed. Sent by the server when a channel has been removed and clients should be notified.
Used to communicate channel properties between the client and the server. Sent by the server during the login process or when channel properties are updated. Client may use this message to update said channel properties.
Unique ID for the channel within the server.
channel_id of the parent channel.
UTF-8 encoded channel name.
A collection of channel id values of the linked channels. Absent during the first channel listing.
UTF-8 encoded channel description. Only if the description is less than 128 bytes
A collection of channel_id values that should be added to links.
A collection of channel_id values that should be removed from links.
True if the channel is temporary.
Position weight to tweak the channel position in the channel list.
SHA1 hash of the description if the description is 128 bytes or more.
Maximum number of users allowed in the channel. If this value is zero, the maximum number of users allowed in the channel is given by the server's "usersperchannel" setting.
Whether this channel has enter restrictions (ACL denying ENTER) set
Whether the receiver of this msg is considered to be able to enter this channel
Sent by the server to notify the users of the version of the CELT codec they should use. This may change during the connection when new users join.
The version of the CELT Alpha codec.
The version of the CELT Beta codec.
True if the user should prefer Alpha over Beta.
Sent by the client when it wants to initiate a Context action.
The target User for the action, identified by session.
The target Channel for the action, identified by channel_id.
The action that should be executed.
The action name.
The display name of the action.
Context bit flags defining where the action should be displayed.
Action is applicable to the server.
Action can target a Channel.
Action can target a User.
Used in:
Used to initialize and resync the UDP encryption. Either side may request a resync by sending the message without any values filled. The resync is performed by sending the message with only the client or server nonce filled.
Encryption key.
Client nonce.
Server nonce.
The denied permission when type is Permission.
channel_id for the channel where the permission was denied when type is Permission.
The user who was denied permissions, identified by session.
Textual reason for the denial.
Type of the denial.
The name that is invalid when type is UserName.
Used in:
Operation denied for other reason, see reason field.
Permissions were denied.
Cannot modify SuperUser.
Invalid channel name.
Text message too long.
The flux capacitor was spelled wrong.
Operation not permitted in temporary channel.
Operation requires certificate.
Invalid username.
Channel is full.
Channels are nested too deply.
Maximum channel count reached.
Sent by the client when it wants permissions for a certain channel. Sent by the server when it replies to the query or wants the user to resync all channel permissions.
channel_id of the channel for which the permissions are queried.
Channel permissions.
True if the client should drop its current permission information for all channels.
Sent by the client to notify the server that the client is still alive. Server must reply to the packet with the same timestamp and its own good/late/lost/resync numbers. None of the fields is strictly required.
Client timestamp. Server should not attempt to decode.
The amount of good packets received.
The amount of late packets received.
The amount of packets never received.
The amount of nonce resyncs.
The total amount of UDP packets received.
The total amount of TCP packets received.
UDP ping average.
UDP ping variance.
TCP ping average.
TCP ping variance.
Client may use this message to refresh its registered user information. The client should fill the IDs or Names of the users it wants to refresh. The server fills the missing parts and sends the message back.
user_ids.
User names in the same order as ids.
Sent by the server when it rejects the user connection.
Rejection type.
Human readable rejection reason.
Used in:
The rejection reason is unknown (details should be available in Reject.reason).
The client attempted to connect with an incompatible version.
The user name supplied by the client was invalid.
The client attempted to authenticate as a user with a password but it was wrong.
The client attempted to connect to a passworded server but the password was wrong.
Supplied username is already in use.
Server is currently full and cannot accept more users.
The user did not provide a certificate but one is required.
Used by the client to request binary data from the server. By default large comments or textures are not sent within standard messages but instead the hash is. If the client does not recognize the hash it may request the resource when it needs it. The client does so by sending a RequestBlob message with the correct fields filled with the user sessions or channel_ids it wants to receive. The server replies to this by sending a new UserState/ChannelState message with the resources filled even if they would normally be transmitted as hashes.
sessions of the requested UserState textures.
sessions of the requested UserState comments.
channel_ids of the requested ChannelState descriptions.
Sent by the server when it informs the clients on server configuration details.
The maximum bandwidth the clients should use.
Server welcome text.
True if the server allows HTML.
Maximum text message length.
Maximum image message length.
The maximum number of users allowed on the server.
ServerSync message is sent by the server when it has authenticated the user and finished synchronizing the server state.
The session of the current user.
Maximum bandwidth that the user should use.
Server welcome text.
Current user permissions in the root channel.
Sent by the server to inform the clients of suggested client configuration specified by the server administrator.
Suggested client version.
True if the administrator suggests positional audio to be used on this server.
True if the administrator suggests push to talk to be used on this server.
Used to send and broadcast text messages.
The message sender, identified by its session.
Target users for the message, identified by their session.
The channels to which the message is sent, identified by their channel_ids.
The root channels when sending message recursively to several channels, identified by their channel_ids.
The UTF-8 encoded message. May be HTML if the server allows.
Not used. Not even for tunneling UDP through TCP.
Not used.
Lists the registered users.
A list of registered users.
Used in:
Registered user ID.
Registered user name.
Used to communicate user leaving or being kicked. May be sent by the client when it attempts to kick a user. Sent by the server when it informs the clients that a user is not present anymore.
The user who is being kicked, identified by their session, not present when no one is being kicked.
The user who initiated the removal. Either the user who performs the kick or the user who is currently leaving.
Reason for the kick, stored as the ban reason if the user is banned.
True if the kick should result in a ban.
Sent by the server when it communicates new and changed users to client. First seen during login procedure. May be sent by the client when it wishes to alter its state.
Unique user session ID of the user whose state this is, may change on reconnect.
The session of the user who is updating this user.
User name, UTF-8 encoded.
Registered user ID if the user is registered.
Channel on which the user is.
True if the user is muted by admin.
True if the user is deafened by admin.
True if the user has been suppressed from talking by a reason other than being muted.
True if the user has muted self.
True if the user has deafened self.
User image if it is less than 128 bytes.
The positional audio plugin identifier. Positional audio information is only sent to users who share identical plugin contexts. This value is not trasmitted to clients.
The user's plugin-specific identity. This value is not transmitted to clients.
User comment if it is less than 128 bytes.
The hash of the user certificate.
SHA1 hash of the user comment if it 128 bytes or more.
SHA1 hash of the user picture if it 128 bytes or more.
True if the user is a priority speaker.
True if the user is currently recording.
A list of temporary acces tokens to be respected when processing this request.
Used to communicate user stats between the server and clients.
User whose stats these are.
True if the message contains only mutable stats (packets, ping).
Full user certificate chain of the user certificate in DER format.
Packet statistics for packets received from the client.
Packet statistics for packets sent by the server.
Amount of UDP packets sent.
Amount of TCP packets sent.
UDP ping average.
UDP ping variance.
TCP ping average.
TCP ping variance.
Client version.
A list of CELT bitstream version constants supported by the client of this user.
Client IP address.
Bandwith used by this client.
Connection duration.
Duration since last activity.
True if the user has a strong certificate.
Used in:
The amount of good packets received.
The amount of late packets received.
The amount of packets never received.
The amount of nonce resyncs.
Used in:
2-byte Major, 1-byte Minor and 1-byte Patch version number.
Client release name.
Client OS name.
Client OS version.
Sent by the client when it wants to register or clear whisper targets. Note: The first available target ID is 1 as 0 is reserved for normal talking. Maximum target ID is 30.
Voice target ID.
The receivers that this voice target includes.
Used in:
Users that are included as targets.
Channel that is included as a target.
ACL group that is included as a target.
True if the voice should follow links from the specified channel.
True if the voice should also be sent to children of the specific channel.