@vworlds/vecs-server 1.0.22 → 1.0.23

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vworlds/vecs-protocol",
3
- "version": "1.0.22",
3
+ "version": "1.0.23",
4
4
  "type": "module",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vworlds/vecs-server",
3
- "version": "1.0.22",
3
+ "version": "1.0.23",
4
4
  "type": "module",
5
5
  "main": "./vecs-server/src/index.js",
6
6
  "types": "./vecs-server/src/index.d.ts",
@@ -15,9 +15,9 @@
15
15
  "url": "git+https://github.com/vworlds/vecs.git"
16
16
  },
17
17
  "dependencies": {
18
- "@vworlds/vecs": "1.0.22",
19
- "@vworlds/vecs-protocol": "1.0.22",
20
- "@vworlds/vecs-wire": "1.0.22",
18
+ "@vworlds/vecs": "1.0.23",
19
+ "@vworlds/vecs-protocol": "1.0.23",
20
+ "@vworlds/vecs-wire": "1.0.23",
21
21
  "@vworlds/dgram-server": "^1.0.8"
22
22
  },
23
23
  "bundleDependencies": [
@@ -3,7 +3,6 @@ export { VecsListener } from "./vecs_listener.js";
3
3
  export type { VecsListenerOptions } from "./vecs_listener.js";
4
4
  export { ServerWorld } from "./server_world.js";
5
5
  export type { ServerWorldOptions } from "./server_world.js";
6
- export type { InstallSystemsOptions } from "./server_world.js";
7
6
  export { EntityTracker, TrackerCache, View } from "./view.js";
8
7
  export type { IEntityTracker, IEntityTrackerListener } from "./view.js";
9
8
  export { worldPath } from "@vworlds/vecs-protocol";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,14 +1,9 @@
1
1
  import { NetworkWorld, type NetworkWorldOptions, type RPCHandler } from "@vworlds/vecs-protocol";
2
- import { type Entity } from "@vworlds/vecs";
3
2
  export interface ServerWorldOptions extends NetworkWorldOptions {
4
3
  name?: string;
5
4
  encodeBufferSize?: number;
6
5
  disconnectGraceMs?: number;
7
6
  }
8
- export interface InstallSystemsOptions {
9
- collectPhase?: string | Entity;
10
- sendPhase?: string | Entity;
11
- }
12
7
  export declare class ServerWorld extends NetworkWorld {
13
8
  readonly name: string;
14
9
  private readonly _components;
@@ -21,16 +16,13 @@ export declare class ServerWorld extends NetworkWorld {
21
16
  private readonly _disconnectGraceMs;
22
17
  private _clients;
23
18
  private _frame;
24
- private _systemsInstalled;
25
19
  constructor(options?: ServerWorldOptions);
26
20
  handleRpc(rpcId: number, handler: RPCHandler): void;
27
- installSystems(options?: InstallSystemsOptions): void;
28
21
  send(): void;
29
22
  private _onNewConnection;
30
23
  private _onDisconnect;
31
24
  private _receive;
32
25
  private _record;
33
- private _phaseTarget;
34
26
  private _pushEntitySnapshots;
35
27
  private _encodeSnapshot;
36
28
  private _encode;
@@ -1,6 +1,6 @@
1
1
  import { Client2Server, ComponentSnapshot, EncodedSnapshot, Server2Client, SessionRPC, StateDiff, ALL_COMPONENTS, cid_pack, NetworkWorld, } from "@vworlds/vecs-protocol";
2
2
  import { performance } from "node:perf_hooks";
3
- import { ON_STORE, Phase, PRE_STORE, } from "@vworlds/vecs";
3
+ import { ON_STORE, PRE_STORE, } from "@vworlds/vecs";
4
4
  import { Decoder, Encoder } from "@vworlds/vecs-wire";
5
5
  import { HISTORY_LENGTH, History } from "./history.js";
6
6
  import { NetworkClient, NetworkInput, Networked } from "./networked.js";
@@ -25,7 +25,6 @@ export class ServerWorld extends NetworkWorld {
25
25
  this._updates = new Map();
26
26
  this._snapshotCache = new Map();
27
27
  this._frame = 1;
28
- this._systemsInstalled = false;
29
28
  this.name = options.name ?? "main";
30
29
  const encodeBufferSize = options.encodeBufferSize ?? 64 * 1024;
31
30
  this._encodeBuffer = new Uint8Array(encodeBufferSize);
@@ -37,22 +36,6 @@ export class ServerWorld extends NetworkWorld {
37
36
  ensureRegistered(this, NetworkInput);
38
37
  ensureRegistered(this, View);
39
38
  ensureRegistered(this, ServerClientSession);
40
- }
41
- /** @internal */
42
- _attach(listener) {
43
- listener.on("new", (socket) => this._onNewConnection(socket));
44
- }
45
- handleRpc(rpcId, handler) {
46
- this._rpcHandlers.set(rpcId, handler);
47
- this._sessions.forEach((session) => session.rpc.listen(rpcId, handler));
48
- }
49
- installSystems(options = {}) {
50
- if (this._systemsInstalled) {
51
- return;
52
- }
53
- this._systemsInstalled = true;
54
- const collectPhase = this._phaseTarget(options.collectPhase ?? PRE_STORE);
55
- const sendPhase = this._phaseTarget(options.sendPhase ?? ON_STORE);
56
39
  this.component(Networked).onRemove((entity) => {
57
40
  this._record(entity, ALL_COMPONENTS, undefined);
58
41
  });
@@ -61,7 +44,7 @@ export class ServerWorld extends NetworkWorld {
61
44
  });
62
45
  this._clients = this.system(`ServerWorld:${this.name}:View`)
63
46
  .with(View, ServerClientSession)
64
- .phase(collectPhase)
47
+ .phase(PRE_STORE)
65
48
  .update(View, [ServerClientSession], (_entity, view, [_session]) => {
66
49
  view._refreshTracker(this._trackerCache);
67
50
  })
@@ -72,7 +55,7 @@ export class ServerWorld extends NetworkWorld {
72
55
  this._components.forEach((registered) => {
73
56
  this.system(`ServerWorld:${this.name}:${registered.Class.name}`)
74
57
  .with(Networked, registered.Class)
75
- .phase(collectPhase)
58
+ .phase(PRE_STORE)
76
59
  .update(registered.Class, (entity, component) => {
77
60
  this._snapshotCache.delete(cid_pack(entity.eid, registered.type));
78
61
  this._record(entity, registered.type, component);
@@ -84,9 +67,17 @@ export class ServerWorld extends NetworkWorld {
84
67
  .track();
85
68
  });
86
69
  this.system(`ServerWorld:${this.name}:Send`)
87
- .phase(sendPhase)
70
+ .phase(ON_STORE)
88
71
  .run(() => this.send());
89
72
  }
73
+ /** @internal */
74
+ _attach(listener) {
75
+ listener.on("new", (socket) => this._onNewConnection(socket));
76
+ }
77
+ handleRpc(rpcId, handler) {
78
+ this._rpcHandlers.set(rpcId, handler);
79
+ this._sessions.forEach((session) => session.rpc.listen(rpcId, handler));
80
+ }
90
81
  send() {
91
82
  const toFrame = this._frame++;
92
83
  if (this._sessions.size === 0) {
@@ -207,9 +198,6 @@ export class ServerWorld extends NetworkWorld {
207
198
  _record(entity, type, component) {
208
199
  this._updates.set(cid_pack(entity.eid, type), { entity, type, component });
209
200
  }
210
- _phaseTarget(phase) {
211
- return (typeof phase === "string" ? this.entity(phase) : phase).add(Phase);
212
- }
213
201
  _pushEntitySnapshots(entity, snapshots) {
214
202
  this._components.forEach((registered) => {
215
203
  const component = entity.get(registered.type);
@@ -1 +1 @@
1
- {"version":3,"file":"server_world.js","sourceRoot":"","sources":["../../../src/server_world.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server_world.js","sourceRoot":"","sources":["../../../src/server_world.ts"],"names":[],"mappings":"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"}