UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

24 lines (21 loc) 4.25 kB
import Identifiers from '../Identifiers.es.js'; import NetworkSettingsPacket, { CompressionThreshold, PacketCompressionAlgorithm } from '../packet/NetworkSettingsPacket.es.js'; class RequestNetworkSettingsHandler { 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); } } export { RequestNetworkSettingsHandler as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdE5ldHdvcmtTZXR0aW5nc0hhbmRsZXIuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZXR3b3JrL2hhbmRsZXIvUmVxdWVzdE5ldHdvcmtTZXR0aW5nc0hhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IElkZW50aWZpZXJzIGZyb20gJy4uL0lkZW50aWZpZXJzJztcbmltcG9ydCB0eXBlIFNlcnZlciBmcm9tICcuLi8uLi9TZXJ2ZXInO1xuaW1wb3J0IHR5cGUgUmVxdWVzdE5ldHdvcmtTZXR0aW5nc1BhY2tldCBmcm9tICcuLi9wYWNrZXQvUmVxdWVzdE5ldHdvcmtTZXR0aW5nc1BhY2tldCc7XG5pbXBvcnQgdHlwZSBQcmVMb2dpblBhY2tldEhhbmRsZXIgZnJvbSAnLi9QcmVMb2dpblBhY2tldEhhbmRsZXInO1xuaW1wb3J0IHR5cGUgQ2xpZW50Q29ubmVjdGlvbiBmcm9tICcuLi9DbGllbnRDb25uZWN0aW9uJztcbmltcG9ydCBOZXR3b3JrU2V0dGluZ3NQYWNrZXQsIHtcbiAgICBQYWNrZXRDb21wcmVzc2lvbkFsZ29yaXRobSxcbiAgICBDb21wcmVzc2lvblRocmVzaG9sZFxufSBmcm9tICcuLi9wYWNrZXQvTmV0d29ya1NldHRpbmdzUGFja2V0JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVxdWVzdE5ldHdvcmtTZXR0aW5nc0hhbmRsZXIgaW1wbGVtZW50cyBQcmVMb2dpblBhY2tldEhhbmRsZXI8UmVxdWVzdE5ldHdvcmtTZXR0aW5nc1BhY2tldD4ge1xuICAgIHB1YmxpYyBzdGF0aWMgTmV0SUQgPSBJZGVudGlmaWVycy5SZXF1ZXN0TmV0d29ya1NldHRpbmdzUGFja2V0O1xuXG4gICAgcHVibGljIGFzeW5jIGhhbmRsZShcbiAgICAgICAgcGFja2V0OiBSZXF1ZXN0TmV0d29ya1NldHRpbmdzUGFja2V0LFxuICAgICAgICBfc2VydmVyOiBTZXJ2ZXIsXG4gICAgICAgIGNvbm5lY3Rpb246IENsaWVudENvbm5lY3Rpb25cbiAgICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHBhY2tldC5wcm90b2NvbFZlcnNpb24gIT09IElkZW50aWZpZXJzLlByb3RvY29sKSB7XG4gICAgICAgICAgICBjb25uZWN0aW9uLmRpc2Nvbm5lY3QoYFVuc3VwcG9ydGVkIHByb3RvY29sIHZlcnNpb246ICR7cGFja2V0LnByb3RvY29sVmVyc2lvbn1gKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ldHdvcmtTZXR0aW5ncyA9IG5ldyBOZXR3b3JrU2V0dGluZ3NQYWNrZXQoKTtcbiAgICAgICAgbmV0d29ya1NldHRpbmdzLmNvbXByZXNzaW9uVGhyZXNob2xkID0gQ29tcHJlc3Npb25UaHJlc2hvbGQuQ09NUFJFU1NfRVZFUllUSElORztcbiAgICAgICAgbmV0d29ya1NldHRpbmdzLmNvbXByZXNzaW9uQWxnb3JpdGhtID0gUGFja2V0Q29tcHJlc3Npb25BbGdvcml0aG0uWkxJQjtcbiAgICAgICAgbmV0d29ya1NldHRpbmdzLmNsaWVudFRocm90dGxpbmdFbmFibGVkID0gZmFsc2U7XG4gICAgICAgIG5ldHdvcmtTZXR0aW5ncy5jbGllbnRUaHJvdHRsZVRocmVzaG9sZCA9IDA7XG4gICAgICAgIG5ldHdvcmtTZXR0aW5ncy5jbGllbnRUaHJvdHRsZVNjYWxhciA9IDA7XG5cbiAgICAgICAgY29ubmVjdGlvbi5oYXNDb21wcmVzc2lvbiA9IHRydWU7XG5cbiAgICAgICAgLy8gU2VuZCBhcyB1bmNvbXByZXNzZWQsIHRoaXMgd2lsbCBpbml0aWFsaXplIGNvbXByZXNzaW9uXG4gICAgICAgIGF3YWl0IGNvbm5lY3Rpb24uc2VuZERhdGFQYWNrZXQobmV0d29ya1NldHRpbmdzLCBmYWxzZSk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVBLE1BQXFCLDZCQUE2RixDQUFBO0FBQUEsRUFDOUcsT0FBYyxRQUFRLFdBQVksQ0FBQSw0QkFBQTtBQUFBLEVBRWxDLE1BQWEsTUFBQSxDQUNULE1BQ0EsRUFBQSxPQUFBLEVBQ0EsVUFDYSxFQUFBO0FBQ2IsSUFBSSxJQUFBLE1BQUEsQ0FBTyxlQUFvQixLQUFBLFdBQUEsQ0FBWSxRQUFVLEVBQUE7QUFDakQsTUFBQSxVQUFBLENBQVcsVUFBVyxDQUFBLENBQUEsOEJBQUEsRUFBaUMsTUFBTyxDQUFBLGVBQWUsQ0FBRSxDQUFBLENBQUE7QUFDL0UsTUFBQTtBQUFBO0FBR0osSUFBTSxNQUFBLGVBQUEsR0FBa0IsSUFBSSxxQkFBc0IsRUFBQTtBQUNsRCxJQUFBLGVBQUEsQ0FBZ0IsdUJBQXVCLG9CQUFxQixDQUFBLG1CQUFBO0FBQzVELElBQUEsZUFBQSxDQUFnQix1QkFBdUIsMEJBQTJCLENBQUEsSUFBQTtBQUNsRSxJQUFBLGVBQUEsQ0FBZ0IsdUJBQTBCLEdBQUEsS0FBQTtBQUMxQyxJQUFBLGVBQUEsQ0FBZ0IsdUJBQTBCLEdBQUEsQ0FBQTtBQUMxQyxJQUFBLGVBQUEsQ0FBZ0Isb0JBQXVCLEdBQUEsQ0FBQTtBQUV2QyxJQUFBLFVBQUEsQ0FBVyxjQUFpQixHQUFBLElBQUE7QUFHNUIsSUFBTSxNQUFBLFVBQUEsQ0FBVyxjQUFlLENBQUEsZUFBQSxFQUFpQixLQUFLLENBQUE7QUFBQTtBQUU5RDs7OzsifQ==