diff --git a/classes/Server.ts b/classes/Server.ts index af76754..660a695 100644 --- a/classes/Server.ts +++ b/classes/Server.ts @@ -47,18 +47,20 @@ export class Server { socket.data.dataBuffer = data; } log.debug("Socket", socket.remoteAddress, "has", socket.data.dataBuffer.length, "data for parsing."); - + const parseBuffer = () => { if(!socket.data.dataBuffer) return; const packetId = socket.data.dataBuffer.readUint8(0); const packetLength = this.lengthMap.get(packetId); if(!packetLength) { + log.debug("Incorrect packet ID", packetId, "packet length could not be found.") return; }; if(socket.data.dataBuffer.byteLength < packetLength) return; - this.handlePacket(socket.data.dataBuffer.copyWithin(0, 1), packetId, socket); + this.handlePacket(socket.data.dataBuffer.subarray(1), packetId, socket); + log.debug("Parsed packet", packetId, "with packet length", packetLength) socket.data.dataBuffer = socket.data.dataBuffer.subarray(packetLength+1); parseBuffer(); }