baltica 2.0.5 → 2.0.7
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/bridge/bridge-player.js +8 -3
- package/dist/bridge/bridge.js +2 -1
- package/dist/bridge/types/bridge-player-events.d.ts +1 -0
- package/dist/client/client.js +3 -0
- package/dist/server/player.d.ts +1 -0
- package/dist/server/player.js +8 -0
- package/dist/server/types/player-events.d.ts +1 -0
- package/package.json +2 -2
|
@@ -4,6 +4,7 @@ exports.BridgePlayer = void 0;
|
|
|
4
4
|
const protocol_1 = require("@serenityjs/protocol");
|
|
5
5
|
const utils_1 = require("@baltica/utils");
|
|
6
6
|
const client_1 = require("../client");
|
|
7
|
+
const raknet_1 = require("@baltica/raknet");
|
|
7
8
|
class BridgePlayer extends utils_1.Emitter {
|
|
8
9
|
bridge;
|
|
9
10
|
player;
|
|
@@ -52,11 +53,13 @@ class BridgePlayer extends utils_1.Emitter {
|
|
|
52
53
|
const direction = clientBound ? "clientBound" : "serverBound";
|
|
53
54
|
const event = `${direction}-${PacketClass.name}`;
|
|
54
55
|
const wildcard = `${direction}-*`;
|
|
56
|
+
const completeWildCard = `*`;
|
|
55
57
|
const hasSpecific = this.listenerCount(event) > 0;
|
|
56
58
|
const hasWildcard = this.listenerCount(wildcard) > 0;
|
|
59
|
+
const hasCompleteWildCard = this.listenerCount(completeWildCard) > 0;
|
|
57
60
|
let cancelled = false;
|
|
58
61
|
let outBuffer = rawBuffer;
|
|
59
|
-
if (hasSpecific || hasWildcard) {
|
|
62
|
+
if (hasSpecific || hasWildcard || hasCompleteWildCard) {
|
|
60
63
|
let deserialized = null;
|
|
61
64
|
const ctx = {
|
|
62
65
|
get packet() {
|
|
@@ -79,6 +82,8 @@ class BridgePlayer extends utils_1.Emitter {
|
|
|
79
82
|
this.emit(event, ctx);
|
|
80
83
|
if (hasWildcard)
|
|
81
84
|
this.emit(wildcard, ctx, PacketClass.name);
|
|
85
|
+
if (hasCompleteWildCard)
|
|
86
|
+
this.emit(completeWildCard, ctx, PacketClass.name);
|
|
82
87
|
}
|
|
83
88
|
catch { }
|
|
84
89
|
cancelled = ctx.cancelled;
|
|
@@ -92,9 +97,9 @@ class BridgePlayer extends utils_1.Emitter {
|
|
|
92
97
|
if (cancelled)
|
|
93
98
|
return;
|
|
94
99
|
if (clientBound)
|
|
95
|
-
this.player.send(outBuffer);
|
|
100
|
+
this.player.send(outBuffer, raknet_1.Priority.High);
|
|
96
101
|
else
|
|
97
|
-
this.client.send(outBuffer);
|
|
102
|
+
this.client.send(outBuffer, raknet_1.Priority.High);
|
|
98
103
|
}
|
|
99
104
|
}
|
|
100
105
|
exports.BridgePlayer = BridgePlayer;
|
package/dist/bridge/bridge.js
CHANGED
|
@@ -6,6 +6,7 @@ const protocol_1 = require("@serenityjs/protocol");
|
|
|
6
6
|
const server_1 = require("../server");
|
|
7
7
|
const bridge_player_1 = require("./bridge-player");
|
|
8
8
|
const types_1 = require("./types");
|
|
9
|
+
const raknet_1 = require("@baltica/raknet");
|
|
9
10
|
class Bridge extends utils_1.Emitter {
|
|
10
11
|
options;
|
|
11
12
|
server;
|
|
@@ -32,7 +33,7 @@ class Bridge extends utils_1.Emitter {
|
|
|
32
33
|
packet.hideDisconnectScreen = false;
|
|
33
34
|
packet.message = new protocol_1.DisconnectMessage("Client leaving", "");
|
|
34
35
|
packet.reason = protocol_1.DisconnectReason.LegacyDisconnect;
|
|
35
|
-
player.client?.send(packet.serialize());
|
|
36
|
+
player.client?.send(packet.serialize(), raknet_1.Priority.High);
|
|
36
37
|
}
|
|
37
38
|
catch { }
|
|
38
39
|
this.emit("disconnect", player);
|
|
@@ -12,4 +12,5 @@ export type BridgePlayerEvents = {
|
|
|
12
12
|
} & {
|
|
13
13
|
"clientBound-*": [signal: BridgePacketSignal<Protocol.DataPacket>, name: string];
|
|
14
14
|
"serverBound-*": [signal: BridgePacketSignal<Protocol.DataPacket>, name: string];
|
|
15
|
+
"*": [signal: BridgePacketSignal<Protocol.DataPacket>, name: string];
|
|
15
16
|
};
|
package/dist/client/client.js
CHANGED
|
@@ -238,6 +238,9 @@ class Client extends utils_1.Emitter {
|
|
|
238
238
|
}
|
|
239
239
|
catch (err) {
|
|
240
240
|
utils_2.Logger.error("Failed to decompress packet", err);
|
|
241
|
+
if (err instanceof Error && err.message.includes("Checksum mismatch")) {
|
|
242
|
+
this.disconnect("Encryption checksum mismatch: Connection corrupted");
|
|
243
|
+
}
|
|
241
244
|
}
|
|
242
245
|
}
|
|
243
246
|
handlePacket(buffer) {
|
package/dist/server/player.d.ts
CHANGED
|
@@ -24,4 +24,5 @@ export declare class Player extends Emitter<PlayerEvents> {
|
|
|
24
24
|
send(packet: Buffer | Buffer[], priority?: Priority, compressionMethod?: CompressionMethod): void;
|
|
25
25
|
queue(packet: Buffer | Buffer[]): void;
|
|
26
26
|
sendUncompressed(packet: Buffer, priority?: Priority): void;
|
|
27
|
+
disconnect(reason?: string): void;
|
|
27
28
|
}
|
package/dist/server/player.js
CHANGED
|
@@ -158,6 +158,9 @@ class Player extends utils_1.Emitter {
|
|
|
158
158
|
}
|
|
159
159
|
catch (err) {
|
|
160
160
|
utils_1.Logger.error("Failed to decompress packet", err);
|
|
161
|
+
if (err instanceof Error && err.message.includes("Checksum mismatch")) {
|
|
162
|
+
this.disconnect("Encryption checksum mismatch: Connection corrupted");
|
|
163
|
+
}
|
|
161
164
|
}
|
|
162
165
|
}
|
|
163
166
|
handlePacket(buffer) {
|
|
@@ -199,5 +202,10 @@ class Player extends utils_1.Emitter {
|
|
|
199
202
|
framed.copy(buf, 1);
|
|
200
203
|
this.connection.send(buf, priority);
|
|
201
204
|
}
|
|
205
|
+
disconnect(reason = "disconnected") {
|
|
206
|
+
utils_1.Logger.info(`Disconnecting ${this.username || "player"}: ${reason}`);
|
|
207
|
+
this.connection.disconnect();
|
|
208
|
+
this.emit("disconnect");
|
|
209
|
+
}
|
|
202
210
|
}
|
|
203
211
|
exports.Player = Player;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "baltica",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.7",
|
|
4
4
|
"description": "Core baltica package",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -20,6 +20,6 @@
|
|
|
20
20
|
"dist"
|
|
21
21
|
],
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@types/node": "^25.3.
|
|
23
|
+
"@types/node": "^25.3.3"
|
|
24
24
|
}
|
|
25
25
|
}
|