SquadJS/squad-server/log-parser/new-game.js
ect0s 49809169b8 Player Connection/Disconnection Flow. cleareventStore caller
pending connection destroyed: error path for clients that fail to connect, required to cleanup connection state in this error case.

client-connected: Supersedes steamid connected, use base unreal engine client flow. Removes dependancy on EAC (broken as of squad 3.4). First step in resolving a new client connection. this gets us a connection id, steamid.

client-login: 2nd step in player connected flow, this setups the steamid into eventstore.steamid-connected.

playercontroller connected: gets us player controller. used in player connected flow.

player-connected: update to use new eventStore layout, now all players should always have suffix,steamid,controller. These are now also cached within the logparser for lookup. last step in player connected flow.

player-disconnected: uses new eventStore layout, marks players in eventStore.disconnected but doesn't remove cached players till map change; may be needed in cases with delayed logs, needs further testing. Broken as of Squad 3.4 due to EAC changes

steamid-connected: Removed in favor of client-connected, no longer works as of squad 3.4 due to EAC changes.
2022-11-09 20:20:50 -05:00

24 lines
575 B
JavaScript

export default {
regex:
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogWorld: Bringing World \/([A-z]+)\/(?:Maps\/)?([A-z0-9-]+)\/(?:.+\/)?([A-z0-9-]+)(?:\.[A-z0-9-]+)/,
onMatch: (args, logParser) => {
if (args[5] === 'TransitionMap') {
return;
}
const data = {
...logParser.eventStore.WON,
raw: args[0],
time: args[1],
chainID: args[2],
dlc: args[3],
mapClassname: args[4],
layerClassname: args[5]
};
delete logParser.eventStore.WON;
logParser.emit('NEW_GAME', data);
logParser.clearEventStore();
}
};