@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
24 lines (23 loc) • 3.94 kB
JavaScript
import Identifiers from "../Identifiers.es.js";
import NetworkSettingsPacket, { CompressionThreshold, PacketCompressionAlgorithm } from "../packet/NetworkSettingsPacket.es.js";
//#region src/network/handler/RequestNetworkSettingsHandler.ts
var RequestNetworkSettingsHandler = class {
static NetID = Identifiers.RequestNetworkSettingsPacket;
async handle(packet, _server, connection) {
if (packet.protocolVersion !== Identifiers.Protocol) {
connection.disconnect(`Unsupported protocol version: ${packet.protocolVersion}`);
return;
}
const networkSettings = new NetworkSettingsPacket();
networkSettings.compressionThreshold = CompressionThreshold.COMPRESS_EVERYTHING;
networkSettings.compressionAlgorithm = PacketCompressionAlgorithm.ZLIB;
networkSettings.clientThrottlingEnabled = false;
networkSettings.clientThrottleThreshold = 0;
networkSettings.clientThrottleScalar = 0;
connection.hasCompression = true;
await connection.sendDataPacket(networkSettings, false);
}
};
//#endregion
export { RequestNetworkSettingsHandler as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdE5ldHdvcmtTZXR0aW5nc0hhbmRsZXIuZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25ldHdvcmsvaGFuZGxlci9SZXF1ZXN0TmV0d29ya1NldHRpbmdzSGFuZGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSWRlbnRpZmllcnMgZnJvbSAnLi4vSWRlbnRpZmllcnMnO1xuaW1wb3J0IHR5cGUgU2VydmVyIGZyb20gJy4uLy4uL1NlcnZlcic7XG5pbXBvcnQgdHlwZSBSZXF1ZXN0TmV0d29ya1NldHRpbmdzUGFja2V0IGZyb20gJy4uL3BhY2tldC9SZXF1ZXN0TmV0d29ya1NldHRpbmdzUGFja2V0JztcbmltcG9ydCB0eXBlIFByZUxvZ2luUGFja2V0SGFuZGxlciBmcm9tICcuL1ByZUxvZ2luUGFja2V0SGFuZGxlcic7XG5pbXBvcnQgdHlwZSBDbGllbnRDb25uZWN0aW9uIGZyb20gJy4uL0NsaWVudENvbm5lY3Rpb24nO1xuaW1wb3J0IE5ldHdvcmtTZXR0aW5nc1BhY2tldCwge1xuICAgIFBhY2tldENvbXByZXNzaW9uQWxnb3JpdGhtLFxuICAgIENvbXByZXNzaW9uVGhyZXNob2xkXG59IGZyb20gJy4uL3BhY2tldC9OZXR3b3JrU2V0dGluZ3NQYWNrZXQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXF1ZXN0TmV0d29ya1NldHRpbmdzSGFuZGxlciBpbXBsZW1lbnRzIFByZUxvZ2luUGFja2V0SGFuZGxlcjxSZXF1ZXN0TmV0d29ya1NldHRpbmdzUGFja2V0PiB7XG4gICAgcHVibGljIHN0YXRpYyBOZXRJRCA9IElkZW50aWZpZXJzLlJlcXVlc3ROZXR3b3JrU2V0dGluZ3NQYWNrZXQ7XG5cbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlKFxuICAgICAgICBwYWNrZXQ6IFJlcXVlc3ROZXR3b3JrU2V0dGluZ3NQYWNrZXQsXG4gICAgICAgIF9zZXJ2ZXI6IFNlcnZlcixcbiAgICAgICAgY29ubmVjdGlvbjogQ2xpZW50Q29ubmVjdGlvblxuICAgICk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAocGFja2V0LnByb3RvY29sVmVyc2lvbiAhPT0gSWRlbnRpZmllcnMuUHJvdG9jb2wpIHtcbiAgICAgICAgICAgIGNvbm5lY3Rpb24uZGlzY29ubmVjdChgVW5zdXBwb3J0ZWQgcHJvdG9jb2wgdmVyc2lvbjogJHtwYWNrZXQucHJvdG9jb2xWZXJzaW9ufWApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV0d29ya1NldHRpbmdzID0gbmV3IE5ldHdvcmtTZXR0aW5nc1BhY2tldCgpO1xuICAgICAgICBuZXR3b3JrU2V0dGluZ3MuY29tcHJlc3Npb25UaHJlc2hvbGQgPSBDb21wcmVzc2lvblRocmVzaG9sZC5DT01QUkVTU19FVkVSWVRISU5HO1xuICAgICAgICBuZXR3b3JrU2V0dGluZ3MuY29tcHJlc3Npb25BbGdvcml0aG0gPSBQYWNrZXRDb21wcmVzc2lvbkFsZ29yaXRobS5aTElCO1xuICAgICAgICBuZXR3b3JrU2V0dGluZ3MuY2xpZW50VGhyb3R0bGluZ0VuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgbmV0d29ya1NldHRpbmdzLmNsaWVudFRocm90dGxlVGhyZXNob2xkID0gMDtcbiAgICAgICAgbmV0d29ya1NldHRpbmdzLmNsaWVudFRocm90dGxlU2NhbGFyID0gMDtcblxuICAgICAgICBjb25uZWN0aW9uLmhhc0NvbXByZXNzaW9uID0gdHJ1ZTtcblxuICAgICAgICAvLyBTZW5kIGFzIHVuY29tcHJlc3NlZCwgdGhpcyB3aWxsIGluaXRpYWxpemUgY29tcHJlc3Npb25cbiAgICAgICAgYXdhaXQgY29ubmVjdGlvbi5zZW5kRGF0YVBhY2tldChuZXR3b3JrU2V0dGluZ3MsIGZhbHNlKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQVVBLElBQXFCLGdDQUFyQixNQUFrSDtDQUM5RyxPQUFjLFFBQVEsWUFBWTtDQUVsQyxNQUFhLE9BQ1QsUUFDQSxTQUNBLFlBQ2E7RUFDYixJQUFJLE9BQU8sb0JBQW9CLFlBQVksVUFBVTtHQUNqRCxXQUFXLFdBQVcsaUNBQWlDLE9BQU8saUJBQWlCO0dBQy9FO0VBQ0o7RUFFQSxNQUFNLGtCQUFrQixJQUFJLHNCQUFzQjtFQUNsRCxnQkFBZ0IsdUJBQXVCLHFCQUFxQjtFQUM1RCxnQkFBZ0IsdUJBQXVCLDJCQUEyQjtFQUNsRSxnQkFBZ0IsMEJBQTBCO0VBQzFDLGdCQUFnQiwwQkFBMEI7RUFDMUMsZ0JBQWdCLHVCQUF1QjtFQUV2QyxXQUFXLGlCQUFpQjtFQUc1QixNQUFNLFdBQVcsZUFBZSxpQkFBaUIsS0FBSztDQUMxRDtBQUNKIn0=