UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

24 lines (23 loc) 3.94 kB
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=