implement multiplayer direct connect, implement network manager, implement handshake and login packets, implement ByteBuf, implement RSA and AES encryption, bump version to 1.1.0

This commit is contained in:
LabyStudio
2022-06-17 06:34:09 +02:00
parent 22872f55d6
commit 410346427f
35 changed files with 2513 additions and 10 deletions
@@ -0,0 +1,31 @@
import PacketHandler from "../PacketHandler.js";
import EncryptionResponsePacket from "../packet/login/client/EncryptionResponsePacket.js";
import CryptManager from "../util/CryptManager.js";
import GuiDisconnected from "../../gui/screens/GuiDisconnected.js";
export default class NetworkLoginHandler extends PacketHandler {
constructor(networkManager) {
super();
this.networkManager = networkManager;
}
handleEncryptionRequest(packet) {
let secretKey = CryptManager.createNewSharedKey();
this.networkManager.sendPacket(new EncryptionResponsePacket(secretKey, packet.publicKey, packet.verifyToken));
// Enable encryption
this.networkManager.enableEncryption(secretKey);
}
handleLoginDisconnect(packet) {
console.log("[Network] Disconnected from server: " + packet.message);
this.networkManager.minecraft.displayScreen(new GuiDisconnected(packet.message));
}
onDisconnect() {
}
}