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.
Adds round-tickets regex to logparser; this will fire when the server prints new log lines related to tickets and factions.
Adds round-ended regex to log parser and event; this event forwards round tickets where we have both a winner and a loser to the main server object.
discord-roundended: This plugin is similar but functionally different from round winner, due to cases where the server experiences a draw.
We may miss admins going into camera in the case of RCON shutdowns/SquadJS restarts.
This code should guard a promise rejection in the case an admin is not in the current tracking list.
2.12 Squad, some layers have no vehicles, so when reading JSON from the wiki team we reject a promise because no data[t].vehicles property, this sets to empty array before we attempt a filter.
Should stop promise rejection during startup
Attempt at more Robust Regex
This regex searches for all the current information we get via the NewGame event, but with a few patterns that search deeper/different folder structures.
Appears to work on all base game content and mods that I have tested, however, mods may capture garbage information inside of mapClassname.
This will also fail if a modder puts no folders between the root of their project and their layers
/mymod/mymap
vs
/mymod/afolder/mymap
afolder would end up being the mapClassname.
https://regex101.com/r/e0Ui0K/1