diff --git a/src/server/GameServer.ts b/src/server/GameServer.ts index 7832e8eb0..16d894ba0 100644 --- a/src/server/GameServer.ts +++ b/src/server/GameServer.ts @@ -202,6 +202,7 @@ export class GameServer { } satisfies ServerErrorMessage), ); client.ws.close(1002, "ClientMessageSchema"); + client.ws.removeAllListeners(); return; } const clientMsg = parsed.data; @@ -259,6 +260,7 @@ export class GameServer { }); client.ws.on("error", (error: Error) => { if ((error as any).code === "WS_ERR_UNEXPECTED_RSV_1") { + client.ws.removeAllListeners(); client.ws.close(1002, "WS_ERR_UNEXPECTED_RSV_1"); } }); @@ -458,6 +460,7 @@ export class GameServer { }); if (client.ws.readyState === WebSocket.OPEN) { client.ws.close(1000, "no heartbeats received, closing connection"); + client.ws.removeAllListeners(); } } else { alive.push(client);