@sanctumterra/raknet 1.1.5 → 1.1.6

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.
@@ -24,6 +24,7 @@ declare class Receiver {
24
24
  private handleFragment;
25
25
  private reassembleAndProcessFragment;
26
26
  private processFrame;
27
+ private handleConnectedPing;
27
28
  private handleAckSequences;
28
29
  private handleNackSequences;
29
30
  private handleUnconnectedPong;
@@ -28,12 +28,6 @@ class Receiver {
28
28
  }
29
29
  handle(packet) {
30
30
  const packetType = packet[0];
31
- if (packetType !== raknet_1.Packet.UnconnectedPong && this.client.tick <= 0)
32
- return;
33
- if ((packetType & 0xf0) === raknet_1.Bitflags.Valid) {
34
- this.handleValidPacket(packet);
35
- return;
36
- }
37
31
  switch (packetType) {
38
32
  case raknet_1.Packet.UnconnectedPong:
39
33
  this.handleUnconnectedPong(packet);
@@ -49,6 +43,10 @@ class Receiver {
49
43
  break;
50
44
  }
51
45
  default:
46
+ if ((packetType & 0xf0) === raknet_1.Bitflags.Valid) {
47
+ this.handleValidPacket(packet);
48
+ return;
49
+ }
52
50
  if (this.client.options.debug)
53
51
  console.debug(`Received unknown packet: ${packetType}`);
54
52
  break;
@@ -162,6 +160,10 @@ class Receiver {
162
160
  this.client.close();
163
161
  break;
164
162
  }
163
+ case raknet_1.Packet.ConnectedPing: {
164
+ this.handleConnectedPing(frame);
165
+ break;
166
+ }
165
167
  case 254: {
166
168
  this.client.emit("encapsulated", frame);
167
169
  break;
@@ -173,6 +175,18 @@ class Receiver {
173
175
  }
174
176
  }
175
177
  }
178
+ handleConnectedPing(iframe) {
179
+ const packet = new packets_1.ConnectedPing(iframe.payload);
180
+ const deserializedPacket = packet.deserialize();
181
+ const pong = new raknet_1.ConnectedPong();
182
+ pong.pingTimestamp = deserializedPacket.timestamp;
183
+ pong.timestamp = BigInt(Date.now());
184
+ const frame = new raknet_1.Frame();
185
+ frame.reliability = raknet_1.Reliability.Unreliable;
186
+ frame.orderChannel = 0;
187
+ frame.payload = pong.serialize();
188
+ this.client.sender.sendFrame(frame, raknet_1.Priority.Immediate);
189
+ }
176
190
  handleAckSequences() {
177
191
  if (this.receivedFrameSequences.size > 0) {
178
192
  const ack = new raknet_1.Ack();
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const client_1 = require("../client/client");
4
4
  const client = new client_1.Client({
5
- debug: false,
5
+ debug: true,
6
6
  host: "127.0.0.1",
7
7
  port: 19132,
8
8
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanctumterra/raknet",
3
- "version": "1.1.5",
3
+ "version": "1.1.6",
4
4
  "module": "index.ts",
5
5
  "main": "./dist/index.js",
6
6
  "type": "commonjs",