Files
2026-08-24 22:20:36 +02:00

42 lines
1.1 KiB
JavaScript

const Game = require("../Game/Game");
const { players } = Game;
const extractBehaviourFeatures = require("../Utility/extractBehaviourFeatures");
// const NORMAL_CLOSE_CODES = [0, 1, 2];
module.exports = function (ws, code, message) {
if (code === 1337) return;
const player = players[ws.accountID];
if (!player) {
ws.isInterrupted = true;
delete socket.sockets[ws.id];
return;
};
const playerActions = global.actions[player.id];
const features = extractBehaviourFeatures(playerActions);
delete global.actions[player.id];
if (features) {
features.playerID = player.id;
features.timestampStart = new Date(ws.connectedAt);
global.StatisticsWorker.postMessage({
id: 2,
data: features
});
};
player.inDistance = {};
player.isAvailable = false;
player.hasUnexpectedlyLeft = true;
const individualPackets = player.map.networkPacketsInvidiual[player.id];
if (individualPackets) individualPackets.length = 0;
console.info("close event", performance.now());
delete socket.sockets[ws.id];
};