@yyyu-star/arcade-kit 0.13.0 → 0.14.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/CHANGELOG.md +25 -0
- package/README.md +9 -3
- package/dist/client.d.ts +15 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +35 -2
- package/dist/client.js.map +1 -1
- package/dist/internal.d.ts +6 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +8 -0
- package/dist/internal.js.map +1 -1
- package/dist/meter.d.ts +15 -0
- package/dist/meter.d.ts.map +1 -1
- package/dist/meter.js +27 -0
- package/dist/meter.js.map +1 -1
- package/dist/protocol.d.ts +7 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/room.d.ts +23 -4
- package/dist/room.d.ts.map +1 -1
- package/dist/room.js +73 -21
- package/dist/room.js.map +1 -1
- package/dist/table-fun.d.ts +7 -1
- package/dist/table-fun.d.ts.map +1 -1
- package/dist/table-fun.js +13 -0
- package/dist/table-fun.js.map +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +44 -3
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +34 -3
- package/src/internal.ts +11 -0
- package/src/meter.ts +37 -0
- package/src/protocol.ts +7 -0
- package/src/room.ts +77 -22
- package/src/table-fun.ts +15 -1
- package/src/worker.ts +42 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# 更新日志
|
|
2
2
|
|
|
3
|
+
## 0.14.0
|
|
4
|
+
|
|
5
|
+
第三轮安全审计 kit 的三条(主线派)。
|
|
6
|
+
- **进房猜码限次**(中):`acceptJoin` 按人、按 IP 数每小时"码不存在"的次数(`KIT_QUOTA` 新字段 `joinMissesPerUser` 20、`joinMissesPerIp` 60)。超了以后进任何房间都回 1013,
|
|
7
|
+
房间在不在都一样;只有这个房间的自己人(房主、坐着的、开打后绑过座位的)照常进,断线重连不受牵连。计数放在计量类按人、按 IP 取的小实例里(不挤全站那一个),每次各 1 行并记进当天的数。
|
|
8
|
+
房间回"码不存在"时在 101 上带内部头 `x-kit-miss`,转给浏览器前去掉。
|
|
9
|
+
- **令牌桶按人记**(低):以前每条连接一个桶,断开重连就拿到一个满的;现在按 userId。
|
|
10
|
+
- **旁观名额**(低):按账号数;房主和开打后绑过座位(离座去看)的人不占名额、也不受限,几个陌生账号占满名额也挡不住他们。
|
|
11
|
+
- 评估(只评估,没做):"房主踢人"和"只许好友坐下"见 PR 说明;结论是暂不做,猜码限次加上开打后座位绑人已经够用,出现滥用再加。
|
|
12
|
+
- `worker.ts` 只按类型引用 `meter.ts`(门槛由计量的小实例自己按 `KIT_QUOTA` 算):游戏会在普通 Node 的测试里加载 `worker.ts`,`meter.ts` 依赖 `cloudflare:workers`;加了一条架构测试守住。
|
|
13
|
+
- 测试:`room.test` 第三轮审计 4 条;反证(不去内部头、不记数、超限不放自己人、不带超限头、令牌桶按连接、绑过座位的也占名额)都会让测试失败。
|
|
14
|
+
|
|
15
|
+
## 0.13.1
|
|
16
|
+
|
|
17
|
+
稳定性小修(主线派,含第三轮审计 kit 的 setAlarm 一条)。
|
|
18
|
+
- **闹钟设不上不再让房间停住**:
|
|
19
|
+
- 房间:`setAlarm` 出错当场再试一次;两次都失败、又不是闹钟触发的那一步时,按 `getAlarm()` 核对,存储里没有闹钟就补一个 60 秒后的(醒来按状态重新算),不再只等下一个入口。
|
|
20
|
+
- 浏览器:`RoomClient` 加看门狗。状态和进房快照多带一个 `now`(房间发消息时的时间,协议只加字段);房间说的出手时限或停顿结束过了 `STALL_GRACE_MS`(20 秒)加最多 10 秒抖动还没有新状态,
|
|
21
|
+
就重连一次把房间叫醒(存储一直坏着、补设也失败时的最后一道)。同一个 seq 只踢一次,抖动让一桌人里先到的去踢。旧房间不带 `now` 的不看。
|
|
22
|
+
- **`table-fun` 的 `storageKey` 校验**:只认游戏 id 的写法(小写字母、数字、连字符,最多 32 位,不能是 `arcade`),拼出来的 key 一定是 `<游戏id>.` 开头;不合格构造时直接抛错(`checkStorageKey`)。
|
|
23
|
+
- **`test/quota.test.ts`"分批报"偶发失败的根因**:打完一局、断开连接后,测试用 `lastStepWrites > 0` 等"房间处理完断开",可打完那一步就已经 > 0,等于没等;
|
|
24
|
+
机器一忙,断开晚于"拨时间 + 叫醒闹钟",房间不按"没人了"关,少了关房那一次报数,最后的等式差几行。现在等房间存下 `noHumanSince` 再拨时间(和 `ledger.test` 一样),
|
|
25
|
+
最后的账用等条件成立的方式核对,不按固定时间等。反证:老写法下让断开晚于闹钟处理,必挂(差 4 行)。
|
|
26
|
+
- 测试:`client.test`(看门狗 4 条)、`room.test`(重试一次就设上、`now`、补设 60 秒后的、两次都失败照旧)、`table-fun.test`(新);改坏代码的反证都做过。
|
|
27
|
+
|
|
3
28
|
## 0.13.0
|
|
4
29
|
|
|
5
30
|
搭子战绩(平台 0.19.0,`docs/platform-backend.md` 15.19,主线派)。
|
package/README.md
CHANGED
|
@@ -289,7 +289,7 @@ a daily write-quota meter (`arcade-kit/meter`), a seeded ChaCha20 RNG (`arcade-k
|
|
|
289
289
|
import { TableFun, funIdCount, type FunSeat } from 'arcade-kit/table-fun';
|
|
290
290
|
|
|
291
291
|
const fun = new TableFun({
|
|
292
|
-
storageKey: 'mygame', // 存储前缀:mygame.hint.fun(localStorage)、mygame.fun.blocked(sessionStorage)
|
|
292
|
+
storageKey: 'mygame', // 存储前缀:mygame.hint.fun(localStorage)、mygame.fun.blocked(sessionStorage);只认游戏 id 的写法,不合格构造时抛错(0.13.1)
|
|
293
293
|
phrases: PHRASES, // 本游戏的短语表;编号 0..P-1 是短语,P..P+11 表情,P+12..P+19 道具
|
|
294
294
|
named: [3, 4, 2], // 头像菜单里的 3 句点名短语(短语表下标)
|
|
295
295
|
seats: (): (FunSeat | null)[] => view.seats.map((s, i) => s && ({
|
|
@@ -452,14 +452,17 @@ export class CardRoom extends GameRoom<State, Action, View, Env> {
|
|
|
452
452
|
- 客户端重发没确认的操作带原来的 `baseSeq`:牌局变过就回 `stale`,旧操作不会被套到新的一手上。有人进出不算牌局变了。
|
|
453
453
|
- 重复的 moveId 每个座位记最近 8 个(0.11.1,和座位一起存在状态那一行里,不多写):连发 A、B 时 A 的 ack 丢了,补发 A 仍然只回 ack,不轮流的操作不会做第二遍。
|
|
454
454
|
- **硬限制**(4.6):
|
|
455
|
-
- 单条入站消息 4 KB(1009
|
|
455
|
+
- 单条入站消息 4 KB(1009);每人每秒 5 条、最多攒 10 条(1008;0.14.0 起按人记,断开重连、多开标签页都还是同一个桶);房间一生 3,000 条入站消息;寿命 3 小时;没人 10 分钟——到了就关房间:
|
|
456
456
|
断开所有人(4000)、删闹钟、删存储;
|
|
457
|
-
-
|
|
457
|
+
- 没入座的最多 4 个账号(4003);入座的人、房主、开打后绑过座位(离座去看)的人不占这个数,也不受它限,旁观的再多也挡不住座位的主人回来;
|
|
458
458
|
- 每人一生最多 300 次"掉线后回来"(只数会写库的那种,4029)。按 userId 记,只管他自己,别人刷不光,离座再坐下也不清零;
|
|
459
459
|
这些重连同时算进房间一生的 3,000 条入站额度,所以房间一生的写入总数有上限。没入座的人进出不写库,不受这个管;
|
|
460
460
|
- 一个人最多用掉房间入站额度的 `maxInboundShare`(默认四成,1,200 条):超了只断开他(4030),以后也进不来,房间和别人照常;
|
|
461
461
|
- 入站额度用完关房时,日志里记下发得最多的那个 userId 和条数(不记消息内容),方便事后查;
|
|
462
462
|
- 每个入口都包一层,游戏代码抛错只记日志;闹钟里不往外抛(会自动重试 6 次,每次都计费)。
|
|
463
|
+
- 闹钟设不上(0.13.1):当场再试一次;还不行就按 `getAlarm()` 核对,存储里没有闹钟就补一个 60 秒后的(顶替没写成的那次,不多算一行);
|
|
464
|
+
补也补不上时,浏览器的 `RoomClient` 看门狗兜底:房间说的时限(按消息里房间给的 `now` 算,不看浏览器的钟)过了 20–30 秒还没有新状态,就重连一次,
|
|
465
|
+
进房这个入口会让房间重排闹钟、把过期的那一手照常处理;同一个 seq 只踢一次。
|
|
463
466
|
- **座位绑人**(0.1.1):开局时记下每个座位坐的是谁。开打后坐过某个座位的人只能回这个座位;没坐过的人只能接管没绑人的电脑座位,接管后绑给他;
|
|
464
467
|
绑给别人的座位(主人离座了也算)谁也接管不了,电脑一直替主人打,主人回来照样能坐。一个 userId 一局只对应一个座位,所以离座、换到对手座位看牌、再回来这条路走不通;
|
|
465
468
|
也不能由同伙先占掉你的原座位、把你变成"没绑座位"的人。0.1.0 存下的已开打房间读出来时,电脑座位一律算已绑(旧格式看不出谁离过座)。
|
|
@@ -486,6 +489,8 @@ export class CardRoom extends GameRoom<State, Action, View, Env> {
|
|
|
486
489
|
| `stopWrites` | 85,000 | 在打的房间走到 `breakPoint`(这一副打完)时收场:把这一步发给大家,再以 4000 + 原因 `quota` 关房;等人的、已经打完的马上关 |
|
|
487
490
|
| `emoteMs`(0.7.0,房间读) | 1000 | 快捷短语每个座位多少毫秒补 1 个令牌,0 不限速 |
|
|
488
491
|
| `emoteBurst`(0.7.0,房间读) | 3 | 快捷短语每个座位最多攒几个令牌 |
|
|
492
|
+
| `joinMissesPerUser`(0.14.0) | 20 | 这个人这一小时进房时"码不存在"到了这么多次:进任何房间都回 1013(房间在不在都一样),只有这个房间的自己人(房主、坐着的、开打后绑过座位的)照常进 |
|
|
493
|
+
| `joinMissesPerIp`(0.14.0) | 60 | 同一个 IP 这一小时的"码不存在"次数,到了同上(一个 IP 后面可能是一家人、一个宿舍,放宽些) |
|
|
489
494
|
|
|
490
495
|
- **改门槛**:在游戏的 `wrangler.jsonc` 里写 `"vars": { "KIT_QUOTA": { "busyWrites": 50000 } }`(对象或 JSON 字符串都行),只写要改的字段,部署后生效;
|
|
491
496
|
不认识的字段、不是非负整数的值记日志后忽略,用默认值。门槛按每个游戏各算各的,有几个联机游戏就要分一分(见下面"多个游戏怎么分额度")。
|
|
@@ -495,6 +500,7 @@ export class CardRoom extends GameRoom<State, Action, View, Env> {
|
|
|
495
500
|
计量每报一次写 1 行,200 行一报摊下来多花 0.5%;开房(这个人一行、当天一行)、还名额(同样两行)另算,也都记进当天的数。
|
|
496
501
|
没报的数随房间那一行一起存,被驱逐后接着数;被驱逐前刚报过、还没存下去的那一批会再报一次,偏保守。房间跨 UTC 0 点报上来的记在新的一天。
|
|
497
502
|
- **计量连不上**:不开新房(503 `unavailable`)、不进新人(1013,客户端过会儿自己重试);在打的照常,报不上的攒着,60 秒后再试。
|
|
503
|
+
- **进房猜码**(0.14.0,第三轮审计):房间码只有 6 位,不限的话能一个个试出谁开着房、进去旁观或坐空位。`acceptJoin` 按人、按 IP 数"码不存在"(计量类的小实例 `kit-miss:u:<userId>` / `kit-miss:ip:<地址>`,每次各写 1 行、再报进当天的数;没绑 `METER` 不管,没有 `cf-connecting-ip` 只按人)。超了门槛不直接拒,而是带一个内部头进房,由房间判断是不是自己人:自己人照常进,别人一律 1013,这样超限的人说不出房间在不在,在打的人断线重连也不受牵连。计量连不上时同样处理。每次进房多问一次小实例(只读)。
|
|
498
504
|
- **房间怎么知道门槛**:每次报数、还名额时计量顺便回现在的门槛;有新人来进房时房间也会问(记 30 秒,只读不写)。所以 stop 以后在打的房间最晚再写一批(≤ 200 行)加上这一副剩下的才收场,
|
|
499
505
|
按同时最多二三十个房间算,8.5 万离 10 万还有余量。
|
|
500
506
|
- 名额只按游戏算:同一个人在两个游戏里可以各开一个房间。
|
package/dist/client.d.ts
CHANGED
|
@@ -71,6 +71,13 @@ export interface WebSocketLike {
|
|
|
71
71
|
export declare const PONG_WAIT_MS = 8000;
|
|
72
72
|
/** 建连最多等多久(0.11.1):卡在 CONNECTING 的按一次失败算,重连 */
|
|
73
73
|
export declare const CONNECT_MS = 10000;
|
|
74
|
+
/**
|
|
75
|
+
* 看门狗(0.13.1):房间说的出手时限(或停顿的结束时间)过了 STALL_GRACE_MS 再加最多 STALL_JITTER_MS 的随机抖动,还没有新状态,
|
|
76
|
+
* 就当房间的闹钟没设上(存储出错、没人发消息时房间不会自己醒),重连一次把房间叫醒:进房是房间的一个入口,它会按 getAlarm() 重排闹钟、
|
|
77
|
+
* 把过期的那一手照常处理。同一个 seq 只踢一次;抖动让一桌人里先到的那个去踢,别人收到新状态就不踢了
|
|
78
|
+
*/
|
|
79
|
+
export declare const STALL_GRACE_MS = 20000;
|
|
80
|
+
export declare const STALL_JITTER_MS = 10000;
|
|
74
81
|
/** 第 n 次重连(从 0 起)的等待:指数退避,上限 15 秒,乘一个 [0.5, 1) 的随机系数(抖动,免得一桌人同时重连)。 */
|
|
75
82
|
export declare function backoffMs(attempt: number, random?: () => number): number;
|
|
76
83
|
export declare class RoomClient<A = unknown, V = unknown> {
|
|
@@ -88,6 +95,9 @@ export declare class RoomClient<A = unknown, V = unknown> {
|
|
|
88
95
|
private probing;
|
|
89
96
|
private probeTimer;
|
|
90
97
|
private connectTimer;
|
|
98
|
+
/** 看门狗(0.13.1):到点还停在 watchSeq 就重连一次;kickedSeq 是踢过的,不再踢 */
|
|
99
|
+
private watchTimer;
|
|
100
|
+
private kickedSeq;
|
|
91
101
|
/** 没收到 ack 的操作:重连后按原 moveId 重发 */
|
|
92
102
|
private pending;
|
|
93
103
|
private moveCounter;
|
|
@@ -132,6 +142,11 @@ export declare class RoomClient<A = unknown, V = unknown> {
|
|
|
132
142
|
private abandon;
|
|
133
143
|
/** 发一个 ping,PONG_WAIT_MS 内什么都没收到就判死(已经在探就不重复发) */
|
|
134
144
|
private probe;
|
|
145
|
+
/**
|
|
146
|
+
* 看门狗:按房间给的时间(now)算出手时限还剩多久,过了宽限还停在这个 seq,就扔掉连接重连一次(见 STALL_GRACE_MS)。
|
|
147
|
+
* 没在打、没有时限、旧房间不带 now 的不看;同一个 seq 踢过一次就不再踢(房间还是不动,就等真人出手或下一次进出)
|
|
148
|
+
*/
|
|
149
|
+
private watch;
|
|
135
150
|
/** 带上这次的关闭码:游戏据此区分"网络断了"(1006)和"平台有点忙"(1013)。 */
|
|
136
151
|
private scheduleRetry;
|
|
137
152
|
/**
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAuB,KAAK,WAAW,EAAE,KAAK,OAAO,EAA4C,gBAAgB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -25,6 +25,13 @@ const HEARTBEAT_MS = 25_000;
|
|
|
25
25
|
export const PONG_WAIT_MS = 8_000;
|
|
26
26
|
/** 建连最多等多久(0.11.1):卡在 CONNECTING 的按一次失败算,重连 */
|
|
27
27
|
export const CONNECT_MS = 10_000;
|
|
28
|
+
/**
|
|
29
|
+
* 看门狗(0.13.1):房间说的出手时限(或停顿的结束时间)过了 STALL_GRACE_MS 再加最多 STALL_JITTER_MS 的随机抖动,还没有新状态,
|
|
30
|
+
* 就当房间的闹钟没设上(存储出错、没人发消息时房间不会自己醒),重连一次把房间叫醒:进房是房间的一个入口,它会按 getAlarm() 重排闹钟、
|
|
31
|
+
* 把过期的那一手照常处理。同一个 seq 只踢一次;抖动让一桌人里先到的那个去踢,别人收到新状态就不踢了
|
|
32
|
+
*/
|
|
33
|
+
export const STALL_GRACE_MS = 20_000;
|
|
34
|
+
export const STALL_JITTER_MS = 10_000;
|
|
28
35
|
/** 快捷短语太快时最多排几个(多的丢最早的) */
|
|
29
36
|
const EMOTE_QUEUE = 2;
|
|
30
37
|
/** 第 n 次重连(从 0 起)的等待:指数退避,上限 15 秒,乘一个 [0.5, 1) 的随机系数(抖动,免得一桌人同时重连)。 */
|
|
@@ -47,6 +54,9 @@ export class RoomClient {
|
|
|
47
54
|
probing = false;
|
|
48
55
|
probeTimer = null;
|
|
49
56
|
connectTimer = null;
|
|
57
|
+
/** 看门狗(0.13.1):到点还停在 watchSeq 就重连一次;kickedSeq 是踢过的,不再踢 */
|
|
58
|
+
watchTimer = null;
|
|
59
|
+
kickedSeq = -1;
|
|
50
60
|
/** 没收到 ack 的操作:重连后按原 moveId 重发 */
|
|
51
61
|
pending = new Map();
|
|
52
62
|
moveCounter = 0;
|
|
@@ -207,6 +217,7 @@ export class RoomClient {
|
|
|
207
217
|
this.welcomed = true;
|
|
208
218
|
this.attempt = 0;
|
|
209
219
|
this.failures = 0;
|
|
220
|
+
this.watch(ws, msg);
|
|
210
221
|
}
|
|
211
222
|
else if (msg.t === 'state') {
|
|
212
223
|
const mine = msg.ack !== undefined && this.pending.delete(msg.ack);
|
|
@@ -214,6 +225,7 @@ export class RoomClient {
|
|
|
214
225
|
if (msg.seq < this.lastSeq || (msg.seq === this.lastSeq && !(mine && msg.quiet === true)))
|
|
215
226
|
return;
|
|
216
227
|
this.lastSeq = msg.seq;
|
|
228
|
+
this.watch(ws, msg);
|
|
217
229
|
}
|
|
218
230
|
else if (msg.t === 'error' && msg.moveId) {
|
|
219
231
|
// 被拒的操作不再重发
|
|
@@ -274,6 +286,27 @@ export class RoomClient {
|
|
|
274
286
|
this.abandon(ws);
|
|
275
287
|
}, PONG_WAIT_MS);
|
|
276
288
|
}
|
|
289
|
+
/**
|
|
290
|
+
* 看门狗:按房间给的时间(now)算出手时限还剩多久,过了宽限还停在这个 seq,就扔掉连接重连一次(见 STALL_GRACE_MS)。
|
|
291
|
+
* 没在打、没有时限、旧房间不带 now 的不看;同一个 seq 踢过一次就不再踢(房间还是不动,就等真人出手或下一次进出)
|
|
292
|
+
*/
|
|
293
|
+
watch(ws, msg) {
|
|
294
|
+
if (this.watchTimer !== null)
|
|
295
|
+
this.opts.clearTimer(this.watchTimer);
|
|
296
|
+
this.watchTimer = null;
|
|
297
|
+
const until = msg.room.turn?.deadline ?? msg.room.pause?.until;
|
|
298
|
+
if (msg.room.status !== 'playing' || until == null || typeof msg.now !== 'number' || msg.seq === this.kickedSeq)
|
|
299
|
+
return;
|
|
300
|
+
const seq = msg.seq;
|
|
301
|
+
const wait = Math.max(0, until - msg.now) + STALL_GRACE_MS + Math.round(this.opts.random() * STALL_JITTER_MS);
|
|
302
|
+
this.watchTimer = this.opts.setTimer(() => {
|
|
303
|
+
this.watchTimer = null;
|
|
304
|
+
if (this.ws !== ws || this.lastSeq !== seq || ws.readyState !== OPEN)
|
|
305
|
+
return;
|
|
306
|
+
this.kickedSeq = seq;
|
|
307
|
+
this.abandon(ws);
|
|
308
|
+
}, wait);
|
|
309
|
+
}
|
|
277
310
|
/** 带上这次的关闭码:游戏据此区分"网络断了"(1006)和"平台有点忙"(1013)。 */
|
|
278
311
|
scheduleRetry(code) {
|
|
279
312
|
this.setStatus('reconnecting', code);
|
|
@@ -322,10 +355,10 @@ export class RoomClient {
|
|
|
322
355
|
}, HEARTBEAT_MS);
|
|
323
356
|
}
|
|
324
357
|
clearTimers() {
|
|
325
|
-
for (const t of [this.retryTimer, this.emoteTimer, this.beatTimer, this.probeTimer, this.connectTimer])
|
|
358
|
+
for (const t of [this.retryTimer, this.emoteTimer, this.beatTimer, this.probeTimer, this.connectTimer, this.watchTimer])
|
|
326
359
|
if (t !== null)
|
|
327
360
|
this.opts.clearTimer(t);
|
|
328
|
-
this.retryTimer = this.emoteTimer = this.beatTimer = this.probeTimer = this.connectTimer = null;
|
|
361
|
+
this.retryTimer = this.emoteTimer = this.beatTimer = this.probeTimer = this.connectTimer = this.watchTimer = null;
|
|
329
362
|
this.probing = false;
|
|
330
363
|
}
|
|
331
364
|
trySend(msg) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/internal.d.ts
CHANGED
|
@@ -28,6 +28,12 @@ export declare function newRoomCode(): string;
|
|
|
28
28
|
export declare function roomStub(ns: DurableObjectNamespace, code: string): DurableObjectStub;
|
|
29
29
|
/** 计量的名字:每个游戏 Worker 只有这一个实例(meter.ts)。 */
|
|
30
30
|
export declare const METER_NAME = "kit-meter";
|
|
31
|
+
/** 进房猜码的计数(0.14.0):按人(u:<userId>)、按 IP(ip:<地址>)各一个小实例,和全站的计量同一个类、不同名字,不挤一个热点 */
|
|
32
|
+
export declare function missStub(ns: DurableObjectNamespace, key: string): DurableObjectStub;
|
|
33
|
+
/** 房间告诉 acceptJoin"这个码没有房间"的内部头(只在房间回给 Worker 的 101 上,转给浏览器前去掉) */
|
|
34
|
+
export declare const MISS_HEADER = "x-kit-miss";
|
|
35
|
+
/** acceptJoin 告诉房间"这个人猜码超了门槛"的内部头:房间只放自己人(房主、入座的、绑过座位的)进来,别人一律 1013 */
|
|
36
|
+
export declare const LIMITED_HEADER = "x-kit-limited";
|
|
31
37
|
/** 计量的 stub:和房间一样放在亚太,开房、报数少绕路。 */
|
|
32
38
|
export declare function meterStub(ns: DurableObjectNamespace): DurableObjectStub;
|
|
33
39
|
//# sourceMappingURL=internal.d.ts.map
|
package/dist/internal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc,eAAe,CAAC;AAE3C,sCAAsC;AACtC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAM/D;AAED,+CAA+C;AAC/C,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,wBAAwB,CAAC;AAE9C,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAEnD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAQjE;AAED,yBAAyB;AACzB,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,kCAAkC;AAClC,wBAAgB,QAAQ,CAAC,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAEpF;AAED,2CAA2C;AAC3C,eAAO,MAAM,UAAU,cAAc,CAAC;AAEtC,mCAAmC;AACnC,wBAAgB,SAAS,CAAC,EAAE,EAAE,sBAAsB,GAAG,iBAAiB,CAEvE"}
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc,eAAe,CAAC;AAE3C,sCAAsC;AACtC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAM/D;AAED,+CAA+C;AAC/C,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,wBAAwB,CAAC;AAE9C,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAEnD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAQjE;AAED,yBAAyB;AACzB,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,kCAAkC;AAClC,wBAAgB,QAAQ,CAAC,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAEpF;AAED,2CAA2C;AAC3C,eAAO,MAAM,UAAU,cAAc,CAAC;AAEtC,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAEnF;AAED,mEAAmE;AACnE,eAAO,MAAM,WAAW,eAAe,CAAC;AAExC,uEAAuE;AACvE,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAE9C,mCAAmC;AACnC,wBAAgB,SAAS,CAAC,EAAE,EAAE,sBAAsB,GAAG,iBAAiB,CAEvE"}
|
package/dist/internal.js
CHANGED
|
@@ -46,6 +46,14 @@ export function roomStub(ns, code) {
|
|
|
46
46
|
}
|
|
47
47
|
/** 计量的名字:每个游戏 Worker 只有这一个实例(meter.ts)。 */
|
|
48
48
|
export const METER_NAME = 'kit-meter';
|
|
49
|
+
/** 进房猜码的计数(0.14.0):按人(u:<userId>)、按 IP(ip:<地址>)各一个小实例,和全站的计量同一个类、不同名字,不挤一个热点 */
|
|
50
|
+
export function missStub(ns, key) {
|
|
51
|
+
return ns.get(ns.idFromName(`kit-miss:${key}`), { locationHint: 'apac' });
|
|
52
|
+
}
|
|
53
|
+
/** 房间告诉 acceptJoin"这个码没有房间"的内部头(只在房间回给 Worker 的 101 上,转给浏览器前去掉) */
|
|
54
|
+
export const MISS_HEADER = 'x-kit-miss';
|
|
55
|
+
/** acceptJoin 告诉房间"这个人猜码超了门槛"的内部头:房间只放自己人(房主、入座的、绑过座位的)进来,别人一律 1013 */
|
|
56
|
+
export const LIMITED_HEADER = 'x-kit-limited';
|
|
49
57
|
/** 计量的 stub:和房间一样放在亚太,开房、报数少绕路。 */
|
|
50
58
|
export function meterStub(ns) {
|
|
51
59
|
return ns.get(ns.idFromName(METER_NAME), { locationHint: 'apac' });
|
package/dist/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAE3C,sCAAsC;AACtC,MAAM,UAAU,gBAAgB,CAAC,MAAqB;IACpD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAChG,CAAC,CAAC,CAAC;AACL,CAAC;AAQD;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,qBAAqB,CAAC;AAE9C,qEAAqE;AACrE,MAAM,UAAU,cAAc,CAAC,EAAY;IACzC,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAkB;IAC9C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAsB,CAAC;QACnE,OAAO,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5H,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7F,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,QAAQ,CAAC,EAA0B,EAAE,IAAY;IAC/D,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,2CAA2C;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC;AAEtC,mCAAmC;AACnC,MAAM,UAAU,SAAS,CAAC,EAA0B;IAClD,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC"}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAE3C,sCAAsC;AACtC,MAAM,UAAU,gBAAgB,CAAC,MAAqB;IACpD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAChG,CAAC,CAAC,CAAC;AACL,CAAC;AAQD;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,qBAAqB,CAAC;AAE9C,qEAAqE;AACrE,MAAM,UAAU,cAAc,CAAC,EAAY;IACzC,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAkB;IAC9C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAsB,CAAC;QACnE,OAAO,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5H,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7F,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,QAAQ,CAAC,EAA0B,EAAE,IAAY;IAC/D,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,2CAA2C;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC;AAEtC,gFAAgF;AAChF,MAAM,UAAU,QAAQ,CAAC,EAA0B,EAAE,GAAW;IAC9D,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AAExC,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC;AAE9C,mCAAmC;AACnC,MAAM,UAAU,SAAS,CAAC,EAA0B;IAClD,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC"}
|
package/dist/meter.d.ts
CHANGED
|
@@ -29,6 +29,12 @@ export interface QuotaLimits {
|
|
|
29
29
|
busyWrites: number;
|
|
30
30
|
/** 当天写入到这么多行:在打的房间这一段打完收场 */
|
|
31
31
|
stopWrites: number;
|
|
32
|
+
/**
|
|
33
|
+
* 进房猜码(0.14.0,第三轮审计):每个人每小时最多几次"房间码不存在"、每个 IP 每小时最多几次。超了这一小时里进任何房间都回 1013,
|
|
34
|
+
* 存在的房间也一样(不然 1013 和 welcome 的差别照样说出房间在不在)。房间码只有 6 位,不限就能一个个试出谁开着房
|
|
35
|
+
*/
|
|
36
|
+
joinMissesPerUser: number;
|
|
37
|
+
joinMissesPerIp: number;
|
|
32
38
|
}
|
|
33
39
|
export declare const DEFAULT_QUOTA: QuotaLimits;
|
|
34
40
|
/** KIT_QUOTA 里由房间读的字段(0.7.0):emoteMs 每多少毫秒补一个短语令牌(0 不限速),emoteBurst 最多攒几个 */
|
|
@@ -75,6 +81,15 @@ export declare class RoomMeter extends DurableObject<MeterEnv> {
|
|
|
75
81
|
kitReport(writes: number): Promise<MeterLevel>;
|
|
76
82
|
/** 只读:现在的门槛(房间放新人进来之前问,不写库)。 */
|
|
77
83
|
kitLevel(): Promise<MeterLevel>;
|
|
84
|
+
/**
|
|
85
|
+
* 进房猜码(0.14.0):这两个方法用在 missStub 按人、按 IP 取的小实例上(不是全站那一个),不碰 SQL 表,只存一个 { 第几个小时, 几次 }。
|
|
86
|
+
* kitMissBlocked 只读,进房前问(门槛在这里按 KIT_QUOTA 算,worker.ts 不用在运行时引用本文件:它要能在普通 Node 里加载);
|
|
87
|
+
* kitMiss 记一次(1 行),只有真的进了一个不存在的房间才调,超了门槛的人进不到这一步,所以一小时最多写门槛那么多行
|
|
88
|
+
*/
|
|
89
|
+
kitMissBlocked(kind: 'user' | 'ip'): Promise<boolean>;
|
|
90
|
+
/** 只读:这一小时记了几次(给测试看) */
|
|
91
|
+
kitMisses(): Promise<number>;
|
|
92
|
+
kitMiss(): Promise<number>;
|
|
78
93
|
/** 只读:当天的数,给运维和测试看。 */
|
|
79
94
|
kitUsage(): Promise<Usage>;
|
|
80
95
|
private ensure;
|
package/dist/meter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meter.d.ts","sourceRoot":"","sources":["../src/meter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"meter.d.ts","sourceRoot":"","sources":["../src/meter.ts"],"names":[],"mappings":"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"}
|
package/dist/meter.js
CHANGED
|
@@ -25,6 +25,9 @@ export const DEFAULT_QUOTA = {
|
|
|
25
25
|
dailyRooms: 300,
|
|
26
26
|
busyWrites: 60_000,
|
|
27
27
|
stopWrites: 85_000,
|
|
28
|
+
// 正常人输错码一小时也就几次;一个 IP 后面可能是一家人、一个宿舍,放宽一些
|
|
29
|
+
joinMissesPerUser: 20,
|
|
30
|
+
joinMissesPerIp: 60,
|
|
28
31
|
};
|
|
29
32
|
/** KIT_QUOTA 里由房间读的字段(0.7.0):emoteMs 每多少毫秒补一个短语令牌(0 不限速),emoteBurst 最多攒几个 */
|
|
30
33
|
export const ROOM_QUOTA_FIELDS = ['emoteMs', 'emoteBurst'];
|
|
@@ -84,6 +87,27 @@ export class RoomMeter extends DurableObject {
|
|
|
84
87
|
async kitLevel() {
|
|
85
88
|
return levelOf(this.day(Date.now()).writes, this.limits());
|
|
86
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* 进房猜码(0.14.0):这两个方法用在 missStub 按人、按 IP 取的小实例上(不是全站那一个),不碰 SQL 表,只存一个 { 第几个小时, 几次 }。
|
|
92
|
+
* kitMissBlocked 只读,进房前问(门槛在这里按 KIT_QUOTA 算,worker.ts 不用在运行时引用本文件:它要能在普通 Node 里加载);
|
|
93
|
+
* kitMiss 记一次(1 行),只有真的进了一个不存在的房间才调,超了门槛的人进不到这一步,所以一小时最多写门槛那么多行
|
|
94
|
+
*/
|
|
95
|
+
async kitMissBlocked(kind) {
|
|
96
|
+
const lim = this.limits();
|
|
97
|
+
return (await this.kitMisses()) >= (kind === 'user' ? lim.joinMissesPerUser : lim.joinMissesPerIp);
|
|
98
|
+
}
|
|
99
|
+
/** 只读:这一小时记了几次(给测试看) */
|
|
100
|
+
async kitMisses() {
|
|
101
|
+
const r = await this.ctx.storage.get('miss');
|
|
102
|
+
return r && r.h === hourOf(Date.now()) ? r.n : 0;
|
|
103
|
+
}
|
|
104
|
+
async kitMiss() {
|
|
105
|
+
const h = hourOf(Date.now());
|
|
106
|
+
const r = await this.ctx.storage.get('miss');
|
|
107
|
+
const n = (r && r.h === h ? r.n : 0) + 1;
|
|
108
|
+
await this.ctx.storage.put('miss', { h, n });
|
|
109
|
+
return n;
|
|
110
|
+
}
|
|
87
111
|
/** 只读:当天的数,给运维和测试看。 */
|
|
88
112
|
async kitUsage() {
|
|
89
113
|
const day = this.day(Date.now());
|
|
@@ -197,6 +221,9 @@ export function levelOf(writes, lim) {
|
|
|
197
221
|
return 'busy';
|
|
198
222
|
return 'ok';
|
|
199
223
|
}
|
|
224
|
+
function hourOf(now) {
|
|
225
|
+
return Math.floor(now / 3_600_000);
|
|
226
|
+
}
|
|
200
227
|
function utcDay(now) {
|
|
201
228
|
return new Date(now).toISOString().slice(0, 10);
|
|
202
229
|
}
|
package/dist/meter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meter.js","sourceRoot":"","sources":["../src/meter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"meter.js","sourceRoot":"","sources":["../src/meter.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -170,6 +170,11 @@ export interface WelcomeMsg<V = unknown> {
|
|
|
170
170
|
you: You;
|
|
171
171
|
room: RoomInfo;
|
|
172
172
|
view: V | null;
|
|
173
|
+
/**
|
|
174
|
+
* 房间发这条消息时的时间(毫秒,0.13.1):RoomClient 拿它和 room.turn.deadline 算"还剩多久",不用浏览器自己的钟(可能差几分钟)。
|
|
175
|
+
* 用来发现房间的闹钟没设上、到点了却没人推进(见 RoomClient 的看门狗)。旧房间不带
|
|
176
|
+
*/
|
|
177
|
+
now?: number;
|
|
173
178
|
/**
|
|
174
179
|
* 快捷短语的节奏(0.7.0,游戏有短语时才带):每 ms 毫秒补 1 个令牌、最多攒 burst 个。RoomClient 按它在本地排队发,
|
|
175
180
|
* 用户感觉不到限速;运维在 KIT_QUOTA 里改,不用发版
|
|
@@ -188,6 +193,8 @@ export interface StateMsg<V = unknown> {
|
|
|
188
193
|
/** 至少一帧;最后一帧就是当前状态 */
|
|
189
194
|
frames: Frame<V>[];
|
|
190
195
|
ack?: string;
|
|
196
|
+
/** 同 WelcomeMsg.now(0.13.1) */
|
|
197
|
+
now?: number;
|
|
191
198
|
/**
|
|
192
199
|
* 别人看不出来的一步(0.7.1):不轮流的操作没改任何别人能看到的东西(比如声明窗口里真人答"碰"),房间只回给出手的人、seq 不加(和上一条一样)。
|
|
193
200
|
* 只和 ack 一起出现;RoomClient 0.7.1 起认它(seq 一样也交给页面),旧的 RoomClient 当重复丢掉
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,qBAAqB;AACrB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAE3B,sBAAsB;AACtB,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,qBAAqB;IACrB,MAAM,EAAE,IAAI;IACZ,iBAAiB;IACjB,MAAM,EAAE,IAAI;IACZ,uCAAuC;IACvC,QAAQ,EAAE,IAAI;IACd,+BAA+B;IAC/B,UAAU,EAAE,IAAI;IAChB,yBAAyB;IACzB,QAAQ,EAAE,IAAI;IACd,6DAA6D;IAC7D,IAAI,EAAE,IAAI;IACV,uBAAuB;IACvB,MAAM,EAAE,IAAI;IACZ,iBAAiB;IACjB,MAAM,EAAE,IAAI;IACZ,gCAAgC;IAChC,YAAY,EAAE,IAAI;IAClB,gDAAgD;IAChD,SAAS,EAAE,IAAI;IACf,gDAAgD;IAChD,IAAI,EAAE,IAAI;IACV,2BAA2B;IAC3B,YAAY,EAAE,IAAI;IAClB,gBAAgB;IAChB,SAAS,EAAE,IAAI;CACP,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE,OAAO;CACN,CAAC;AAaX,eAAe;AACf,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC;AACzF,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,qBAAqB;AACrB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAE3B,sBAAsB;AACtB,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,qBAAqB;IACrB,MAAM,EAAE,IAAI;IACZ,iBAAiB;IACjB,MAAM,EAAE,IAAI;IACZ,uCAAuC;IACvC,QAAQ,EAAE,IAAI;IACd,+BAA+B;IAC/B,UAAU,EAAE,IAAI;IAChB,yBAAyB;IACzB,QAAQ,EAAE,IAAI;IACd,6DAA6D;IAC7D,IAAI,EAAE,IAAI;IACV,uBAAuB;IACvB,MAAM,EAAE,IAAI;IACZ,iBAAiB;IACjB,MAAM,EAAE,IAAI;IACZ,gCAAgC;IAChC,YAAY,EAAE,IAAI;IAClB,gDAAgD;IAChD,SAAS,EAAE,IAAI;IACf,gDAAgD;IAChD,IAAI,EAAE,IAAI;IACV,2BAA2B;IAC3B,YAAY,EAAE,IAAI;IAClB,gBAAgB;IAChB,SAAS,EAAE,IAAI;CACP,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE,OAAO;CACN,CAAC;AAaX,eAAe;AACf,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC;AACzF,CAAC;AAwKD;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,CAAU,CAAC"}
|
package/dist/room.d.ts
CHANGED
|
@@ -41,7 +41,9 @@ export interface RoomLimits {
|
|
|
41
41
|
* 这些重连同时算进 maxInbound,房间一生的写入总数有上限
|
|
42
42
|
*/
|
|
43
43
|
maxJoins: number;
|
|
44
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* 没入座的人最多几个(来看的、还没选座位的),超了 4003。按账号算(0.14.0,以前按连接);入座的人、房主、开打后绑过座位的人不占这个数,掉线回来总能进
|
|
46
|
+
*/
|
|
45
47
|
extraConnections: number;
|
|
46
48
|
/** 房间最长寿命 */
|
|
47
49
|
maxLifeMs: number;
|
|
@@ -134,6 +136,7 @@ export declare abstract class GameRoom<S, A, V, Env = unknown, O = unknown, E ex
|
|
|
134
136
|
private alarmToSet;
|
|
135
137
|
private pendingInbound;
|
|
136
138
|
private readonly pendingBy;
|
|
139
|
+
/** 入站消息的令牌桶,按 userId 记(0.14.0;以前按连接,断开重连就换一个满的桶,第三轮审计) */
|
|
137
140
|
private readonly buckets;
|
|
138
141
|
/** 每个座位快捷短语的令牌桶(内存里;被驱逐就重置成满的,驱逐前至少空闲了一阵,本来也该满了) */
|
|
139
142
|
private readonly emoteBuckets;
|
|
@@ -184,8 +187,17 @@ export declare abstract class GameRoom<S, A, V, Env = unknown, O = unknown, E ex
|
|
|
184
187
|
*/
|
|
185
188
|
private entry;
|
|
186
189
|
/**
|
|
187
|
-
*
|
|
188
|
-
*
|
|
190
|
+
* 这一步要设的闹钟两次都没设上(0.13.1,第三轮审计):按 getAlarm() 核对存储里还有没有闹钟(以前设的更早的那个可能还在);
|
|
191
|
+
* 有就以它为准,没有而房间还在,就补一个 ALARM_RETRY_MS 后的,醒来时 onAlarm 按状态重新算(到点的照常处理)。
|
|
192
|
+
* 以前只靠下一个入口重排:全是电脑、大家都在等时限的房间没人发消息,就一直停着,不关房、结回也不重试。
|
|
193
|
+
* 补设也失败(存储一直坏着)就只剩浏览器的看门狗(RoomClient)重连来叫醒。读不了存储时不抛(入口里不往外抛)
|
|
194
|
+
*/
|
|
195
|
+
private recoverAlarm;
|
|
196
|
+
/**
|
|
197
|
+
* 设闹钟;失败了不往外抛(0.11.1)。存储一时出错大多下一次就好,所以当场再试一次(0.13.1);还不行:
|
|
198
|
+
* planAlarm 已经把 alarmAt 改成了新时间,失败时它就是错的,留着的话以后 planAlarm 看"已经设了更早的"一直不重设,房间就没人收场。
|
|
199
|
+
* 改回"不知道",下一个入口(任何消息、进房、闹钟)按 getAlarm() 重新读、照常重排。
|
|
200
|
+
* 一直没人发消息(全是电脑在打、大家都在等时限)时,下一个入口由浏览器的看门狗给(RoomClient:时限过了很久还没有新状态就重连一次)
|
|
189
201
|
*/
|
|
190
202
|
private setAlarmSafely;
|
|
191
203
|
/**
|
|
@@ -349,6 +361,10 @@ export declare abstract class GameRoom<S, A, V, Env = unknown, O = unknown, E ex
|
|
|
349
361
|
private countOf;
|
|
350
362
|
private seatOf;
|
|
351
363
|
private roomInfo;
|
|
364
|
+
/** 这个房间的自己人:房主、坐着的、开打后绑过座位的。猜码超限时只放他们进(0.14.0) */
|
|
365
|
+
private insider;
|
|
366
|
+
/** 房主,或者开打后绑过座位的人:旁观名额不算他们(0.14.0) */
|
|
367
|
+
private ownsRoom;
|
|
352
368
|
/** 这个人开打后绑定的座位(离座了也还是它);还没开打、没坐过为 null。 */
|
|
353
369
|
private boundOf;
|
|
354
370
|
private welcome;
|
|
@@ -357,7 +373,10 @@ export declare abstract class GameRoom<S, A, V, Env = unknown, O = unknown, E ex
|
|
|
357
373
|
private broadcast;
|
|
358
374
|
private send;
|
|
359
375
|
private reject;
|
|
360
|
-
/**
|
|
376
|
+
/**
|
|
377
|
+
* 每个人一个令牌桶(内存里;被驱逐后重置成满的,驱逐前至少空闲了一阵,本来也该满了)。
|
|
378
|
+
* 按人不按连接(0.14.0):断开重连、多开几个标签页都还是同一个桶,刷不出新的 burst
|
|
379
|
+
*/
|
|
361
380
|
private takeToken;
|
|
362
381
|
}
|
|
363
382
|
/** 快捷短语的节奏(0.7.0):每 ms 毫秒补 1 个令牌、最多攒 burst 个 */
|