mirror of
https://github.com/AsgardEternal/SquadJS.git
synced 2024-09-28 14:04:25 -05:00
refactor: updated log parsers for Squad V7
This commit is contained in:
parent
2905b229a7
commit
978ad35b3a
@ -1,20 +1,20 @@
|
|||||||
export default {
|
export default {
|
||||||
regex:
|
regex:
|
||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogNet: AddClientConnection: Added client connection: \[UNetConnection\] RemoteAddr: ([\d\.]+):[0-9]+, Name: (EOSIpNetConnection_[0-9]+), Driver: GameNetDriver (EOSNetDriver_[0-9]+), IsServer: YES, PC: NULL, Owner: NULL, UniqueId: INVALID/,
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogNet: AddClientConnection: Added client connection: \[UNetConnection\] RemoteAddr: ([\d.]+):[0-9]+, Name: (EOSIpNetConnection_[0-9]+), Driver: GameNetDriver (EOSNetDriver_[0-9]+), IsServer: YES, PC: NULL, Owner: NULL, UniqueId: INVALID/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
raw: args[ 0 ],
|
raw: args[0],
|
||||||
time: args[ 1 ],
|
time: args[1],
|
||||||
chainID: args[ 2 ],
|
chainID: args[2],
|
||||||
// steamID: args[ 3 ],
|
// steamID: args[ 3 ],
|
||||||
ip: args[ 3 ],
|
ip: args[3],
|
||||||
connection: args[ 4 ],
|
connection: args[4],
|
||||||
driver: args[ 5 ]
|
driver: args[5]
|
||||||
};
|
};
|
||||||
/* This is Called when unreal engine adds a client connection
|
/* This is Called when unreal engine adds a client connection
|
||||||
First Step in Adding a Player to server
|
First Step in Adding a Player to server
|
||||||
*/
|
*/
|
||||||
logParser.eventStore[ 'last-connection' ] = data;
|
logParser.eventStore['last-connection'] = data;
|
||||||
logParser.emit('ADDING_CLIENT_CONNECTION', data);
|
logParser.emit('ADDING_CLIENT_CONNECTION', data);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -3,13 +3,13 @@ export default {
|
|||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadCommon: SQCommonStatics Check Permissions, UniqueId:([\da-f]+)$/,
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadCommon: SQCommonStatics Check Permissions, UniqueId:([\da-f]+)$/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
raw: args[ 0 ],
|
raw: args[0],
|
||||||
time: args[ 1 ],
|
time: args[1],
|
||||||
chainID: +args[ 2 ],
|
chainID: +args[2],
|
||||||
eosID: args[ 3 ],
|
eosID: args[3]
|
||||||
};
|
};
|
||||||
|
|
||||||
logParser.eventStore.joinRequests[ data.chainID ].eosID = data.eosID;
|
logParser.eventStore.joinRequests[data.chainID].eosID = data.eosID;
|
||||||
logParser.emit('RESOLVED_EOS_ID', { ...logParser.eventStore.joinRequests[ data.chainID ] });
|
logParser.emit('RESOLVED_EOS_ID', { ...logParser.eventStore.joinRequests[data.chainID] });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -3,18 +3,18 @@ export default {
|
|||||||
/^\[([0-9.:-]+)]\[([ 0-9]+)]LogEOS: Verbose: \[LogEOSConnect] FConnectClient::CacheExternalAccountInfo - ProductUserId: (?<eosId>[0-9a-f]{32}), AccountType: (\d), AccountId: (?<steamId>[0-9]{17}), DisplayName: <Redacted>/,
|
/^\[([0-9.:-]+)]\[([ 0-9]+)]LogEOS: Verbose: \[LogEOSConnect] FConnectClient::CacheExternalAccountInfo - ProductUserId: (?<eosId>[0-9a-f]{32}), AccountType: (\d), AccountId: (?<steamId>[0-9]{17}), DisplayName: <Redacted>/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
raw: args[ 0 ],
|
raw: args[0],
|
||||||
time: args[ 1 ],
|
time: args[1],
|
||||||
chainID: args[ 2 ],
|
chainID: args[2],
|
||||||
eosID: args.groups.eosId,
|
eosID: args.groups.eosId,
|
||||||
steamID: args.groups.steamId,
|
steamID: args.groups.steamId
|
||||||
};
|
};
|
||||||
|
|
||||||
logParser.eventStore.players[ data.steamID ] = {
|
logParser.eventStore.players[data.steamID] = {
|
||||||
eosID: data.eosID,
|
eosID: data.eosID,
|
||||||
steamID: data.steamID
|
steamID: data.steamID
|
||||||
};
|
};
|
||||||
logParser.eventStore.playersEOS[ data.eosID ] = logParser.eventStore.players[ data.steamID ]
|
logParser.eventStore.playersEOS[data.eosID] = logParser.eventStore.players[data.steamID];
|
||||||
|
|
||||||
logParser.emit('CLIENT_EXTERNAL_ACCOUNT_INFO', data);
|
logParser.emit('CLIENT_EXTERNAL_ACCOUNT_INFO', data);
|
||||||
}
|
}
|
||||||
|
@ -3,18 +3,18 @@ export default {
|
|||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquad: Login: NewPlayer: EOSIpNetConnection \/Engine\/Transient\.(EOSIpNetConnection_[0-9]+)/,
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquad: Login: NewPlayer: EOSIpNetConnection \/Engine\/Transient\.(EOSIpNetConnection_[0-9]+)/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
raw: args[ 0 ],
|
raw: args[0],
|
||||||
time: args[ 1 ],
|
time: args[1],
|
||||||
chainID: args[ 2 ],
|
chainID: args[2],
|
||||||
connection: args[ 3 ]
|
connection: args[3]
|
||||||
};
|
};
|
||||||
/* This is Called when a player begins the Login process
|
/* This is Called when a player begins the Login process
|
||||||
We use this to get a SteamID into playerConnected.
|
We use this to get a SteamID into playerConnected.
|
||||||
2nd Step in player connected path
|
2nd Step in player connected path
|
||||||
*/
|
*/
|
||||||
|
|
||||||
logParser.eventStore.joinRequests[ data.chainID ].connection = data.connection;
|
logParser.eventStore.joinRequests[data.chainID].connection = data.connection;
|
||||||
delete logParser.eventStore.clients[ args[ 3 ] ];
|
delete logParser.eventStore.clients[args[3]];
|
||||||
logParser.emit('CLIENT_LOGIN', data);
|
logParser.emit('CLIENT_LOGIN', data);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -19,11 +19,12 @@ import ServerTickRate from './server-tick-rate.js';
|
|||||||
import AddingClientConnection from './adding-client-connection.js';
|
import AddingClientConnection from './adding-client-connection.js';
|
||||||
import ClientLogin from './client-login.js';
|
import ClientLogin from './client-login.js';
|
||||||
import PendingConnectionDestroyed from './pending-connection-destroyed.js';
|
import PendingConnectionDestroyed from './pending-connection-destroyed.js';
|
||||||
import clientExternalAccountInfo from './client-external-account-info.js';
|
import ClientExternalAccountInfo from './client-external-account-info.js';
|
||||||
import sendingAuthResult from './sending-auth-result.js';
|
import SendingAuthResult from './sending-auth-result.js';
|
||||||
import loginRequest from './login-request.js';
|
import LoginRequest from './login-request.js';
|
||||||
import joinRequest from './join-request.js';
|
import JoinRequest from './join-request.js';
|
||||||
import checkPermissionResolveEosid from './check-permission-resolve-eosid.js';
|
import PlayerJoinSucceeded from './player-join-succeeded.js';
|
||||||
|
import CheckPermissionResolveEosid from './check-permission-resolve-eosid.js';
|
||||||
export default class SquadLogParser extends LogParser {
|
export default class SquadLogParser extends LogParser {
|
||||||
constructor(options) {
|
constructor(options) {
|
||||||
super('SquadGame.log', options);
|
super('SquadGame.log', options);
|
||||||
@ -50,11 +51,12 @@ export default class SquadLogParser extends LogParser {
|
|||||||
AddingClientConnection,
|
AddingClientConnection,
|
||||||
ClientLogin,
|
ClientLogin,
|
||||||
PendingConnectionDestroyed,
|
PendingConnectionDestroyed,
|
||||||
clientExternalAccountInfo,
|
ClientExternalAccountInfo,
|
||||||
sendingAuthResult,
|
SendingAuthResult,
|
||||||
loginRequest,
|
LoginRequest,
|
||||||
joinRequest,
|
JoinRequest,
|
||||||
checkPermissionResolveEosid,
|
PlayerJoinSucceeded,
|
||||||
|
CheckPermissionResolveEosid
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,14 @@
|
|||||||
export default {
|
export default {
|
||||||
regex:
|
regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogNet: Join request: .+\?Name=(.+)\?SplitscreenCount=\d$/,
|
||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogNet: Join request: .+\?Name=(.+)\?SplitscreenCount=\d$/,
|
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
raw: args[ 0 ],
|
raw: args[0],
|
||||||
time: args[ 1 ],
|
time: args[1],
|
||||||
chainID: +args[ 2 ],
|
chainID: +args[2],
|
||||||
suffix: args[ 3 ],
|
suffix: args[3]
|
||||||
};
|
};
|
||||||
|
|
||||||
logParser.eventStore.joinRequests[ data.chainID ] = data;
|
logParser.eventStore.joinRequests[data.chainID] = data;
|
||||||
// console.log(logParser.eventStore.loginRequests[ data.chainID ])
|
// console.log(logParser.eventStore.loginRequests[ data.chainID ])
|
||||||
logParser.emit('CLIENT_JOIN_REQUEST', data);
|
logParser.emit('CLIENT_JOIN_REQUEST', data);
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,11 @@ export default {
|
|||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogNet: Login request: \?Name=(.+) userId: RedpointEOS:([\da-f]{32}) platform: RedpointEOS/,
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogNet: Login request: \?Name=(.+) userId: RedpointEOS:([\da-f]{32}) platform: RedpointEOS/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
raw: args[ 0 ],
|
raw: args[0],
|
||||||
time: args[ 1 ],
|
time: args[1],
|
||||||
chainID: +args[ 2 ],
|
chainID: +args[2],
|
||||||
suffix: args[ 3 ],
|
suffix: args[3],
|
||||||
eosID: args[ 4 ]
|
eosID: args[4]
|
||||||
};
|
};
|
||||||
|
|
||||||
// logParser.eventStore.loginRequests[ data.chainID ] = data;
|
// logParser.eventStore.loginRequests[ data.chainID ] = data;
|
||||||
|
@ -1,31 +1,20 @@
|
|||||||
export default {
|
export default {
|
||||||
regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogNet: Join succeeded: (.+)/,
|
regex:
|
||||||
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquad: PostLogin: NewPlayer: BP_PlayerController_C .+PersistentLevel\.([^\s]+) \(IP: ([\d.]+) \| Online IDs: EOS: ([0-9a-f]{32}) steam: (\d+)\)/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
raw: args[ 0 ],
|
raw: args[0],
|
||||||
time: args[ 1 ],
|
time: args[1],
|
||||||
chainID: +args[ 2 ],
|
chainID: +args[2],
|
||||||
playerSuffix: args[ 3 ]
|
ip: args[4],
|
||||||
|
eosID: args[5],
|
||||||
|
steamID: args[6]
|
||||||
};
|
};
|
||||||
|
|
||||||
// console.log(`ChainID: ${data.chainID}`, logParser.eventStore.joinRequests[ data.chainID ]);
|
const joinRequestData = logParser.eventStore.joinRequests[+args[2]];
|
||||||
const joinRequestsData = { ...logParser.eventStore.joinRequests[ data.chainID ] };
|
data.connection = joinRequestData.connection;
|
||||||
// console.log('loginRequestData', loginRequestData)
|
data.playerSuffix = joinRequestData.suffix;
|
||||||
|
|
||||||
data.eosID = joinRequestsData.eosID
|
|
||||||
data.controller = joinRequestsData.controller
|
|
||||||
data.steamID = `${logParser.eventStore.connectionIdToSteamID.get(joinRequestsData.connection)}`
|
|
||||||
|
|
||||||
logParser.eventStore.connectionIdToSteamID.delete(joinRequestsData.connection)
|
|
||||||
|
|
||||||
delete logParser.eventStore.joinRequests[ +data.chainID ];
|
|
||||||
|
|
||||||
// Handle Reconnecting players
|
|
||||||
if (logParser.eventStore.disconnected[ data.steamID ]) {
|
|
||||||
delete logParser.eventStore.disconnected[ data.steamID ];
|
|
||||||
}
|
|
||||||
logParser.emit('PLAYER_CONNECTED', data);
|
logParser.emit('PLAYER_CONNECTED', data);
|
||||||
// logParser.eventStore.players[ data.steamID ].suffix = data.playerSuffix
|
|
||||||
// logParser.eventStore.players[ data.steamID ].controller = data.controller
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export default {
|
export default {
|
||||||
regex:
|
regex:
|
||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquad: Player:(.+) ActualDamage=([0-9.]+) from (.+) caused by ([A-z_0-9-]+)_C/,
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquad: Player:(.+) ActualDamage=([0-9.]+) from (.+) \(Online IDs: EOS: ([0-9a-f]{32}) steam: (\d{17}) \| Player Controller ID: ([^ ]+)\)caused by ([A-z_0-9-]+)_C/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
raw: args[0],
|
raw: args[0],
|
||||||
@ -9,7 +9,10 @@ export default {
|
|||||||
victimName: args[3],
|
victimName: args[3],
|
||||||
damage: parseFloat(args[4]),
|
damage: parseFloat(args[4]),
|
||||||
attackerName: args[5],
|
attackerName: args[5],
|
||||||
weapon: args[6]
|
attackerEOSID: args[6],
|
||||||
|
attackerSteamID: args[7],
|
||||||
|
attackerController: args[8],
|
||||||
|
weapon: args[9]
|
||||||
};
|
};
|
||||||
|
|
||||||
logParser.eventStore.session[args[3]] = data;
|
logParser.eventStore.session[args[3]] = data;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export default {
|
export default {
|
||||||
regex:
|
regex:
|
||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadTrace: \[DedicatedServer](?:ASQSoldier::)?Die\(\): Player:(.+) KillingDamage=(?:-)*([0-9.]+) from ([A-z_0-9]+) caused by ([A-z_0-9-]+)_C/,
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadTrace: \[DedicatedServer](?:ASQSoldier::)?Die\(\): Player:(.+) KillingDamage=(?:-)*([0-9.]+) from ([A-z_0-9]+) \(Online IDs: EOS: ([\w\d]{32}) steam: (\d{17}) \| Contoller ID: ([\w\d]+)\) caused by ([A-z_0-9-]+)_C/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
...logParser.eventStore.session[args[3]],
|
...logParser.eventStore.session[args[3]],
|
||||||
@ -11,11 +11,15 @@ export default {
|
|||||||
victimName: args[3],
|
victimName: args[3],
|
||||||
damage: parseFloat(args[4]),
|
damage: parseFloat(args[4]),
|
||||||
attackerPlayerController: args[5],
|
attackerPlayerController: args[5],
|
||||||
weapon: args[6]
|
attackerEOSID: args[6],
|
||||||
|
attackerSteamID: args[7],
|
||||||
|
weapon: args[9]
|
||||||
};
|
};
|
||||||
|
|
||||||
logParser.eventStore.session[args[3]] = data;
|
logParser.eventStore.session[args[3]] = data;
|
||||||
|
|
||||||
|
console.log('Die', data);
|
||||||
|
|
||||||
logParser.emit('PLAYER_DIED', data);
|
logParser.emit('PLAYER_DIED', data);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,16 +1,18 @@
|
|||||||
export default {
|
export default {
|
||||||
regex:
|
regex:
|
||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogNet: UChannel::Close: Sending CloseBunch\. ChIndex == [0-9]+\. Name: \[UChannel\] ChIndex: [0-9]+, Closing: [0-9]+ \[UNetConnection\] RemoteAddr: ([0-9a-f]{32}):[0-9]+, Name: SteamNetConnection_[0-9]+, Driver: GameNetDriver SteamNetDriver_[0-9]+, IsServer: YES, PC: ([^ ]+PlayerController_C_[0-9]+), Owner: [^ ]+PlayerController_C_[0-9]+/,
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogNet: UChannel::Close: Sending CloseBunch\. ChIndex == [0-9]+\. Name: \[UChannel\] ChIndex: [0-9]+, Closing: [0-9]+ \[UNetConnection\] RemoteAddr: ([\d.]+):[\d]+, Name: EOSIpNetConnection_[0-9]+, Driver: GameNetDriver EOSNetDriver_[0-9]+, IsServer: YES, PC: ([^ ]+PlayerController_C_[0-9]+), Owner: [^ ]+PlayerController_C_[0-9]+, UniqueId: RedpointEOS:([\d\w]+)/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
raw: args[0],
|
raw: args[0],
|
||||||
time: args[1],
|
time: args[1],
|
||||||
chainID: args[2],
|
chainID: args[2],
|
||||||
steamID: args[3],
|
ip: args[3],
|
||||||
playerController: args[4]
|
playerController: args[4],
|
||||||
|
playerEOSID: args[5]
|
||||||
};
|
};
|
||||||
|
|
||||||
logParser.eventStore.disconnected[data.steamID] = true;
|
logParser.eventStore.disconnected[data.steamID] = true;
|
||||||
|
|
||||||
logParser.emit('PLAYER_DISCONNECTED', data);
|
logParser.emit('PLAYER_DISCONNECTED', data);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
28
squad-server/log-parser/player-join-succeeded.js
Normal file
28
squad-server/log-parser/player-join-succeeded.js
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
export default {
|
||||||
|
regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogNet: Join succeeded: (.+)/,
|
||||||
|
onMatch: (args, logParser) => {
|
||||||
|
const data = {
|
||||||
|
raw: args[0],
|
||||||
|
time: args[1],
|
||||||
|
chainID: +args[2],
|
||||||
|
playerSuffix: args[3]
|
||||||
|
};
|
||||||
|
|
||||||
|
const joinRequestsData = { ...logParser.eventStore.joinRequests[data.chainID] };
|
||||||
|
|
||||||
|
data.eosID = joinRequestsData.eosID;
|
||||||
|
data.controller = joinRequestsData.controller;
|
||||||
|
data.steamID = `${logParser.eventStore.connectionIdToSteamID.get(joinRequestsData.connection)}`;
|
||||||
|
|
||||||
|
logParser.eventStore.connectionIdToSteamID.delete(joinRequestsData.connection);
|
||||||
|
|
||||||
|
delete logParser.eventStore.joinRequests[+data.chainID];
|
||||||
|
|
||||||
|
// Handle Reconnecting players
|
||||||
|
if (logParser.eventStore.disconnected[data.steamID]) {
|
||||||
|
delete logParser.eventStore.disconnected[data.steamID];
|
||||||
|
}
|
||||||
|
|
||||||
|
logParser.emit('JOIN_SUCCEEDED', data);
|
||||||
|
}
|
||||||
|
};
|
@ -1,13 +1,15 @@
|
|||||||
export default {
|
export default {
|
||||||
regex:
|
regex:
|
||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadTrace: \[DedicatedServer](?:ASQPlayerController::)?OnPossess\(\): PC=(.+) Pawn=([A-z0-9_]+)_C/,
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadTrace: \[DedicatedServer](?:ASQPlayerController::)?OnPossess\(\): PC=(.+) \(Online IDs: EOS: ([\w\d]{32}) steam: (\d{17})\) Pawn=([A-z0-9_]+)_C/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
raw: args[0],
|
raw: args[0],
|
||||||
time: args[1],
|
time: args[1],
|
||||||
chainID: args[2],
|
chainID: args[2],
|
||||||
playerSuffix: args[3],
|
playerSuffix: args[3],
|
||||||
possessClassname: args[4],
|
playerEOSID: args[4],
|
||||||
|
playerSteamID: args[5],
|
||||||
|
possessClassname: args[6],
|
||||||
pawn: args[5]
|
pawn: args[5]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
export default {
|
export default {
|
||||||
// the names are currently the wrong way around in these logs
|
// the names are currently the wrong way around in these logs
|
||||||
regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquad: (.+) has revived (.+)\./,
|
regex:
|
||||||
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquad: (.+) \(Online IDs: EOS: ([0-9a-f]{32}) steam: (\d{17})\) has revived (.+) \(Online IDs: EOS: ([0-9a-f]{32}) steam: (\d{17})\)\./,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
...logParser.eventStore.session[args[3]],
|
...logParser.eventStore.session[args[3]],
|
||||||
@ -8,7 +9,11 @@ export default {
|
|||||||
time: args[1],
|
time: args[1],
|
||||||
chainID: args[2],
|
chainID: args[2],
|
||||||
reviverName: args[3],
|
reviverName: args[3],
|
||||||
victimName: args[4]
|
reviverEOSID: args[4],
|
||||||
|
reviverSteamID: args[5],
|
||||||
|
victimName: args[6],
|
||||||
|
victimEOSID: args[7],
|
||||||
|
victimSteamID: args[8]
|
||||||
};
|
};
|
||||||
|
|
||||||
logParser.emit('PLAYER_REVIVED', data);
|
logParser.emit('PLAYER_REVIVED', data);
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
export default {
|
export default {
|
||||||
regex:
|
regex:
|
||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadTrace: \[DedicatedServer](?:ASQPlayerController::)?OnUnPossess\(\): PC=(.+)/,
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadTrace: \[DedicatedServer](?:ASQPlayerController::)?OnUnPossess\(\): PC=(.+) \(Online IDs: EOS: ([\w\d]{32}) steam: (\d{17})\)/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
raw: args[0],
|
raw: args[0],
|
||||||
time: args[1],
|
time: args[1],
|
||||||
chainID: args[2],
|
chainID: args[2],
|
||||||
playerSuffix: args[3],
|
playerSuffix: args[3],
|
||||||
|
playerEOSID: args[4],
|
||||||
|
playerSteamID: args[5],
|
||||||
switchPossess:
|
switchPossess:
|
||||||
args[3] in logParser.eventStore.session && logParser.eventStore.session[args[3]] === args[2]
|
args[4] in logParser.eventStore.session && logParser.eventStore.session[args[4]] === args[2]
|
||||||
};
|
};
|
||||||
|
|
||||||
delete logParser.eventStore.session[args[3]];
|
delete logParser.eventStore.session[args[3]];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export default {
|
export default {
|
||||||
regex:
|
regex:
|
||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadTrace: \[DedicatedServer](?:ASQSoldier::)?Wound\(\): Player:(.+) KillingDamage=(?:-)*([0-9.]+) from ([A-z_0-9]+) caused by ([A-z_0-9-]+)_C/,
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadTrace: \[DedicatedServer](?:ASQSoldier::)?Wound\(\): Player:(.+) KillingDamage=(?:-)*([0-9.]+) from ([A-z_0-9]+) \(Online IDs: EOS: ([\w\d]{32}) steam: (\d{17}) \| Controller ID: ([\w\d]+)\) caused by ([A-z_0-9-]+)_C/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
...logParser.eventStore.session[args[3]],
|
...logParser.eventStore.session[args[3]],
|
||||||
@ -10,7 +10,9 @@ export default {
|
|||||||
victimName: args[3],
|
victimName: args[3],
|
||||||
damage: parseFloat(args[4]),
|
damage: parseFloat(args[4]),
|
||||||
attackerPlayerController: args[5],
|
attackerPlayerController: args[5],
|
||||||
weapon: args[6]
|
attackerEOSID: args[6],
|
||||||
|
attackerSteamID: args[7],
|
||||||
|
weapon: args[9]
|
||||||
};
|
};
|
||||||
|
|
||||||
logParser.eventStore.session[args[3]] = data;
|
logParser.eventStore.session[args[3]] = data;
|
||||||
|
@ -3,13 +3,13 @@ export default {
|
|||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquad: PostLogin: NewPlayer: BP_PlayerController_C .+(BP_PlayerController_C_[0-9]+)/,
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquad: PostLogin: NewPlayer: BP_PlayerController_C .+(BP_PlayerController_C_[0-9]+)/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
const data = {
|
const data = {
|
||||||
raw: args[ 0 ],
|
raw: args[0],
|
||||||
time: args[ 1 ],
|
time: args[1],
|
||||||
chainID: +args[ 2 ],
|
chainID: +args[2],
|
||||||
controller: args[ 3 ]
|
controller: args[3]
|
||||||
};
|
};
|
||||||
|
|
||||||
logParser.eventStore.joinRequests[ data.chainID ].controller = data.controller;
|
logParser.eventStore.joinRequests[data.chainID].controller = data.controller;
|
||||||
logParser.emit('PLAYER_CONTROLLER_CONNECTED', data);
|
logParser.emit('PLAYER_CONTROLLER_CONNECTED', data);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -2,20 +2,20 @@ export default {
|
|||||||
regex:
|
regex:
|
||||||
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogOnline: STEAM: AUTH HANDLER: Sending auth result to user (\d{17}) with flag success\? 1/,
|
/^\[([0-9.:-]+)]\[([ 0-9]*)]LogOnline: STEAM: AUTH HANDLER: Sending auth result to user (\d{17}) with flag success\? 1/,
|
||||||
onMatch: (args, logParser) => {
|
onMatch: (args, logParser) => {
|
||||||
if (!logParser.eventStore[ 'last-connection' ]) return;
|
if (!logParser.eventStore['last-connection']) return;
|
||||||
|
|
||||||
const data = {
|
const data = {
|
||||||
...logParser.eventStore[ 'last-connection' ],
|
...logParser.eventStore['last-connection'],
|
||||||
steamID: args[ 3 ]
|
steamID: args[3]
|
||||||
};
|
};
|
||||||
/* This is Called when unreal engine adds a client connection
|
/* This is Called when unreal engine adds a client connection
|
||||||
First Step in Adding a Player to server
|
First Step in Adding a Player to server
|
||||||
*/
|
*/
|
||||||
|
|
||||||
logParser.eventStore.clients[ data.connection ] = data.steamID;
|
logParser.eventStore.clients[data.connection] = data.steamID;
|
||||||
logParser.eventStore.connectionIdToSteamID.set(data.connection, data.steamID)
|
logParser.eventStore.connectionIdToSteamID.set(data.connection, data.steamID);
|
||||||
logParser.emit('CLIENT_CONNECTED', data);
|
logParser.emit('CLIENT_CONNECTED', data);
|
||||||
|
|
||||||
delete logParser.eventStore[ 'last-connection' ];
|
delete logParser.eventStore['last-connection'];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user