@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
155 lines (148 loc) • 11 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
require('node:fs');
require('confbox');
require('@jsprismarine/errors');
require('@jsprismarine/jsbinaryutils');
require('node:assert');
require('node:path');
require('node:process');
require('../block/BlockToolType.cjs.cjs');
require('@jsprismarine/bedrock-data');
require('@jsprismarine/nbt');
require('zlib');
require('@jsprismarine/math');
require('@jsprismarine/minecraft');
require('./packet/AddActorPacket.cjs.cjs');
require('./packet/MoveActorAbsolutePacket.cjs.cjs');
require('./packet/RemoveActorPacket.cjs.cjs');
require('node:crypto');
require('./packet/ActorFallPacket.cjs.cjs');
require('./packet/AddItemActorPacket.cjs.cjs');
require('./packet/AddPlayerPacket.cjs.cjs');
require('./packet/AnimatePacket.cjs.cjs');
require('./packet/AvailableActorIdentifiersPacket.cjs.cjs');
require('./packet/AvailableCommandsPacket.cjs.cjs');
require('./CompressionProvider.cjs.cjs');
require('./packet/NetworkSettingsPacket.cjs.cjs');
require('./packet/BiomeDefinitionListPacket.cjs.cjs');
require('./packet/ChangeDimensionPacket.cjs.cjs');
require('./packet/ChunkRadiusUpdatedPacket.cjs.cjs');
require('./packet/CommandRequestPacket.cjs.cjs');
require('./packet/ContainerClosePacket.cjs.cjs');
require('./packet/ContainerOpenPacket.cjs.cjs');
require('./packet/CreativeContentPacket.cjs.cjs');
const network_packet_DisconnectPacket = require('./packet/DisconnectPacket.cjs.cjs');
require('./packet/EmoteListPacket.cjs.cjs');
require('./packet/InteractPacket.cjs.cjs');
require('./packet/InventoryContentPacket.cjs.cjs');
require('./packet/InventoryTransactionPacket.cjs.cjs');
require('./packet/ItemComponentPacket.cjs.cjs');
require('./packet/ItemStackRequestPacket.cjs.cjs');
require('./packet/ItemStackResponsePacket.cjs.cjs');
require('./packet/LevelChunkPacket.cjs.cjs');
require('./packet/LevelSoundEventPacket.cjs.cjs');
require('./packet/LoginPacket.cjs.cjs');
require('./packet/MobEquipmentPacket.cjs.cjs');
require('./packet/MovePlayerPacket.cjs.cjs');
require('./packet/NetworkChunkPublisherUpdatePacket.cjs.cjs');
require('./packet/OnScreenTextureAnimationPacket.cjs.cjs');
require('./packet/PacketViolationWarningPacket.cjs.cjs');
require('./packet/PlaySoundPacket.cjs.cjs');
require('./packet/PlayStatusPacket.cjs.cjs');
require('./packet/PlayerActionPacket.cjs.cjs');
require('./packet/PlayerListPacket.cjs.cjs');
require('./packet/PlayerSkinPacket.cjs.cjs');
require('./packet/RequestChunkRadiusPacket.cjs.cjs');
require('./packet/RequestNetworkSettingsPacket.cjs.cjs');
require('./packet/ResourcePackResponsePacket.cjs.cjs');
require('./packet/ResourcePackStackPacket.cjs.cjs');
require('./packet/ResourcePacksInfoPacket.cjs.cjs');
require('./packet/ServerSettingsRequestPacket.cjs.cjs');
require('./packet/SetActorDataPacket.cjs.cjs');
require('./packet/SetDefaultGametypePacket.cjs.cjs');
require('./packet/SetHealthPacket.cjs.cjs');
require('./packet/SetLocalPlayerAsInitializedPacket.cjs.cjs');
require('./packet/SetPlayerGametypePacket.cjs.cjs');
require('./packet/SetTimePacket.cjs.cjs');
require('./packet/ShowProfilePacket.cjs.cjs');
require('./packet/StartGamePacket.cjs.cjs');
require('./packet/TextPacket.cjs.cjs');
require('./packet/TickSyncPacket.cjs.cjs');
require('./packet/TransferPacket.cjs.cjs');
require('./packet/UpdateAdventureSettingsPacket.cjs.cjs');
require('./packet/UpdateAttributesPacket.cjs.cjs');
require('./packet/UpdateBlockPacket.cjs.cjs');
require('./packet/WorldEventPacket.cjs.cjs');
require('@jsprismarine/brigadier');
require('../config/Config.cjs.cjs');
require('./handler/AnimateHandler.cjs.cjs');
require('./handler/CommandRequestHandler.cjs.cjs');
require('./handler/ContainerCloseHandler.cjs.cjs');
require('./handler/EmoteListHandler.cjs.cjs');
require('./handler/InteractHandler.cjs.cjs');
require('./handler/InventoryTransactionHandler.cjs.cjs');
require('./handler/LevelSoundEventHandler.cjs.cjs');
require('./handler/LoginHandler.cjs.cjs');
require('./handler/MobEquipmentHandler.cjs.cjs');
require('./handler/MovePlayerHandler.cjs.cjs');
require('./handler/PacketViolationWarningHandler.cjs.cjs');
require('./handler/PlayerActionHandler.cjs.cjs');
require('./handler/RequestChunkRadiusHandler.cjs.cjs');
require('./handler/RequestNetworkSettingsHandler.cjs.cjs');
require('./handler/ResourcePackResponseHandler.cjs.cjs');
require('./handler/ServerSettingsRequestHandler.cjs.cjs');
require('./handler/SetDefaultGametypeHandler.cjs.cjs');
require('./handler/SetLocalPlayerAsInitializedHandler.cjs.cjs');
require('./handler/SetPlayerGametypeHandler.cjs.cjs');
require('./handler/TextHandler.cjs.cjs');
require('./handler/TickSyncHandler.cjs.cjs');
require('node:readline');
const network_PlayerSession = require('./PlayerSession.cjs.cjs');
require('@jsprismarine/raknet');
require('evt');
const assert = require('assert');
const network_MinecraftSession = require('./MinecraftSession.cjs.cjs');
const _interopDefault = e => e && e.__esModule ? e : { default: e };
const assert__default = /*#__PURE__*/_interopDefault(assert);
class ClientConnection extends network_MinecraftSession.default {
playerSession = null;
hasCompression = false;
constructor(session, logger) {
super(session, logger);
}
/**
* @internal
*
* @param server - the server instance
* @param player - the player instance
* @returns the new player session
*/
initPlayerConnection(server, player) {
assert__default.default(this.playerSession === null, "Player session was already created");
this.playerSession = new network_PlayerSession.default(server, this, player);
return this.playerSession;
}
async closePlayerSession() {
if (this.playerSession !== null) {
await this.playerSession.getPlayer().disable();
this.playerSession = null;
}
}
disconnect(reason = "disconnect.disconnected", hideReason = true) {
const packet = new network_packet_DisconnectPacket.default();
packet.skipMessage = hideReason;
packet.message = reason;
void this.sendDataPacket(packet);
this.closePlayerSession();
this.forceDisconnect();
}
getPlayerSession() {
return this.playerSession;
}
getRakNetSession() {
return this.rakSession;
}
}
exports.default = ClientConnection;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50Q29ubmVjdGlvbi5janMuY2pzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29yay9DbGllbnRDb25uZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGxheWVyLCBTZXJ2ZXIgfSBmcm9tICcuLi8nO1xuaW1wb3J0IHsgUGxheWVyU2Vzc2lvbiB9IGZyb20gJy4uLyc7XG5cbmltcG9ydCB0eXBlIHsgTG9nZ2VyIH0gZnJvbSAnQGpzcHJpc21hcmluZS9sb2dnZXInO1xuaW1wb3J0IHR5cGUgeyBSYWtOZXRTZXNzaW9uIH0gZnJvbSAnQGpzcHJpc21hcmluZS9yYWtuZXQnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IE1pbmVjcmFmdFNlc3Npb24gZnJvbSAnLi9NaW5lY3JhZnRTZXNzaW9uJztcbmltcG9ydCB7IERpc2Nvbm5lY3RQYWNrZXQgfSBmcm9tICcuL1BhY2tldHMnO1xuXG4vKipcbiAqIEhhbmRsZXMgdGhlIGNvbm5lY3Rpb24gYmVmb3JlIHRoZSBwbGF5ZXIgY3JlYXRpb24gaXRzZWxmLCB2ZXJ5IGhlbHBmdWwgYXNcbiAqIGl0IGhlbHBzIHRvIG5vdCB3YXN0ZSByZXNvdXJjZXMgaW4gY2FzZSB0aGUgY2xpZW50IHRyeWluZyB0byBjb25uZWN0IGlzIHNpbXBseVxuICogb3V0ZGF0ZWQgb3Igc2VuZHMgaW52YWxpZCBkYXRhIGR1cmluZyB0aGUgbG9naW4gaGFuZHNoYWtlLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDbGllbnRDb25uZWN0aW9uIGV4dGVuZHMgTWluZWNyYWZ0U2Vzc2lvbiB7XG4gICAgcHJpdmF0ZSBwbGF5ZXJTZXNzaW9uOiBQbGF5ZXJTZXNzaW9uIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGhhc0NvbXByZXNzaW9uID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3Ioc2Vzc2lvbjogUmFrTmV0U2Vzc2lvbiwgbG9nZ2VyOiBMb2dnZXIpIHtcbiAgICAgICAgc3VwZXIoc2Vzc2lvbiwgbG9nZ2VyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZXJ2ZXIgLSB0aGUgc2VydmVyIGluc3RhbmNlXG4gICAgICogQHBhcmFtIHBsYXllciAtIHRoZSBwbGF5ZXIgaW5zdGFuY2VcbiAgICAgKiBAcmV0dXJucyB0aGUgbmV3IHBsYXllciBzZXNzaW9uXG4gICAgICovXG4gICAgcHVibGljIGluaXRQbGF5ZXJDb25uZWN0aW9uKHNlcnZlcjogU2VydmVyLCBwbGF5ZXI6IFBsYXllcik6IFBsYXllclNlc3Npb24ge1xuICAgICAgICBhc3NlcnQodGhpcy5wbGF5ZXJTZXNzaW9uID09PSBudWxsLCAnUGxheWVyIHNlc3Npb24gd2FzIGFscmVhZHkgY3JlYXRlZCcpO1xuXG4gICAgICAgIHRoaXMucGxheWVyU2Vzc2lvbiA9IG5ldyBQbGF5ZXJTZXNzaW9uKHNlcnZlciwgdGhpcywgcGxheWVyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheWVyU2Vzc2lvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY2xvc2VQbGF5ZXJTZXNzaW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5wbGF5ZXJTZXNzaW9uICE9PSBudWxsKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnBsYXllclNlc3Npb24uZ2V0UGxheWVyKCkuZGlzYWJsZSgpO1xuICAgICAgICAgICAgdGhpcy5wbGF5ZXJTZXNzaW9uID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkaXNjb25uZWN0KHJlYXNvbiA9ICdkaXNjb25uZWN0LmRpc2Nvbm5lY3RlZCcsIGhpZGVSZWFzb24gPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBhY2tldCA9IG5ldyBEaXNjb25uZWN0UGFja2V0KCk7XG4gICAgICAgIHBhY2tldC5za2lwTWVzc2FnZSA9IGhpZGVSZWFzb247XG4gICAgICAgIHBhY2tldC5tZXNzYWdlID0gcmVhc29uO1xuICAgICAgICB2b2lkIHRoaXMuc2VuZERhdGFQYWNrZXQocGFja2V0KTtcblxuICAgICAgICB0aGlzLmNsb3NlUGxheWVyU2Vzc2lvbigpO1xuXG4gICAgICAgIC8vIEZvcmNlIFJha05ldCB0byByZW1vdmUgdGhlIHNlc3Npb25cbiAgICAgICAgLy8gc28gd2UgZG9uJ3QgaGF2ZSB0byBoYW5kbGUgdGhlIGRlYWQgc2Vzc2lvblxuICAgICAgICB0aGlzLmZvcmNlRGlzY29ubmVjdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQbGF5ZXJTZXNzaW9uKCk6IFBsYXllclNlc3Npb24gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheWVyU2Vzc2lvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmFrTmV0U2Vzc2lvbigpOiBSYWtOZXRTZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmFrU2Vzc2lvbjtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsiTWluZWNyYWZ0U2Vzc2lvbiIsImFzc2VydCIsIlBsYXllclNlc3Npb24iLCJEaXNjb25uZWN0UGFja2V0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBY0EsTUFBcUIseUJBQXlCQSxnQ0FBaUIsQ0FBQTtBQUFBLEVBQ25ELGFBQXNDLEdBQUEsSUFBQTtBQUFBLEVBQ3ZDLGNBQWlCLEdBQUEsS0FBQTtBQUFBLEVBRWpCLFdBQUEsQ0FBWSxTQUF3QixNQUFnQixFQUFBO0FBQ3ZELElBQUEsS0FBQSxDQUFNLFNBQVMsTUFBTSxDQUFBO0FBQUE7QUFDekI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNPLG9CQUFBLENBQXFCLFFBQWdCLE1BQStCLEVBQUE7QUFDdkUsSUFBT0MsdUJBQUEsQ0FBQSxJQUFBLENBQUssYUFBa0IsS0FBQSxJQUFBLEVBQU0sb0NBQW9DLENBQUE7QUFFeEUsSUFBQSxJQUFBLENBQUssYUFBZ0IsR0FBQSxJQUFJQyw2QkFBYyxDQUFBLE1BQUEsRUFBUSxNQUFNLE1BQU0sQ0FBQTtBQUMzRCxJQUFBLE9BQU8sSUFBSyxDQUFBLGFBQUE7QUFBQTtBQUNoQixFQUVBLE1BQWEsa0JBQW9DLEdBQUE7QUFDN0MsSUFBSSxJQUFBLElBQUEsQ0FBSyxrQkFBa0IsSUFBTSxFQUFBO0FBQzdCLE1BQUEsTUFBTSxJQUFLLENBQUEsYUFBQSxDQUFjLFNBQVUsRUFBQSxDQUFFLE9BQVEsRUFBQTtBQUM3QyxNQUFBLElBQUEsQ0FBSyxhQUFnQixHQUFBLElBQUE7QUFBQTtBQUN6QjtBQUNKLEVBRU8sVUFBVyxDQUFBLE1BQUEsR0FBUyx5QkFBMkIsRUFBQSxVQUFBLEdBQWEsSUFBWSxFQUFBO0FBQzNFLElBQU0sTUFBQSxNQUFBLEdBQVMsSUFBSUMsdUNBQWlCLEVBQUE7QUFDcEMsSUFBQSxNQUFBLENBQU8sV0FBYyxHQUFBLFVBQUE7QUFDckIsSUFBQSxNQUFBLENBQU8sT0FBVSxHQUFBLE1BQUE7QUFDakIsSUFBSyxLQUFBLElBQUEsQ0FBSyxlQUFlLE1BQU0sQ0FBQTtBQUUvQixJQUFBLElBQUEsQ0FBSyxrQkFBbUIsRUFBQTtBQUl4QixJQUFBLElBQUEsQ0FBSyxlQUFnQixFQUFBO0FBQUE7QUFDekIsRUFFTyxnQkFBeUMsR0FBQTtBQUM1QyxJQUFBLE9BQU8sSUFBSyxDQUFBLGFBQUE7QUFBQTtBQUNoQixFQUVPLGdCQUFrQyxHQUFBO0FBQ3JDLElBQUEsT0FBTyxJQUFLLENBQUEsVUFBQTtBQUFBO0FBRXBCOzs7OyJ9