@sanctumterra/raknet 1.4.15 → 1.4.17
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,YAAY,EAWZ,QAAQ,EAIR,KAAK,KAAK,EAKV,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EACN,KAAK,aAAa,EAElB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAgB,KAAK,UAAU,EAAe,MAAM,YAAY,CAAC;AAKxE,qBAAa,MAAO,SAAQ,YAAY,CAAC,YAAY,CAAC;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAiC;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAE3C,OAAO,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,MAAM,CAAmB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,cAAc,CAAS;gBAEnB,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM;YA0BlC,UAAU;IAoGxB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,oBAAoB;IA2Bf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,YAAY,EAWZ,QAAQ,EAIR,KAAK,KAAK,EAKV,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EACN,KAAK,aAAa,EAElB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAgB,KAAK,UAAU,EAAe,MAAM,YAAY,CAAC;AAKxE,qBAAa,MAAO,SAAQ,YAAY,CAAC,YAAY,CAAC;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAiC;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAE3C,OAAO,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,MAAM,CAAmB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,cAAc,CAAS;gBAEnB,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM;YA0BlC,UAAU;IAoGxB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,oBAAoB;IA2Bf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA2E9B,MAAM,IAAI,IAAI;IAkCrB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,OAAO;IAgBR,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IA0EhD,YAAY,CAAC,IAAI,EAAE,MAAM;IAiEzB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAE,QAA0B;IAI5D,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,QAA0B;IAI/D,IAAI,IAAI,IAAI;IAOZ,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWxB,UAAU,IAAI,IAAI;CAWzB"}
|
package/dist/client/client.js
CHANGED
|
@@ -208,11 +208,14 @@ class Client extends shared_1.EventEmitter {
|
|
|
208
208
|
return null;
|
|
209
209
|
}
|
|
210
210
|
async connect() {
|
|
211
|
-
// Ensure socket is bound and ready
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
211
|
+
// Ensure socket is bound and ready (only bind if not already bound)
|
|
212
|
+
const address = this.socket.address();
|
|
213
|
+
if (!address) {
|
|
214
|
+
await new Promise((resolve) => {
|
|
215
|
+
this.socket.once("listening", () => resolve());
|
|
216
|
+
this.socket.bind();
|
|
217
|
+
});
|
|
218
|
+
}
|
|
216
219
|
if (this.options.proxy) {
|
|
217
220
|
await this.setupProxy();
|
|
218
221
|
}
|
|
@@ -284,6 +287,9 @@ class Client extends shared_1.EventEmitter {
|
|
|
284
287
|
// Check for stale connection (no activity at all)
|
|
285
288
|
const timeSinceLastActivity = Date.now() - this.lastActivityTime;
|
|
286
289
|
if (timeSinceLastActivity > Client.STALE_TIMEOUT_MS) {
|
|
290
|
+
if (this.options.debug) {
|
|
291
|
+
shared_2.Logger.warn(`Connection stale: ${timeSinceLastActivity}ms since last activity (threshold: ${Client.STALE_TIMEOUT_MS}ms)`);
|
|
292
|
+
}
|
|
287
293
|
this.handleDisconnect("Connection timed out (stale)");
|
|
288
294
|
return;
|
|
289
295
|
}
|
|
@@ -392,21 +398,34 @@ class Client extends shared_1.EventEmitter {
|
|
|
392
398
|
}
|
|
393
399
|
handleOnline(data) {
|
|
394
400
|
const id = data[0];
|
|
401
|
+
if (this.options.debug && id !== 254) {
|
|
402
|
+
shared_2.Logger.debug(`handleOnline: packet ID 0x${id.toString(16).padStart(2, "0")}`);
|
|
403
|
+
}
|
|
395
404
|
switch (id) {
|
|
396
405
|
case 254: {
|
|
406
|
+
this.lastActivityTime = Date.now();
|
|
397
407
|
this.emit("encapsulated", data);
|
|
398
408
|
break;
|
|
399
409
|
}
|
|
400
410
|
case shared_1.Packets.ConnectedPong: {
|
|
411
|
+
if (this.options.debug) {
|
|
412
|
+
shared_2.Logger.debug("Received ConnectedPong");
|
|
413
|
+
}
|
|
401
414
|
this.lastPongTime = Date.now();
|
|
415
|
+
this.lastActivityTime = Date.now(); // Count pong as activity
|
|
402
416
|
break;
|
|
403
417
|
}
|
|
404
418
|
case shared_1.Packets.ConnectedPing: {
|
|
419
|
+
if (this.options.debug) {
|
|
420
|
+
shared_2.Logger.debug("Received ConnectedPing from server, sending pong...");
|
|
421
|
+
}
|
|
422
|
+
this.lastActivityTime = Date.now(); // Count ping as activity
|
|
405
423
|
const ping = new shared_1.ConnectedPing(data).deserialize();
|
|
406
424
|
const pong = new shared_1.ConnectedPong();
|
|
407
425
|
pong.pingTimestamp = ping.timestamp;
|
|
408
426
|
pong.pongTimestamp = BigInt(Date.now());
|
|
409
|
-
|
|
427
|
+
const pongBuffer = pong.serialize();
|
|
428
|
+
this.frameAndSend(pongBuffer, shared_1.Priority.High);
|
|
410
429
|
break;
|
|
411
430
|
}
|
|
412
431
|
case shared_1.Packets.Disconnect: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network_session.d.ts","sourceRoot":"","sources":["../../src/shared/network_session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAW,QAAQ,EAAe,MAAM,SAAS,CAAC;AAK/E,qBAAa,cAAc;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,MAAM,EAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAGhC,mBAAmB,SAAK;IACxB,gBAAgB,SAAK;IAC5B,SAAS,CAAC,cAAc,SAAK;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,CAAa;IACrC,YAAY,uBAA8B;IAG1C,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAChD,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAC5C,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IACrC,iBAAiB,SAAM;IACvB,cAAc,EAAE,GAAG,CACzB,MAAM,EACN;QAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CACjD,CAAa;IACP,yBAAyB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAa;IAE1E,OAAO,CAAC,4BAA4B,CAA0B;IAC9D,OAAO,CAAC,oBAAoB,CAAM;IAGlC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAO;gBAE7C,GAAG,EAAE,MAAM,EAAE,KAAK,UAAQ;IAWtC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM;IAuDrB,KAAK,CAAC,GAAG,EAAE,GAAG;IAOd,MAAM,CAAC,IAAI,EAAE,GAAG;IAkBT,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,QAA0B;IAQ/D,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAE,QAA0B;IAmD5D,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;IAclD;;OAEG;IACI,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ;IA6BnD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA0B/B,UAAU,CAAC,QAAQ,EAAE,QAAQ;IAkD7B,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAwB/B,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA2CpC,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAenC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"network_session.d.ts","sourceRoot":"","sources":["../../src/shared/network_session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAW,QAAQ,EAAe,MAAM,SAAS,CAAC;AAK/E,qBAAa,cAAc;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,MAAM,EAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAGhC,mBAAmB,SAAK;IACxB,gBAAgB,SAAK;IAC5B,SAAS,CAAC,cAAc,SAAK;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,CAAa;IACrC,YAAY,uBAA8B;IAG1C,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAChD,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAC5C,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IACrC,iBAAiB,SAAM;IACvB,cAAc,EAAE,GAAG,CACzB,MAAM,EACN;QAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CACjD,CAAa;IACP,yBAAyB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAa;IAE1E,OAAO,CAAC,4BAA4B,CAA0B;IAC9D,OAAO,CAAC,oBAAoB,CAAM;IAGlC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAO;gBAE7C,GAAG,EAAE,MAAM,EAAE,KAAK,UAAQ;IAWtC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM;IAuDrB,KAAK,CAAC,GAAG,EAAE,GAAG;IAOd,MAAM,CAAC,IAAI,EAAE,GAAG;IAkBT,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,QAA0B;IAQ/D,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAE,QAA0B;IAmD5D,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;IAclD;;OAEG;IACI,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ;IA6BnD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA0B/B,UAAU,CAAC,QAAQ,EAAE,QAAQ;IAkD7B,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAwB/B,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA2CpC,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAenC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAuDxC"}
|
|
@@ -93,13 +93,13 @@ class NetworkSession {
|
|
|
93
93
|
this.sendQueue(size);
|
|
94
94
|
}
|
|
95
95
|
onAck(ack) {
|
|
96
|
-
logger_1.Logger.
|
|
96
|
+
logger_1.Logger.debug(`ACK received: ${ack.sequences.join(", ")}`);
|
|
97
97
|
for (let i = 0, len = ack.sequences.length; i < len; i++) {
|
|
98
98
|
this.outputBackup.delete(ack.sequences[i]);
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
onNack(nack) {
|
|
102
|
-
logger_1.Logger.
|
|
102
|
+
logger_1.Logger.debug(`Received NACK for sequences: ${nack.sequences.join(", ")} - resending`);
|
|
103
103
|
for (let i = 0, len = nack.sequences.length; i < len; i++) {
|
|
104
104
|
const seq = nack.sequences[i];
|
|
105
105
|
const lostFrames = this.outputBackup.get(seq);
|
|
@@ -179,7 +179,7 @@ class NetworkSession {
|
|
|
179
179
|
* Send split frames - each in its own frameset with small delays to ensure ordering
|
|
180
180
|
*/
|
|
181
181
|
sendSplitFrames(frames, priority) {
|
|
182
|
-
logger_1.Logger.
|
|
182
|
+
logger_1.Logger.debug(`Sending ${frames.length} split frames`);
|
|
183
183
|
// Send first frame immediately
|
|
184
184
|
const sendFrame = (index) => {
|
|
185
185
|
if (index >= frames.length)
|
|
@@ -190,7 +190,7 @@ class NetworkSession {
|
|
|
190
190
|
frameset.frames = [frame];
|
|
191
191
|
this.outputBackup.set(frameset.sequence, [frame]);
|
|
192
192
|
const buffer = frameset.serialize();
|
|
193
|
-
logger_1.Logger.
|
|
193
|
+
logger_1.Logger.debug(`Split ${index + 1}/${frames.length} sent (seq: ${frameset.sequence}, size: ${buffer.length})`);
|
|
194
194
|
this.send(buffer);
|
|
195
195
|
// Send next frame after a small delay to ensure ordering
|
|
196
196
|
if (index + 1 < frames.length) {
|