tachyon-protocol 1.16.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -17
- package/dist/{index.mjs → index.cjs} +206 -4
- package/dist/{index.d.mts → index.d.cts} +25 -10
- package/dist/index.d.ts +24 -9
- package/dist/index.js +181 -29
- package/dist/types.cjs +18 -0
- package/dist/{types.d.mts → types.d.cts} +514 -35
- package/dist/types.d.ts +514 -35
- package/dist/types.js +0 -18
- package/dist/validators.cjs +1 -0
- package/dist/{validators.d.mts → validators.d.cts} +110 -2
- package/dist/validators.d.ts +110 -2
- package/dist/validators.js +21 -1
- package/package.json +32 -30
- package/dist/types.mjs +0 -0
- package/dist/validators.mjs +0 -21
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ Tachyon is the name of this protocol, designed to replace the old [Spring Lobby
|
|
|
5
5
|
## Terminology
|
|
6
6
|
|
|
7
7
|
| Term | Meaning |
|
|
8
|
-
|
|
8
|
+
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
9
9
|
| AI | User-owned game AI instances, e.g. ScavengersAI or BARbarianAI. Can only exist within lobbies/battles |
|
|
10
10
|
| Autohost | A bot which is specifically intended to host battles |
|
|
11
11
|
| AutohostClient | An autohost instance that is connected to the server |
|
|
@@ -14,16 +14,16 @@ Tachyon is the name of this protocol, designed to replace the old [Spring Lobby
|
|
|
14
14
|
| Client | A WebSocket client that communicates with the Tachyon server via the Tachyon protocol |
|
|
15
15
|
| Client Application | Top level application that connectsE.g. SpringLobby, Chobby, BAR Lobby |
|
|
16
16
|
| Command | The JSON data sent in a message. The shape of these objects are primarily what this Tachyon schema describes |
|
|
17
|
-
| Command ID | The unique string which represents the command type. E.g
|
|
18
|
-
| Endpoint | Represents a request->response command or a single response command E.g
|
|
19
|
-
| Engine | A version of the engine (Recoil), e.g
|
|
17
|
+
| Command ID | The unique string which represents the command type. E.g.`system/connected/response` or `lobby/join/request` |
|
|
18
|
+
| Endpoint | Represents a request->response command or a single response command E.g.`register`, `login` or `join` |
|
|
19
|
+
| Engine | A version of the engine (Recoil), e.g.`105.1.1-1544-g058c8ea BAR105` |
|
|
20
20
|
| Host | The host of a battle. Typically these users are bots |
|
|
21
|
-
| Game | A version of the core game files, e.g
|
|
21
|
+
| Game | A version of the core game files, e.g.`Beyond All Reason test-22425-e6c0e37` |
|
|
22
22
|
| Lobby | A room or waiting area from which a Battle can be launched, one Lobby can have multiple Battles over the course of its lifetime |
|
|
23
23
|
| Message | The request/response sent over the network that contains a command |
|
|
24
24
|
| Message ID | A unique identifier for a pair of request/response commands which links them together |
|
|
25
25
|
| Server | The provider of the protocol and what clients connect to. i.e. the master/middleware server |
|
|
26
|
-
| Service | A collection of endpoints that are categorically related, E.g
|
|
26
|
+
| Service | A collection of endpoints that are categorically related, E.g.`user` or `lobby` |
|
|
27
27
|
| User | Syonymous with an account, and strictly represents the data which is stored in the server database |
|
|
28
28
|
| UserClient | A registered user that is connected to the server |
|
|
29
29
|
|
|
@@ -45,7 +45,7 @@ Every command shares the following properties:
|
|
|
45
45
|
|
|
46
46
|
| Property | Type | Description |
|
|
47
47
|
| ---------- | ------ | ------------------------------------------------------------------------------------- |
|
|
48
|
-
| commandId | string | The identifier of this command's type, e.g
|
|
48
|
+
| commandId | string | The identifier of this command's type, e.g.`lobby/create/request` |
|
|
49
49
|
| messsageId | string | A unique identifier for a pair of request/response commands which links them together |
|
|
50
50
|
|
|
51
51
|
### Requests
|
|
@@ -64,20 +64,20 @@ Sent in response to a request.
|
|
|
64
64
|
|
|
65
65
|
Every response command contains these additional properties:
|
|
66
66
|
|
|
67
|
-
| Property | type
|
|
68
|
-
|
|
69
|
-
| status | "success"
|
|
70
|
-
| data (optional) | object
|
|
71
|
-
| reason (if status is "failed") | string
|
|
67
|
+
| Property | type | Description |
|
|
68
|
+
| ------------------------------ | -------------------- | -------------------------------------------------------------------------------------------------------- |
|
|
69
|
+
| status | "success"\| "failed" | A object containing data specific to the command. This may be omitted if the command does not require it |
|
|
70
|
+
| data (optional) | object | Command-specific data object. Only present for "success" responses |
|
|
71
|
+
| reason (if status is "failed") | string | An error code only present for "failed" responses |
|
|
72
72
|
|
|
73
73
|
All `failed` responses that are initiated by a request can return one of the following `reason`s, even though not explicitly defined in each command's definition file:
|
|
74
74
|
|
|
75
|
-
| Reason | Description
|
|
76
|
-
|
|
75
|
+
| Reason | Description |
|
|
76
|
+
| --------------------- | -------------------------------------------------------------------------------------------- |
|
|
77
77
|
| unauthorized | When a client sends a request command of which they do not have the `role` required to use |
|
|
78
|
-
| internal_error | When the server fails to handle the request in some way
|
|
79
|
-
| invalid_request | When the request command doesn't match the schema
|
|
80
|
-
| command_unimplemented | When the server hasn't implemented a response handler for the command
|
|
78
|
+
| internal_error | When the server fails to handle the request in some way |
|
|
79
|
+
| invalid_request | When the request command doesn't match the schema |
|
|
80
|
+
| command_unimplemented | When the server hasn't implemented a response handler for the command |
|
|
81
81
|
|
|
82
82
|
### Events
|
|
83
83
|
|
|
@@ -94,6 +94,7 @@ Every event command contains these additional properties:
|
|
|
94
94
|
<!-- COMMAND_SCHEMA_PLACEHOLDER_START_DO_NOT_REMOVE -->
|
|
95
95
|
- [autohost](docs/schema/autohost.md)
|
|
96
96
|
- [battle](docs/schema/battle.md)
|
|
97
|
+
- [clan](docs/schema/clan.md)
|
|
97
98
|
- [friend](docs/schema/friend.md)
|
|
98
99
|
- [lobby](docs/schema/lobby.md)
|
|
99
100
|
- [matchmaking](docs/schema/matchmaking.md)
|
|
@@ -106,3 +107,7 @@ Every event command contains these additional properties:
|
|
|
106
107
|
## Contributing
|
|
107
108
|
|
|
108
109
|
The [dist](dist) and [docs/schema](docs/schema) directories are automatically generated based on the files in [src/schema](src/schema). The source files are written in [TypeScript](https://www.typescriptlang.org/) for [Node.js](https://nodejs.org/en), using the [TypeBox](https://github.com/sinclairzx81/typebox) library for JSONSchema generation.
|
|
110
|
+
|
|
111
|
+
## Perform local tests with cloned repositories
|
|
112
|
+
|
|
113
|
+
If you want to test protocol changes locally on your own computer using a local server and a local copy of bar-lobby, you must first prepare both according to the respective repository derivations. The next step is to build the tachyon protocol with `npm run build:clean`. Then, `npm link` must be executed in the tachyon clone in the root directory. Finally, `npm link` tachyon-protocol must be executed in the root of the teiserver clone and lobby clone to link everything together.
|
|
@@ -1,6 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
1
20
|
// dist/index.ts
|
|
21
|
+
var dist_exports = {};
|
|
22
|
+
__export(dist_exports, {
|
|
23
|
+
tachyonMeta: () => tachyonMeta
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(dist_exports);
|
|
2
26
|
var tachyonMeta = {
|
|
3
|
-
"version": "1.
|
|
27
|
+
"version": "1.18.0",
|
|
4
28
|
"schema": {
|
|
5
29
|
"actors": {
|
|
6
30
|
"server": {
|
|
@@ -19,6 +43,18 @@ var tachyonMeta = {
|
|
|
19
43
|
"battle/start"
|
|
20
44
|
],
|
|
21
45
|
"receive": [
|
|
46
|
+
"clan/accept",
|
|
47
|
+
"clan/cancel",
|
|
48
|
+
"clan/create",
|
|
49
|
+
"clan/decline",
|
|
50
|
+
"clan/delete",
|
|
51
|
+
"clan/invite",
|
|
52
|
+
"clan/kick",
|
|
53
|
+
"clan/leave",
|
|
54
|
+
"clan/setRole",
|
|
55
|
+
"clan/update",
|
|
56
|
+
"clan/view",
|
|
57
|
+
"clan/viewList",
|
|
22
58
|
"friend/acceptRequest",
|
|
23
59
|
"friend/cancelRequest",
|
|
24
60
|
"friend/list",
|
|
@@ -38,6 +74,8 @@ var tachyonMeta = {
|
|
|
38
74
|
"lobby/unsubscribeList",
|
|
39
75
|
"lobby/update",
|
|
40
76
|
"lobby/updateBot",
|
|
77
|
+
"lobby/updateClientStatus",
|
|
78
|
+
"lobby/voteSubmit",
|
|
41
79
|
"matchmaking/cancel",
|
|
42
80
|
"matchmaking/list",
|
|
43
81
|
"matchmaking/queue",
|
|
@@ -60,6 +98,18 @@ var tachyonMeta = {
|
|
|
60
98
|
},
|
|
61
99
|
"response": {
|
|
62
100
|
"send": [
|
|
101
|
+
"clan/accept",
|
|
102
|
+
"clan/cancel",
|
|
103
|
+
"clan/create",
|
|
104
|
+
"clan/decline",
|
|
105
|
+
"clan/delete",
|
|
106
|
+
"clan/invite",
|
|
107
|
+
"clan/kick",
|
|
108
|
+
"clan/leave",
|
|
109
|
+
"clan/setRole",
|
|
110
|
+
"clan/update",
|
|
111
|
+
"clan/view",
|
|
112
|
+
"clan/viewList",
|
|
63
113
|
"friend/acceptRequest",
|
|
64
114
|
"friend/cancelRequest",
|
|
65
115
|
"friend/list",
|
|
@@ -79,6 +129,8 @@ var tachyonMeta = {
|
|
|
79
129
|
"lobby/unsubscribeList",
|
|
80
130
|
"lobby/update",
|
|
81
131
|
"lobby/updateBot",
|
|
132
|
+
"lobby/updateClientStatus",
|
|
133
|
+
"lobby/voteSubmit",
|
|
82
134
|
"matchmaking/cancel",
|
|
83
135
|
"matchmaking/list",
|
|
84
136
|
"matchmaking/queue",
|
|
@@ -114,6 +166,11 @@ var tachyonMeta = {
|
|
|
114
166
|
},
|
|
115
167
|
"event": {
|
|
116
168
|
"send": [
|
|
169
|
+
"clan/deleted",
|
|
170
|
+
"clan/invited",
|
|
171
|
+
"clan/kicked",
|
|
172
|
+
"clan/roleChanged",
|
|
173
|
+
"clan/updated",
|
|
117
174
|
"friend/removed",
|
|
118
175
|
"friend/requestAccepted",
|
|
119
176
|
"friend/requestCancelled",
|
|
@@ -123,6 +180,7 @@ var tachyonMeta = {
|
|
|
123
180
|
"lobby/listReset",
|
|
124
181
|
"lobby/listUpdated",
|
|
125
182
|
"lobby/updated",
|
|
183
|
+
"lobby/voteEnded",
|
|
126
184
|
"matchmaking/cancelled",
|
|
127
185
|
"matchmaking/found",
|
|
128
186
|
"matchmaking/foundUpdate",
|
|
@@ -145,6 +203,18 @@ var tachyonMeta = {
|
|
|
145
203
|
"user": {
|
|
146
204
|
"request": {
|
|
147
205
|
"send": [
|
|
206
|
+
"clan/accept",
|
|
207
|
+
"clan/cancel",
|
|
208
|
+
"clan/create",
|
|
209
|
+
"clan/decline",
|
|
210
|
+
"clan/delete",
|
|
211
|
+
"clan/invite",
|
|
212
|
+
"clan/kick",
|
|
213
|
+
"clan/leave",
|
|
214
|
+
"clan/setRole",
|
|
215
|
+
"clan/update",
|
|
216
|
+
"clan/view",
|
|
217
|
+
"clan/viewList",
|
|
148
218
|
"friend/acceptRequest",
|
|
149
219
|
"friend/cancelRequest",
|
|
150
220
|
"friend/list",
|
|
@@ -164,6 +234,8 @@ var tachyonMeta = {
|
|
|
164
234
|
"lobby/unsubscribeList",
|
|
165
235
|
"lobby/update",
|
|
166
236
|
"lobby/updateBot",
|
|
237
|
+
"lobby/updateClientStatus",
|
|
238
|
+
"lobby/voteSubmit",
|
|
167
239
|
"matchmaking/cancel",
|
|
168
240
|
"matchmaking/list",
|
|
169
241
|
"matchmaking/queue",
|
|
@@ -192,6 +264,18 @@ var tachyonMeta = {
|
|
|
192
264
|
"battle/start"
|
|
193
265
|
],
|
|
194
266
|
"receive": [
|
|
267
|
+
"clan/accept",
|
|
268
|
+
"clan/cancel",
|
|
269
|
+
"clan/create",
|
|
270
|
+
"clan/decline",
|
|
271
|
+
"clan/delete",
|
|
272
|
+
"clan/invite",
|
|
273
|
+
"clan/kick",
|
|
274
|
+
"clan/leave",
|
|
275
|
+
"clan/setRole",
|
|
276
|
+
"clan/update",
|
|
277
|
+
"clan/view",
|
|
278
|
+
"clan/viewList",
|
|
195
279
|
"friend/acceptRequest",
|
|
196
280
|
"friend/cancelRequest",
|
|
197
281
|
"friend/list",
|
|
@@ -211,6 +295,8 @@ var tachyonMeta = {
|
|
|
211
295
|
"lobby/unsubscribeList",
|
|
212
296
|
"lobby/update",
|
|
213
297
|
"lobby/updateBot",
|
|
298
|
+
"lobby/updateClientStatus",
|
|
299
|
+
"lobby/voteSubmit",
|
|
214
300
|
"matchmaking/cancel",
|
|
215
301
|
"matchmaking/list",
|
|
216
302
|
"matchmaking/queue",
|
|
@@ -234,6 +320,11 @@ var tachyonMeta = {
|
|
|
234
320
|
"event": {
|
|
235
321
|
"send": [],
|
|
236
322
|
"receive": [
|
|
323
|
+
"clan/deleted",
|
|
324
|
+
"clan/invited",
|
|
325
|
+
"clan/kicked",
|
|
326
|
+
"clan/roleChanged",
|
|
327
|
+
"clan/updated",
|
|
237
328
|
"friend/removed",
|
|
238
329
|
"friend/requestAccepted",
|
|
239
330
|
"friend/requestCancelled",
|
|
@@ -243,6 +334,7 @@ var tachyonMeta = {
|
|
|
243
334
|
"lobby/listReset",
|
|
244
335
|
"lobby/listUpdated",
|
|
245
336
|
"lobby/updated",
|
|
337
|
+
"lobby/voteEnded",
|
|
246
338
|
"matchmaking/cancelled",
|
|
247
339
|
"matchmaking/found",
|
|
248
340
|
"matchmaking/foundUpdate",
|
|
@@ -316,6 +408,25 @@ var tachyonMeta = {
|
|
|
316
408
|
"battle": [
|
|
317
409
|
"start"
|
|
318
410
|
],
|
|
411
|
+
"clan": [
|
|
412
|
+
"accept",
|
|
413
|
+
"cancel",
|
|
414
|
+
"create",
|
|
415
|
+
"decline",
|
|
416
|
+
"delete",
|
|
417
|
+
"deleted",
|
|
418
|
+
"invite",
|
|
419
|
+
"invited",
|
|
420
|
+
"kick",
|
|
421
|
+
"kicked",
|
|
422
|
+
"leave",
|
|
423
|
+
"roleChanged",
|
|
424
|
+
"setRole",
|
|
425
|
+
"update",
|
|
426
|
+
"updated",
|
|
427
|
+
"view",
|
|
428
|
+
"viewList"
|
|
429
|
+
],
|
|
319
430
|
"friend": [
|
|
320
431
|
"acceptRequest",
|
|
321
432
|
"cancelRequest",
|
|
@@ -346,7 +457,10 @@ var tachyonMeta = {
|
|
|
346
457
|
"unsubscribeList",
|
|
347
458
|
"update",
|
|
348
459
|
"updateBot",
|
|
349
|
-
"
|
|
460
|
+
"updateClientStatus",
|
|
461
|
+
"updated",
|
|
462
|
+
"voteEnded",
|
|
463
|
+
"voteSubmit"
|
|
350
464
|
],
|
|
351
465
|
"matchmaking": [
|
|
352
466
|
"cancel",
|
|
@@ -458,6 +572,78 @@ var tachyonMeta = {
|
|
|
458
572
|
"invalid_request",
|
|
459
573
|
"command_unimplemented"
|
|
460
574
|
],
|
|
575
|
+
"clan/accept": [
|
|
576
|
+
"internal_error",
|
|
577
|
+
"unauthorized",
|
|
578
|
+
"invalid_request",
|
|
579
|
+
"command_unimplemented"
|
|
580
|
+
],
|
|
581
|
+
"clan/cancel": [
|
|
582
|
+
"internal_error",
|
|
583
|
+
"unauthorized",
|
|
584
|
+
"invalid_request",
|
|
585
|
+
"command_unimplemented"
|
|
586
|
+
],
|
|
587
|
+
"clan/create": [
|
|
588
|
+
"internal_error",
|
|
589
|
+
"unauthorized",
|
|
590
|
+
"invalid_request",
|
|
591
|
+
"command_unimplemented"
|
|
592
|
+
],
|
|
593
|
+
"clan/decline": [
|
|
594
|
+
"internal_error",
|
|
595
|
+
"unauthorized",
|
|
596
|
+
"invalid_request",
|
|
597
|
+
"command_unimplemented"
|
|
598
|
+
],
|
|
599
|
+
"clan/delete": [
|
|
600
|
+
"internal_error",
|
|
601
|
+
"unauthorized",
|
|
602
|
+
"invalid_request",
|
|
603
|
+
"command_unimplemented"
|
|
604
|
+
],
|
|
605
|
+
"clan/invite": [
|
|
606
|
+
"internal_error",
|
|
607
|
+
"unauthorized",
|
|
608
|
+
"invalid_request",
|
|
609
|
+
"command_unimplemented"
|
|
610
|
+
],
|
|
611
|
+
"clan/kick": [
|
|
612
|
+
"internal_error",
|
|
613
|
+
"unauthorized",
|
|
614
|
+
"invalid_request",
|
|
615
|
+
"command_unimplemented"
|
|
616
|
+
],
|
|
617
|
+
"clan/leave": [
|
|
618
|
+
"internal_error",
|
|
619
|
+
"unauthorized",
|
|
620
|
+
"invalid_request",
|
|
621
|
+
"command_unimplemented"
|
|
622
|
+
],
|
|
623
|
+
"clan/setRole": [
|
|
624
|
+
"internal_error",
|
|
625
|
+
"unauthorized",
|
|
626
|
+
"invalid_request",
|
|
627
|
+
"command_unimplemented"
|
|
628
|
+
],
|
|
629
|
+
"clan/update": [
|
|
630
|
+
"internal_error",
|
|
631
|
+
"unauthorized",
|
|
632
|
+
"invalid_request",
|
|
633
|
+
"command_unimplemented"
|
|
634
|
+
],
|
|
635
|
+
"clan/view": [
|
|
636
|
+
"internal_error",
|
|
637
|
+
"unauthorized",
|
|
638
|
+
"invalid_request",
|
|
639
|
+
"command_unimplemented"
|
|
640
|
+
],
|
|
641
|
+
"clan/viewList": [
|
|
642
|
+
"internal_error",
|
|
643
|
+
"unauthorized",
|
|
644
|
+
"invalid_request",
|
|
645
|
+
"command_unimplemented"
|
|
646
|
+
],
|
|
461
647
|
"friend/acceptRequest": [
|
|
462
648
|
"invalid_user",
|
|
463
649
|
"no_pending_request",
|
|
@@ -594,6 +780,20 @@ var tachyonMeta = {
|
|
|
594
780
|
"invalid_request",
|
|
595
781
|
"command_unimplemented"
|
|
596
782
|
],
|
|
783
|
+
"lobby/updateClientStatus": [
|
|
784
|
+
"not_in_lobby",
|
|
785
|
+
"not_a_player",
|
|
786
|
+
"internal_error",
|
|
787
|
+
"unauthorized",
|
|
788
|
+
"invalid_request",
|
|
789
|
+
"command_unimplemented"
|
|
790
|
+
],
|
|
791
|
+
"lobby/voteSubmit": [
|
|
792
|
+
"internal_error",
|
|
793
|
+
"unauthorized",
|
|
794
|
+
"invalid_request",
|
|
795
|
+
"command_unimplemented"
|
|
796
|
+
],
|
|
597
797
|
"matchmaking/cancel": [
|
|
598
798
|
"not_queued",
|
|
599
799
|
"internal_error",
|
|
@@ -611,6 +811,7 @@ var tachyonMeta = {
|
|
|
611
811
|
"invalid_queue_specified",
|
|
612
812
|
"already_queued",
|
|
613
813
|
"already_in_battle",
|
|
814
|
+
"version_mismatch",
|
|
614
815
|
"internal_error",
|
|
615
816
|
"unauthorized",
|
|
616
817
|
"invalid_request",
|
|
@@ -716,6 +917,7 @@ var tachyonMeta = {
|
|
|
716
917
|
}
|
|
717
918
|
}
|
|
718
919
|
};
|
|
719
|
-
export
|
|
920
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
921
|
+
0 && (module.exports = {
|
|
720
922
|
tachyonMeta
|
|
721
|
-
};
|
|
923
|
+
});
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { TachyonCommand } from './types.
|
|
1
|
+
import { TachyonCommand } from './types.cjs';
|
|
2
2
|
|
|
3
3
|
declare const tachyonMeta: {
|
|
4
|
-
readonly version: "1.
|
|
4
|
+
readonly version: "1.18.0";
|
|
5
5
|
readonly schema: {
|
|
6
6
|
readonly actors: {
|
|
7
7
|
readonly server: {
|
|
8
8
|
readonly request: {
|
|
9
9
|
readonly send: readonly ["autohost/addPlayer", "autohost/installEngine", "autohost/kickPlayer", "autohost/kill", "autohost/mutePlayer", "autohost/sendCommand", "autohost/sendMessage", "autohost/specPlayers", "autohost/start", "autohost/subscribeUpdates", "battle/start"];
|
|
10
|
-
readonly receive: readonly ["friend/acceptRequest", "friend/cancelRequest", "friend/list", "friend/rejectRequest", "friend/remove", "friend/sendRequest", "lobby/addBot", "lobby/create", "lobby/join", "lobby/joinAllyTeam", "lobby/joinQueue", "lobby/leave", "lobby/removeBot", "lobby/spectate", "lobby/startBattle", "lobby/subscribeList", "lobby/unsubscribeList", "lobby/update", "lobby/updateBot", "matchmaking/cancel", "matchmaking/list", "matchmaking/queue", "matchmaking/ready", "messaging/send", "messaging/subscribeReceived", "party/acceptInvite", "party/cancelInvite", "party/create", "party/declineInvite", "party/invite", "party/kickMember", "party/leave", "system/disconnect", "system/serverStats", "user/info", "user/subscribeUpdates", "user/unsubscribeUpdates"];
|
|
10
|
+
readonly receive: readonly ["clan/accept", "clan/cancel", "clan/create", "clan/decline", "clan/delete", "clan/invite", "clan/kick", "clan/leave", "clan/setRole", "clan/update", "clan/view", "clan/viewList", "friend/acceptRequest", "friend/cancelRequest", "friend/list", "friend/rejectRequest", "friend/remove", "friend/sendRequest", "lobby/addBot", "lobby/create", "lobby/join", "lobby/joinAllyTeam", "lobby/joinQueue", "lobby/leave", "lobby/removeBot", "lobby/spectate", "lobby/startBattle", "lobby/subscribeList", "lobby/unsubscribeList", "lobby/update", "lobby/updateBot", "lobby/updateClientStatus", "lobby/voteSubmit", "matchmaking/cancel", "matchmaking/list", "matchmaking/queue", "matchmaking/ready", "messaging/send", "messaging/subscribeReceived", "party/acceptInvite", "party/cancelInvite", "party/create", "party/declineInvite", "party/invite", "party/kickMember", "party/leave", "system/disconnect", "system/serverStats", "user/info", "user/subscribeUpdates", "user/unsubscribeUpdates"];
|
|
11
11
|
};
|
|
12
12
|
readonly response: {
|
|
13
|
-
readonly send: readonly ["friend/acceptRequest", "friend/cancelRequest", "friend/list", "friend/rejectRequest", "friend/remove", "friend/sendRequest", "lobby/addBot", "lobby/create", "lobby/join", "lobby/joinAllyTeam", "lobby/joinQueue", "lobby/leave", "lobby/removeBot", "lobby/spectate", "lobby/startBattle", "lobby/subscribeList", "lobby/unsubscribeList", "lobby/update", "lobby/updateBot", "matchmaking/cancel", "matchmaking/list", "matchmaking/queue", "matchmaking/ready", "messaging/send", "messaging/subscribeReceived", "party/acceptInvite", "party/cancelInvite", "party/create", "party/declineInvite", "party/invite", "party/kickMember", "party/leave", "system/disconnect", "system/serverStats", "user/info", "user/subscribeUpdates", "user/unsubscribeUpdates"];
|
|
13
|
+
readonly send: readonly ["clan/accept", "clan/cancel", "clan/create", "clan/decline", "clan/delete", "clan/invite", "clan/kick", "clan/leave", "clan/setRole", "clan/update", "clan/view", "clan/viewList", "friend/acceptRequest", "friend/cancelRequest", "friend/list", "friend/rejectRequest", "friend/remove", "friend/sendRequest", "lobby/addBot", "lobby/create", "lobby/join", "lobby/joinAllyTeam", "lobby/joinQueue", "lobby/leave", "lobby/removeBot", "lobby/spectate", "lobby/startBattle", "lobby/subscribeList", "lobby/unsubscribeList", "lobby/update", "lobby/updateBot", "lobby/updateClientStatus", "lobby/voteSubmit", "matchmaking/cancel", "matchmaking/list", "matchmaking/queue", "matchmaking/ready", "messaging/send", "messaging/subscribeReceived", "party/acceptInvite", "party/cancelInvite", "party/create", "party/declineInvite", "party/invite", "party/kickMember", "party/leave", "system/disconnect", "system/serverStats", "user/info", "user/subscribeUpdates", "user/unsubscribeUpdates"];
|
|
14
14
|
readonly receive: readonly ["autohost/addPlayer", "autohost/installEngine", "autohost/kickPlayer", "autohost/kill", "autohost/mutePlayer", "autohost/sendCommand", "autohost/sendMessage", "autohost/specPlayers", "autohost/start", "autohost/subscribeUpdates", "battle/start"];
|
|
15
15
|
};
|
|
16
16
|
readonly event: {
|
|
17
|
-
readonly send: readonly ["friend/removed", "friend/requestAccepted", "friend/requestCancelled", "friend/requestReceived", "friend/requestRejected", "lobby/left", "lobby/listReset", "lobby/listUpdated", "lobby/updated", "matchmaking/cancelled", "matchmaking/found", "matchmaking/foundUpdate", "matchmaking/lost", "matchmaking/queueUpdate", "matchmaking/queuesJoined", "messaging/received", "party/invited", "party/removed", "party/updated", "user/self", "user/updated"];
|
|
17
|
+
readonly send: readonly ["clan/deleted", "clan/invited", "clan/kicked", "clan/roleChanged", "clan/updated", "friend/removed", "friend/requestAccepted", "friend/requestCancelled", "friend/requestReceived", "friend/requestRejected", "lobby/left", "lobby/listReset", "lobby/listUpdated", "lobby/updated", "lobby/voteEnded", "matchmaking/cancelled", "matchmaking/found", "matchmaking/foundUpdate", "matchmaking/lost", "matchmaking/queueUpdate", "matchmaking/queuesJoined", "messaging/received", "party/invited", "party/removed", "party/updated", "user/self", "user/updated"];
|
|
18
18
|
readonly receive: readonly ["autohost/status", "autohost/update"];
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
21
|
readonly user: {
|
|
22
22
|
readonly request: {
|
|
23
|
-
readonly send: readonly ["friend/acceptRequest", "friend/cancelRequest", "friend/list", "friend/rejectRequest", "friend/remove", "friend/sendRequest", "lobby/addBot", "lobby/create", "lobby/join", "lobby/joinAllyTeam", "lobby/joinQueue", "lobby/leave", "lobby/removeBot", "lobby/spectate", "lobby/startBattle", "lobby/subscribeList", "lobby/unsubscribeList", "lobby/update", "lobby/updateBot", "matchmaking/cancel", "matchmaking/list", "matchmaking/queue", "matchmaking/ready", "messaging/send", "messaging/subscribeReceived", "party/acceptInvite", "party/cancelInvite", "party/create", "party/declineInvite", "party/invite", "party/kickMember", "party/leave", "system/disconnect", "system/serverStats", "user/info", "user/subscribeUpdates", "user/unsubscribeUpdates"];
|
|
23
|
+
readonly send: readonly ["clan/accept", "clan/cancel", "clan/create", "clan/decline", "clan/delete", "clan/invite", "clan/kick", "clan/leave", "clan/setRole", "clan/update", "clan/view", "clan/viewList", "friend/acceptRequest", "friend/cancelRequest", "friend/list", "friend/rejectRequest", "friend/remove", "friend/sendRequest", "lobby/addBot", "lobby/create", "lobby/join", "lobby/joinAllyTeam", "lobby/joinQueue", "lobby/leave", "lobby/removeBot", "lobby/spectate", "lobby/startBattle", "lobby/subscribeList", "lobby/unsubscribeList", "lobby/update", "lobby/updateBot", "lobby/updateClientStatus", "lobby/voteSubmit", "matchmaking/cancel", "matchmaking/list", "matchmaking/queue", "matchmaking/ready", "messaging/send", "messaging/subscribeReceived", "party/acceptInvite", "party/cancelInvite", "party/create", "party/declineInvite", "party/invite", "party/kickMember", "party/leave", "system/disconnect", "system/serverStats", "user/info", "user/subscribeUpdates", "user/unsubscribeUpdates"];
|
|
24
24
|
readonly receive: readonly ["battle/start"];
|
|
25
25
|
};
|
|
26
26
|
readonly response: {
|
|
27
27
|
readonly send: readonly ["battle/start"];
|
|
28
|
-
readonly receive: readonly ["friend/acceptRequest", "friend/cancelRequest", "friend/list", "friend/rejectRequest", "friend/remove", "friend/sendRequest", "lobby/addBot", "lobby/create", "lobby/join", "lobby/joinAllyTeam", "lobby/joinQueue", "lobby/leave", "lobby/removeBot", "lobby/spectate", "lobby/startBattle", "lobby/subscribeList", "lobby/unsubscribeList", "lobby/update", "lobby/updateBot", "matchmaking/cancel", "matchmaking/list", "matchmaking/queue", "matchmaking/ready", "messaging/send", "messaging/subscribeReceived", "party/acceptInvite", "party/cancelInvite", "party/create", "party/declineInvite", "party/invite", "party/kickMember", "party/leave", "system/disconnect", "system/serverStats", "user/info", "user/subscribeUpdates", "user/unsubscribeUpdates"];
|
|
28
|
+
readonly receive: readonly ["clan/accept", "clan/cancel", "clan/create", "clan/decline", "clan/delete", "clan/invite", "clan/kick", "clan/leave", "clan/setRole", "clan/update", "clan/view", "clan/viewList", "friend/acceptRequest", "friend/cancelRequest", "friend/list", "friend/rejectRequest", "friend/remove", "friend/sendRequest", "lobby/addBot", "lobby/create", "lobby/join", "lobby/joinAllyTeam", "lobby/joinQueue", "lobby/leave", "lobby/removeBot", "lobby/spectate", "lobby/startBattle", "lobby/subscribeList", "lobby/unsubscribeList", "lobby/update", "lobby/updateBot", "lobby/updateClientStatus", "lobby/voteSubmit", "matchmaking/cancel", "matchmaking/list", "matchmaking/queue", "matchmaking/ready", "messaging/send", "messaging/subscribeReceived", "party/acceptInvite", "party/cancelInvite", "party/create", "party/declineInvite", "party/invite", "party/kickMember", "party/leave", "system/disconnect", "system/serverStats", "user/info", "user/subscribeUpdates", "user/unsubscribeUpdates"];
|
|
29
29
|
};
|
|
30
30
|
readonly event: {
|
|
31
31
|
readonly send: readonly [];
|
|
32
|
-
readonly receive: readonly ["friend/removed", "friend/requestAccepted", "friend/requestCancelled", "friend/requestReceived", "friend/requestRejected", "lobby/left", "lobby/listReset", "lobby/listUpdated", "lobby/updated", "matchmaking/cancelled", "matchmaking/found", "matchmaking/foundUpdate", "matchmaking/lost", "matchmaking/queueUpdate", "matchmaking/queuesJoined", "messaging/received", "party/invited", "party/removed", "party/updated", "user/self", "user/updated"];
|
|
32
|
+
readonly receive: readonly ["clan/deleted", "clan/invited", "clan/kicked", "clan/roleChanged", "clan/updated", "friend/removed", "friend/requestAccepted", "friend/requestCancelled", "friend/requestReceived", "friend/requestRejected", "lobby/left", "lobby/listReset", "lobby/listUpdated", "lobby/updated", "lobby/voteEnded", "matchmaking/cancelled", "matchmaking/found", "matchmaking/foundUpdate", "matchmaking/lost", "matchmaking/queueUpdate", "matchmaking/queuesJoined", "messaging/received", "party/invited", "party/removed", "party/updated", "user/self", "user/updated"];
|
|
33
33
|
};
|
|
34
34
|
};
|
|
35
35
|
readonly autohost: {
|
|
@@ -50,8 +50,9 @@ declare const tachyonMeta: {
|
|
|
50
50
|
readonly serviceIds: {
|
|
51
51
|
readonly autohost: readonly ["addPlayer", "installEngine", "kickPlayer", "kill", "mutePlayer", "sendCommand", "sendMessage", "specPlayers", "start", "status", "subscribeUpdates", "update"];
|
|
52
52
|
readonly battle: readonly ["start"];
|
|
53
|
+
readonly clan: readonly ["accept", "cancel", "create", "decline", "delete", "deleted", "invite", "invited", "kick", "kicked", "leave", "roleChanged", "setRole", "update", "updated", "view", "viewList"];
|
|
53
54
|
readonly friend: readonly ["acceptRequest", "cancelRequest", "list", "rejectRequest", "remove", "removed", "requestAccepted", "requestCancelled", "requestReceived", "requestRejected", "sendRequest"];
|
|
54
|
-
readonly lobby: readonly ["addBot", "create", "join", "joinAllyTeam", "joinQueue", "leave", "left", "listReset", "listUpdated", "removeBot", "spectate", "startBattle", "subscribeList", "unsubscribeList", "update", "updateBot", "updated"];
|
|
55
|
+
readonly lobby: readonly ["addBot", "create", "join", "joinAllyTeam", "joinQueue", "leave", "left", "listReset", "listUpdated", "removeBot", "spectate", "startBattle", "subscribeList", "unsubscribeList", "update", "updateBot", "updateClientStatus", "updated", "voteEnded", "voteSubmit"];
|
|
55
56
|
readonly matchmaking: readonly ["cancel", "cancelled", "found", "foundUpdate", "list", "lost", "queue", "queueUpdate", "queuesJoined", "ready"];
|
|
56
57
|
readonly messaging: readonly ["received", "send", "subscribeReceived"];
|
|
57
58
|
readonly party: readonly ["acceptInvite", "cancelInvite", "create", "declineInvite", "invite", "invited", "kickMember", "leave", "removed", "updated"];
|
|
@@ -70,6 +71,18 @@ declare const tachyonMeta: {
|
|
|
70
71
|
readonly "autohost/start": readonly ["battle_already_exists", "engine_version_not_available", "internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
71
72
|
readonly "autohost/subscribeUpdates": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
72
73
|
readonly "battle/start": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
74
|
+
readonly "clan/accept": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
75
|
+
readonly "clan/cancel": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
76
|
+
readonly "clan/create": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
77
|
+
readonly "clan/decline": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
78
|
+
readonly "clan/delete": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
79
|
+
readonly "clan/invite": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
80
|
+
readonly "clan/kick": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
81
|
+
readonly "clan/leave": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
82
|
+
readonly "clan/setRole": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
83
|
+
readonly "clan/update": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
84
|
+
readonly "clan/view": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
85
|
+
readonly "clan/viewList": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
73
86
|
readonly "friend/acceptRequest": readonly ["invalid_user", "no_pending_request", "internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
74
87
|
readonly "friend/cancelRequest": readonly ["invalid_user", "internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
75
88
|
readonly "friend/list": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
@@ -89,9 +102,11 @@ declare const tachyonMeta: {
|
|
|
89
102
|
readonly "lobby/unsubscribeList": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
90
103
|
readonly "lobby/update": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
91
104
|
readonly "lobby/updateBot": readonly ["not_in_lobby", "invalid_bot", "internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
105
|
+
readonly "lobby/updateClientStatus": readonly ["not_in_lobby", "not_a_player", "internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
106
|
+
readonly "lobby/voteSubmit": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
92
107
|
readonly "matchmaking/cancel": readonly ["not_queued", "internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
93
108
|
readonly "matchmaking/list": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
94
|
-
readonly "matchmaking/queue": readonly ["invalid_queue_specified", "already_queued", "already_in_battle", "internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
109
|
+
readonly "matchmaking/queue": readonly ["invalid_queue_specified", "already_queued", "already_in_battle", "version_mismatch", "internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
95
110
|
readonly "matchmaking/ready": readonly ["no_match", "internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
96
111
|
readonly "messaging/send": readonly ["message_too_long", "invalid_target", "internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|
|
97
112
|
readonly "messaging/subscribeReceived": readonly ["internal_error", "unauthorized", "invalid_request", "command_unimplemented"];
|