3 option optimize_for = SPEED;
6 optional uint32 version = 1;
7 optional string release = 2;
8 optional string os = 3;
9 optional string os_version = 4;
13 required bytes packet = 1;
16 message Authenticate {
17 optional string username = 1;
18 optional string password = 2;
19 repeated string tokens = 3;
20 repeated int32 celt_versions = 4;
21 optional bool opus = 5 [default = false];
25 optional uint64 timestamp = 1;
26 optional uint32 good = 2;
27 optional uint32 late = 3;
28 optional uint32 lost = 4;
29 optional uint32 resync = 5;
30 optional uint32 udp_packets = 6;
31 optional uint32 tcp_packets = 7;
32 optional float udp_ping_avg = 8;
33 optional float udp_ping_var = 9;
34 optional float tcp_ping_avg = 10;
35 optional float tcp_ping_var = 11;
49 optional RejectType type = 1;
50 optional string reason = 2;
53 message ServerConfig {
54 optional uint32 max_bandwidth = 1;
55 optional string welcome_text = 2;
56 optional bool allow_html = 3;
57 optional uint32 message_length = 4;
58 optional uint32 image_message_length = 5;
62 optional uint32 session = 1;
63 optional uint32 max_bandwidth = 2;
64 optional string welcome_text = 3;
65 optional uint64 permissions = 4;
68 message ChannelRemove {
69 required uint32 channel_id = 1;
72 message ChannelState {
73 optional uint32 channel_id = 1;
74 optional uint32 parent = 2;
75 optional string name = 3;
76 repeated uint32 links = 4;
77 optional string description = 5;
78 repeated uint32 links_add = 6;
79 repeated uint32 links_remove = 7;
80 optional bool temporary = 8 [default = false];
81 optional int32 position = 9 [default = 0];
82 optional bytes description_hash = 10;
86 required uint32 session = 1;
87 optional uint32 actor = 2;
88 optional string reason = 3;
89 optional bool ban = 4;
93 optional uint32 session = 1;
94 optional uint32 actor = 2;
95 optional string name = 3;
96 optional uint32 user_id = 4;
97 optional uint32 channel_id = 5;
98 optional bool mute = 6;
99 optional bool deaf = 7;
100 optional bool suppress = 8;
101 optional bool self_mute = 9;
102 optional bool self_deaf = 10;
103 optional bytes texture = 11;
104 optional bytes plugin_context = 12;
105 optional string plugin_identity = 13;
106 optional string comment = 14;
107 optional string hash = 15;
108 optional bytes comment_hash = 16;
109 optional bytes texture_hash = 17;
110 optional bool priority_speaker = 18;
111 optional bool recording = 19;
116 required bytes address = 1;
117 required uint32 mask = 2;
118 optional string name = 3;
119 optional string hash = 4;
120 optional string reason = 5;
121 optional string start = 6;
122 optional uint32 duration = 7;
124 repeated BanEntry bans = 1;
125 optional bool query = 2 [default = false];
128 message TextMessage {
129 optional uint32 actor = 1;
130 repeated uint32 session = 2;
131 repeated uint32 channel_id = 3;
132 repeated uint32 tree_id = 4;
133 required string message = 5;
136 message PermissionDenied {
144 TemporaryChannel = 6;
145 MissingCertificate = 7;
150 optional uint32 permission = 1;
151 optional uint32 channel_id = 2;
152 optional uint32 session = 3;
153 optional string reason = 4;
154 optional DenyType type = 5;
155 optional string name = 6;
160 required string name = 1;
161 optional bool inherited = 2 [default = true];
162 optional bool inherit = 3 [default = true];
163 optional bool inheritable = 4 [default = true];
164 repeated uint32 add = 5;
165 repeated uint32 remove = 6;
166 repeated uint32 inherited_members = 7;
169 optional bool apply_here = 1 [default = true];
170 optional bool apply_subs = 2 [default = true];
171 optional bool inherited = 3 [default = true];
172 optional uint32 user_id = 4;
173 optional string group = 5;
174 optional uint32 grant = 6;
175 optional uint32 deny = 7;
177 required uint32 channel_id = 1;
178 optional bool inherit_acls = 2 [default = true];
179 repeated ChanGroup groups = 3;
180 repeated ChanACL acls = 4;
181 optional bool query = 5 [default = false];
185 repeated uint32 ids = 1;
186 repeated string names = 2;
190 optional bytes key = 1;
191 optional bytes client_nonce = 2;
192 optional bytes server_nonce = 3;
195 message ContextActionModify {
205 required string action = 1;
206 optional string text = 2;
207 optional uint32 context = 3;
208 optional Operation operation = 4;
211 message ContextAction {
212 optional uint32 session = 1;
213 optional uint32 channel_id = 2;
214 required string action = 3;
219 required uint32 user_id = 1;
220 optional string name = 2;
222 repeated User users = 1;
225 message VoiceTarget {
227 repeated uint32 session = 1;
228 optional uint32 channel_id = 2;
229 optional string group = 3;
230 optional bool links = 4 [default = false];
231 optional bool children = 5 [default = false];
233 optional uint32 id = 1;
234 repeated Target targets = 2;
237 message PermissionQuery {
238 optional uint32 channel_id = 1;
239 optional uint32 permissions = 2;
240 optional bool flush = 3 [default = false];
243 message CodecVersion {
244 required int32 alpha = 1;
245 required int32 beta = 2;
246 required bool prefer_alpha = 3 [default = true];
247 optional bool opus = 4 [default = false];
252 optional uint32 good = 1;
253 optional uint32 late = 2;
254 optional uint32 lost = 3;
255 optional uint32 resync = 4;
258 optional uint32 session = 1;
259 optional bool stats_only = 2 [default = false];
260 repeated bytes certificates = 3;
261 optional Stats from_client = 4;
262 optional Stats from_server = 5;
264 optional uint32 udp_packets = 6;
265 optional uint32 tcp_packets = 7;
266 optional float udp_ping_avg = 8;
267 optional float udp_ping_var = 9;
268 optional float tcp_ping_avg = 10;
269 optional float tcp_ping_var = 11;
271 optional Version version = 12;
272 repeated int32 celt_versions = 13;
273 optional bytes address = 14;
274 optional uint32 bandwidth = 15;
275 optional uint32 onlinesecs = 16;
276 optional uint32 idlesecs = 17;
277 optional bool strong_certificate = 18 [default = false];
278 optional bool opus = 19 [default = false];
281 message SuggestConfig {
282 optional uint32 version = 1;
283 optional bool positional = 2;
284 optional bool push_to_talk = 3;
287 message RequestBlob {
288 repeated uint32 session_texture = 1;
289 repeated uint32 session_comment = 2;
290 repeated uint32 channel_description = 3;