@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.
- package/dist/client/receiver.d.ts +1 -0
- package/dist/client/receiver.js +20 -6
- package/dist/tools/test.js +1 -1
- package/package.json +1 -1
package/dist/client/receiver.js
CHANGED
|
@@ -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();
|
package/dist/tools/test.js
CHANGED