@vworlds/vecs-server 1.0.18 → 1.0.20

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.18",
3
+ "version": "1.0.20",
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.18",
3
+ "version": "1.0.20",
4
4
  "type": "module",
5
5
  "main": "./vecs-server/src/index.js",
6
6
  "types": "./vecs-server/src/index.d.ts",
@@ -15,10 +15,10 @@
15
15
  "url": "git+https://github.com/vworlds/vecs.git"
16
16
  },
17
17
  "dependencies": {
18
- "@vworlds/vecs": "1.0.18",
19
- "@vworlds/vecs-protocol": "1.0.18",
20
- "@vworlds/vecs-wire": "1.0.18",
21
- "@vworlds/dgram-server": "^1.0.7"
18
+ "@vworlds/vecs": "1.0.20",
19
+ "@vworlds/vecs-protocol": "1.0.20",
20
+ "@vworlds/vecs-wire": "1.0.20",
21
+ "@vworlds/dgram-server": "^1.0.8"
22
22
  },
23
23
  "bundleDependencies": [
24
24
  "@vworlds/vecs-protocol"
@@ -3,6 +3,7 @@ import { type IPhase } from "@vworlds/vecs";
3
3
  export interface ServerWorldOptions extends NetworkWorldOptions {
4
4
  name?: string;
5
5
  encodeBufferSize?: number;
6
+ disconnectGraceMs?: number;
6
7
  }
7
8
  export interface InstallSystemsOptions {
8
9
  collectPhase: string | IPhase;
@@ -17,6 +18,7 @@ export declare class ServerWorld extends NetworkWorld {
17
18
  private readonly _snapshotCache;
18
19
  private readonly _trackerCache;
19
20
  private readonly _encodeBuffer;
21
+ private readonly _disconnectGraceMs;
20
22
  private _clients;
21
23
  private _frame;
22
24
  private _systemsInstalled;
@@ -1,4 +1,5 @@
1
1
  import { Client2Server, ComponentSnapshot, EncodedSnapshot, Server2Client, SessionRPC, StateDiff, ALL_COMPONENTS, cid_pack, NetworkWorld, } from "@vworlds/vecs-protocol";
2
+ import { performance } from "node:perf_hooks";
2
3
  import { Decoder, Encoder } from "@vworlds/vecs-wire";
3
4
  import { HISTORY_LENGTH, History } from "./history.js";
4
5
  import { NetworkClient, NetworkInput, Networked } from "./networked.js";
@@ -6,7 +7,9 @@ import { TrackerCache, View } from "./view.js";
6
7
  class ServerClientSession {
7
8
  constructor(lastFrame = -1) {
8
9
  this.rpc = new SessionRPC();
10
+ this.lastSeenMs = 0;
9
11
  this.needsFullSnapshot = true;
12
+ this.needsResync = false;
10
13
  this.baseFrame = lastFrame;
11
14
  this.ackFrame = lastFrame;
12
15
  this.history = new History(HISTORY_LENGTH, lastFrame);
@@ -25,6 +28,7 @@ export class ServerWorld extends NetworkWorld {
25
28
  this.name = options.name ?? "main";
26
29
  const encodeBufferSize = options.encodeBufferSize ?? 64 * 1024;
27
30
  this._encodeBuffer = new Uint8Array(encodeBufferSize);
31
+ this._disconnectGraceMs = options.disconnectGraceMs ?? 10000;
28
32
  this._trackerCache = new TrackerCache(this);
29
33
  this._components = this.networkComponents;
30
34
  ensureRegistered(this, Networked);
@@ -87,10 +91,18 @@ export class ServerWorld extends NetworkWorld {
87
91
  return;
88
92
  }
89
93
  const toFrame = this._frame++;
94
+ const nowMs = performance.now();
90
95
  const staleSessions = [];
91
96
  this._clients.forEach([View, ServerClientSession], (e, [view, session]) => {
92
97
  view._reconcileVisibility();
93
98
  view._releaseOldTracker(this._trackerCache);
99
+ if (session.ackFrame < toFrame - HISTORY_LENGTH) {
100
+ session.needsFullSnapshot = true;
101
+ session.needsResync = true;
102
+ }
103
+ if (session.needsResync) {
104
+ view._resyncAll();
105
+ }
94
106
  const snapshots = [];
95
107
  const removed = [];
96
108
  view._exitedView.forEach((entity) => {
@@ -119,20 +131,31 @@ export class ServerWorld extends NetworkWorld {
119
131
  removed,
120
132
  });
121
133
  session.history.push(latest);
122
- if (session.ackFrame < session.history.oldestFrame - 1) {
134
+ if (nowMs - session.lastSeenMs > this._disconnectGraceMs) {
123
135
  staleSessions.push(session);
124
136
  return;
125
137
  }
126
138
  const rpc = session.rpc.getOutgoing();
127
- let diff = session.history.pull(session.ackFrame, toFrame);
128
- if (session.needsFullSnapshot && diff.fromFrame !== 0) {
139
+ let diff;
140
+ if (session.needsResync) {
129
141
  diff = new StateDiff({
130
142
  fromFrame: 0,
131
- toFrame: diff.toFrame,
132
- snapshots: diff.snapshots,
133
- removed: diff.removed,
143
+ toFrame,
144
+ snapshots: latest.snapshots,
145
+ removed: latest.removed,
134
146
  });
135
147
  }
148
+ else {
149
+ diff = session.history.pull(session.ackFrame, toFrame);
150
+ if (session.needsFullSnapshot && diff.fromFrame !== 0) {
151
+ diff = new StateDiff({
152
+ fromFrame: 0,
153
+ toFrame: diff.toFrame,
154
+ snapshots: diff.snapshots,
155
+ removed: diff.removed,
156
+ });
157
+ }
158
+ }
136
159
  if (diff.snapshots.length === 0 && diff.removed.length === 0 && rpc.length === 0) {
137
160
  return;
138
161
  }
@@ -146,6 +169,7 @@ export class ServerWorld extends NetworkWorld {
146
169
  const session = new ServerClientSession(this._frame - 1);
147
170
  session.socket = socket;
148
171
  session.entity = entity;
172
+ session.lastSeenMs = performance.now();
149
173
  entity.attach(session);
150
174
  entity.set(NetworkClient, { id: socket.id });
151
175
  this._rpcHandlers.forEach((handler, rpcId) => session.rpc.listen(rpcId, handler));
@@ -162,11 +186,13 @@ export class ServerWorld extends NetworkWorld {
162
186
  session.entity.destroy();
163
187
  }
164
188
  _receive(session, data) {
189
+ session.lastSeenMs = performance.now();
165
190
  const message = new Decoder(data).read(Client2Server);
166
191
  if (message.ackFrame <= session.history.lastFrame) {
167
192
  session.ackFrame = Math.max(session.ackFrame, message.ackFrame);
168
193
  if (session.ackFrame > session.baseFrame) {
169
194
  session.needsFullSnapshot = false;
195
+ session.needsResync = false;
170
196
  }
171
197
  }
172
198
  if (message.input !== undefined) {
@@ -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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"}
@@ -122,6 +122,10 @@ export class View {
122
122
  this._enteredView.clear();
123
123
  this._exitedView.clear();
124
124
  }
125
+ /** @internal Force every visible entity to be re-sent as a full snapshot. */
126
+ _resyncAll() {
127
+ this._visible.forEach((entity) => this._enteredView.add(entity));
128
+ }
125
129
  _setTracker(tracker) {
126
130
  if (this._tracker === tracker) {
127
131
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/view.ts"],"names":[],"mappings":"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"}