@replicast/core 1.0.0-rc.8 → 1.0.0-rc.9
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/dist/store/base-store.d.ts +9 -4
- package/dist/store/base-store.d.ts.map +1 -1
- package/dist/store/base-store.js +21 -18
- package/dist/store/base-store.js.map +1 -1
- package/dist/transport/app.d.ts +1 -1
- package/dist/transport/app.d.ts.map +1 -1
- package/dist/transport/server.d.ts +2 -2
- package/dist/transport/server.d.ts.map +1 -1
- package/dist/transport/server.js +23 -8
- package/dist/transport/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -11,7 +11,6 @@ export declare class BaseStore {
|
|
|
11
11
|
private _ownerData;
|
|
12
12
|
private _dirtyGlobal;
|
|
13
13
|
private _dirtyOwner;
|
|
14
|
-
private _flushScheduled;
|
|
15
14
|
private _globalSeq;
|
|
16
15
|
private _ownerSeqs;
|
|
17
16
|
private _listeners;
|
|
@@ -31,10 +30,16 @@ export declare class BaseStore {
|
|
|
31
30
|
/** True if anything is listening (legacy slot or subscribers). */
|
|
32
31
|
get _hasListeners(): boolean;
|
|
33
32
|
set(partial: Record<string, unknown>): void;
|
|
34
|
-
setOwner(key: string, playerId: string,
|
|
33
|
+
setOwner(key: string, playerId: string, rawValue: unknown): void;
|
|
35
34
|
getOwner<T>(key: string, playerId: string): T;
|
|
36
35
|
getSnapshot(playerId?: string): Record<string, unknown>;
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Drains accumulated dirty state (from `set()`/`setOwner()`) into one replication batch and
|
|
38
|
+
* emits it to listeners. `set()`/`setOwner()` no longer self-schedule this — the server calls
|
|
39
|
+
* `flush()` once per replication tick for every registered store (see `createRPCServer`'s
|
|
40
|
+
* replication timer), so store updates share one cadence with entity replication instead of
|
|
41
|
+
* running on an independent `process.nextTick()` clock. Cheap to call when nothing is dirty.
|
|
42
|
+
*/
|
|
43
|
+
flush(): void;
|
|
39
44
|
}
|
|
40
45
|
//# sourceMappingURL=base-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-store.d.ts","sourceRoot":"","sources":["../../src/store/base-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-store.d.ts","sourceRoot":"","sources":["../../src/store/base-store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CACvC;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,UAAU,CAA4B;IAE9C,OAAO,CAAC,UAAU,CAA+C;IAEjE;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAElD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI;IAKlE,kHAAkH;IAClH,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAK/C,kEAAkE;IAClE,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAsB3C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAiBhE,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC;IAI7C,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAcvD;;;;;;OAMG;IACH,KAAK,IAAI,IAAI;CAyCd"}
|
package/dist/store/base-store.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { getPropertyRoles, getStoreType } from '../decorators/metadata.js';
|
|
2
|
+
import { getQuantizedFields } from '../decorators/entity.js';
|
|
3
|
+
import { quantize } from '../entity/fields.js';
|
|
2
4
|
export class BaseStore {
|
|
3
5
|
_ownerData = new Map();
|
|
4
6
|
_dirtyGlobal = new Set();
|
|
5
7
|
_dirtyOwner = new Map();
|
|
6
|
-
_flushScheduled = false;
|
|
7
8
|
_globalSeq = 0;
|
|
8
9
|
_ownerSeqs = new Map(); // playerId → seq
|
|
9
10
|
_listeners = new Set();
|
|
@@ -32,11 +33,13 @@ export class BaseStore {
|
|
|
32
33
|
return this._onReplication !== undefined || this._listeners.size > 0;
|
|
33
34
|
}
|
|
34
35
|
set(partial) {
|
|
35
|
-
|
|
36
|
+
const proto = Object.getPrototypeOf(this);
|
|
37
|
+
if (getStoreType(proto.constructor) === 'owner') {
|
|
36
38
|
throw new Error('@OwnerStore does not support set(). Use setOwner() for all properties.');
|
|
37
39
|
}
|
|
38
|
-
const roles = getPropertyRoles(
|
|
39
|
-
|
|
40
|
+
const roles = getPropertyRoles(proto);
|
|
41
|
+
const quantized = getQuantizedFields(proto);
|
|
42
|
+
for (const [key, rawValue] of Object.entries(partial)) {
|
|
40
43
|
const role = roles[key];
|
|
41
44
|
if (role === 'ownerOnly') {
|
|
42
45
|
throw new Error(`Use setOwner() for @OwnerOnly property "${key}"`);
|
|
@@ -45,15 +48,15 @@ export class BaseStore {
|
|
|
45
48
|
throw new Error(`Unknown property "${key}" — must be decorated with @Global, @ServerOnly, or @OwnerOnly`);
|
|
46
49
|
}
|
|
47
50
|
;
|
|
48
|
-
this[key] =
|
|
51
|
+
this[key] = quantize(rawValue, quantized[key]);
|
|
49
52
|
if (role === 'global') {
|
|
50
53
|
this._dirtyGlobal.add(key);
|
|
51
|
-
this._scheduleFlush();
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
}
|
|
55
|
-
setOwner(key, playerId,
|
|
56
|
-
const
|
|
57
|
+
setOwner(key, playerId, rawValue) {
|
|
58
|
+
const proto = Object.getPrototypeOf(this);
|
|
59
|
+
const roles = getPropertyRoles(proto);
|
|
57
60
|
const role = roles[key];
|
|
58
61
|
if (role === undefined) {
|
|
59
62
|
throw new Error(`Unknown property "${key}" — must be decorated with @Global, @ServerOnly, or @OwnerOnly`);
|
|
@@ -61,13 +64,13 @@ export class BaseStore {
|
|
|
61
64
|
if (role !== 'ownerOnly') {
|
|
62
65
|
throw new Error(`Use set() for @${role === 'global' ? 'Global' : 'ServerOnly'} property "${key}"`);
|
|
63
66
|
}
|
|
67
|
+
const value = quantize(rawValue, getQuantizedFields(proto)[key]);
|
|
64
68
|
if (!this._ownerData.has(key))
|
|
65
69
|
this._ownerData.set(key, new Map());
|
|
66
70
|
this._ownerData.get(key).set(playerId, value);
|
|
67
71
|
if (!this._dirtyOwner.has(key))
|
|
68
72
|
this._dirtyOwner.set(key, new Set());
|
|
69
73
|
this._dirtyOwner.get(key).add(playerId);
|
|
70
|
-
this._scheduleFlush();
|
|
71
74
|
}
|
|
72
75
|
getOwner(key, playerId) {
|
|
73
76
|
return this._ownerData.get(key)?.get(playerId);
|
|
@@ -87,16 +90,16 @@ export class BaseStore {
|
|
|
87
90
|
}
|
|
88
91
|
return snapshot;
|
|
89
92
|
}
|
|
90
|
-
|
|
91
|
-
|
|
93
|
+
/**
|
|
94
|
+
* Drains accumulated dirty state (from `set()`/`setOwner()`) into one replication batch and
|
|
95
|
+
* emits it to listeners. `set()`/`setOwner()` no longer self-schedule this — the server calls
|
|
96
|
+
* `flush()` once per replication tick for every registered store (see `createRPCServer`'s
|
|
97
|
+
* replication timer), so store updates share one cadence with entity replication instead of
|
|
98
|
+
* running on an independent `process.nextTick()` clock. Cheap to call when nothing is dirty.
|
|
99
|
+
*/
|
|
100
|
+
flush() {
|
|
101
|
+
if (this._dirtyGlobal.size === 0 && this._dirtyOwner.size === 0)
|
|
92
102
|
return;
|
|
93
|
-
this._flushScheduled = true;
|
|
94
|
-
process.nextTick(() => {
|
|
95
|
-
this._flushScheduled = false;
|
|
96
|
-
this._flush();
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
_flush() {
|
|
100
103
|
if (!this._hasListeners) {
|
|
101
104
|
// Nobody listening yet — discard dirty state so it doesn't accumulate
|
|
102
105
|
// and leak into the first incremental patch after _onReplication is set.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-store.js","sourceRoot":"","sources":["../../src/store/base-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"base-store.js","sourceRoot":"","sources":["../../src/store/base-store.ts"],"names":[],"mappings":"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"}
|
package/dist/transport/app.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export interface ServeOptions {
|
|
|
19
19
|
encoding?: 'json' | 'msgpack';
|
|
20
20
|
/** Fixed-rate server simulation loop (e.g. { hz: 20, onTick: dt => sim.step(dt) }). Also drives `@ServerTick`. */
|
|
21
21
|
tick?: TickOptions;
|
|
22
|
-
/** Entity flush rate, independent of the sim tick rate (e.g. `{ hz: 15 }`). Defaults to 20 Hz. */
|
|
22
|
+
/** Entity + store flush rate, independent of the sim tick rate (e.g. `{ hz: 15 }`). Defaults to 20 Hz. */
|
|
23
23
|
replication?: ReplicationOptions;
|
|
24
24
|
}
|
|
25
25
|
export interface ConnectOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/transport/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,KAAK,gBAAgB,GAAG,UAAU,SAAS,CAAA;AAC3C,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;AAChE,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,iBAAiB,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAEhG,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,mBAAmB,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,kHAAkH;IAClH,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/transport/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,KAAK,gBAAgB,GAAG,UAAU,SAAS,CAAA;AAC3C,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;AAChE,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,iBAAiB,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAEhG,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,mBAAmB,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,kHAAkH;IAClH,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,0GAA0G;IAC1G,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,mBAAmB,CAAA;IAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,GAAG,CAAC,OAAO,SAAS,iBAAiB,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAC7F,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG;QAC5B,MAAM,EAAE,SAAS,CAAA;QACjB,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;QAC/B,OAAO,EAAE,QAAQ,CAAA;QACjB,0EAA0E;QAC1E,KAAK,EAAE,WAAW,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAA;KAAE,CAAA;CAC3G;AAED,wBAAgB,SAAS,CACvB,OAAO,SAAS,iBAAiB,EACjC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,MAAM,EAAE;IACR,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAA;IACtD,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAA;CACvC,GAAG,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAkDzB"}
|
|
@@ -18,7 +18,7 @@ interface CreateRpcServerOptions {
|
|
|
18
18
|
tick?: TickOptions;
|
|
19
19
|
/** `@Entity` classes this world can spawn. Required for entity replication. */
|
|
20
20
|
entities?: EntityConstructor<object>[];
|
|
21
|
-
/** How often each client's entity delta is flushed. Defaults to 20 Hz. */
|
|
21
|
+
/** How often each client's entity delta and every registered store's dirty state is flushed. Defaults to 20 Hz. */
|
|
22
22
|
replication?: ReplicationOptions;
|
|
23
23
|
}
|
|
24
24
|
export interface TickOptions {
|
|
@@ -26,7 +26,7 @@ export interface TickOptions {
|
|
|
26
26
|
onTick: (dt: number) => void | Promise<void>;
|
|
27
27
|
}
|
|
28
28
|
export interface ReplicationOptions {
|
|
29
|
-
/** Entity flush rate, independent of the sim tick rate (e.g. sim 30, replication 15). */
|
|
29
|
+
/** Entity + store flush rate, independent of the sim tick rate (e.g. sim 30, replication 15). */
|
|
30
30
|
hz?: number;
|
|
31
31
|
}
|
|
32
32
|
export interface RpcServer {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/transport/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAIlD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,oBAAoB,CAAA;AAsBjF,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,UAAU,sBAAsB;IAC9B,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,SAAS,EAAE,mBAAmB,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,mHAAmH;IACnH,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAA;IACtC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/transport/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAIlD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,oBAAoB,CAAA;AAsBjF,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,UAAU,sBAAsB;IAC9B,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,SAAS,EAAE,mBAAmB,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,mHAAmH;IACnH,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAA;IACtC,mHAAmH;IACnH,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7C;AAED,MAAM,WAAW,kBAAkB;IACjC,iGAAiG;IACjG,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,gFAAgF;IAChF,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACpB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,KAAK,EAAE,WAAW,CAAA;CACnB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CA4S1E"}
|
package/dist/transport/server.js
CHANGED
|
@@ -250,21 +250,36 @@ export function createRPCServer(options) {
|
|
|
250
250
|
.finally(() => { running = false; });
|
|
251
251
|
}, 1000 / tick.hz);
|
|
252
252
|
}
|
|
253
|
-
//
|
|
253
|
+
// Replication runs on its own clock so snapshots can be slower than the sim (e.g. 30/15).
|
|
254
|
+
// Entities and stores share this one cadence — BaseStore no longer self-schedules via
|
|
255
|
+
// process.nextTick() (see BaseStore.flush()); the server drives every registered store's
|
|
256
|
+
// flush() here, once per tick, right alongside the entity world's flush().
|
|
254
257
|
let replicationTimer;
|
|
255
|
-
if (entities.length > 0) {
|
|
258
|
+
if (entities.length > 0 || stores.length > 0) {
|
|
256
259
|
const replicationCtx = {
|
|
257
260
|
playerId: '',
|
|
258
261
|
get players() { return [...connections.keys()]; },
|
|
259
262
|
sendToClient(targetId, method, ...args) { pushToClient(targetId, method, args); },
|
|
260
263
|
};
|
|
261
264
|
replicationTimer = setInterval(() => {
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
265
|
+
contextStorage.run(replicationCtx, () => {
|
|
266
|
+
if (entities.length > 0) {
|
|
267
|
+
try {
|
|
268
|
+
world.flush();
|
|
269
|
+
}
|
|
270
|
+
catch (err) {
|
|
271
|
+
console.error('[replicast] replication flush error:', err);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
for (const { instance } of stores) {
|
|
275
|
+
try {
|
|
276
|
+
instance.flush();
|
|
277
|
+
}
|
|
278
|
+
catch (err) {
|
|
279
|
+
console.error('[replicast] store replication flush error:', err);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
});
|
|
268
283
|
}, 1000 / (replication?.hz ?? REPLICATION_HZ));
|
|
269
284
|
}
|
|
270
285
|
let closed = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/transport/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/transport/server.ts"],"names":[],"mappings":"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"}
|