mirror of
https://github.com/AsgardEternal/SquadJS.git
synced 2024-09-28 14:04:25 -05:00
Fixed bug #148. Added PLAYER_DISCONNECTED event
This commit is contained in:
parent
e396478ff2
commit
0e7bc2fc91
@ -28,7 +28,11 @@
|
||||
"username": "squadjs",
|
||||
"password": "password",
|
||||
"database": "squadjs",
|
||||
"dialect": "mysql"
|
||||
"dialect": "mysql",
|
||||
"define": {
|
||||
"charset": "utf8mb4",
|
||||
"collate": "utf8mb4_unicode_ci"
|
||||
}
|
||||
}
|
||||
},
|
||||
"plugins": [
|
||||
|
@ -110,6 +110,10 @@ export default class SquadServerFactory {
|
||||
|
||||
if (typeof connectorConfig === 'string') {
|
||||
connector = new Sequelize(connectorConfig, {
|
||||
define: {
|
||||
charset: 'utf8mb4',
|
||||
collate: 'utf8mb4_unicode_ci'
|
||||
},
|
||||
logging: (msg) => Logger.verbose('Sequelize', 3, msg)
|
||||
});
|
||||
} else if (typeof connectorConfig === 'object') {
|
||||
|
@ -178,6 +178,16 @@ export default class SquadServer extends EventEmitter {
|
||||
this.emit('PLAYER_CONNECTED', data);
|
||||
});
|
||||
|
||||
this.logParser.on('PLAYER_DISCONNECTED', async (data) => {
|
||||
data.player = await this.getPlayerBySteamID(data.steamID);
|
||||
if (data.player) data.player.suffix = data.playerSuffix;
|
||||
|
||||
delete data.steamID;
|
||||
delete data.playerSuffix;
|
||||
|
||||
this.emit('PLAYER_DISCONNECTED', data);
|
||||
});
|
||||
|
||||
this.logParser.on('PLAYER_DAMAGED', async (data) => {
|
||||
data.victim = await this.getPlayerByName(data.victimName);
|
||||
data.attacker = await this.getPlayerByName(data.attackerName);
|
||||
|
@ -4,6 +4,7 @@ import AdminBroadcast from './admin-broadcast.js';
|
||||
import DeployableDamaged from './deployable-damaged.js';
|
||||
import NewGame from './new-game.js';
|
||||
import PlayerConnected from './player-connected.js';
|
||||
import PlayerDisconnected from './player-disconnected.js';
|
||||
import PlayerDamaged from './player-damaged.js';
|
||||
import PlayerDied from './player-died.js';
|
||||
import PlayerPossess from './player-possess.js';
|
||||
@ -25,6 +26,7 @@ export default class SquadLogParser extends LogParser {
|
||||
DeployableDamaged,
|
||||
NewGame,
|
||||
PlayerConnected,
|
||||
PlayerDisconnected,
|
||||
PlayerDamaged,
|
||||
PlayerDied,
|
||||
PlayerPossess,
|
||||
|
@ -9,6 +9,7 @@ export default {
|
||||
steamID: logParser.eventStore['steamid-connected']
|
||||
};
|
||||
|
||||
logParser.eventStore[`player-name-tracker-${data.steamID}`] = data.playerSuffix;
|
||||
logParser.emit('PLAYER_CONNECTED', data);
|
||||
}
|
||||
};
|
||||
|
19
squad-server/log-parser/player-disconnected.js
Normal file
19
squad-server/log-parser/player-disconnected.js
Normal file
@ -0,0 +1,19 @@
|
||||
export default {
|
||||
regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogEasyAntiCheatServer: \[[0-9:]+]\[[A-z]+]\[EAC Server] \[Info]\[UnregisterClient] Client: ([A-z0-9]+) PlayerGUID: ([0-9]{17})/,
|
||||
onMatch: (args, logParser) => {
|
||||
const playerTrackerObjectName = `player-name-tracker-${args[4]}`;
|
||||
|
||||
const data = {
|
||||
raw: args[0],
|
||||
time: args[1],
|
||||
chainID: args[2],
|
||||
playerSuffix: logParser.eventStore[playerTrackerObjectName] ? logParser.eventStore[playerTrackerObjectName] : 'Unknown',
|
||||
steamID: args[4]
|
||||
};
|
||||
|
||||
if (logParser.eventStore[playerTrackerObjectName])
|
||||
delete logParser.eventStore[playerTrackerObjectName];
|
||||
|
||||
logParser.emit('PLAYER_DISCONNECTED', data);
|
||||
}
|
||||
};
|
@ -137,6 +137,9 @@ export default class DBLog extends BasePlugin {
|
||||
lastName: {
|
||||
type: DataTypes.STRING
|
||||
}
|
||||
}, {
|
||||
charset: 'utf8mb4',
|
||||
collate: 'utf8mb4_unicode_ci'
|
||||
});
|
||||
|
||||
this.createModel('Wound', {
|
||||
@ -176,6 +179,9 @@ export default class DBLog extends BasePlugin {
|
||||
teamkill: {
|
||||
type: DataTypes.BOOLEAN
|
||||
}
|
||||
}, {
|
||||
charset: 'utf8mb4',
|
||||
collate: 'utf8mb4_unicode_ci'
|
||||
});
|
||||
|
||||
this.createModel('Death', {
|
||||
@ -218,6 +224,9 @@ export default class DBLog extends BasePlugin {
|
||||
teamkill: {
|
||||
type: DataTypes.BOOLEAN
|
||||
}
|
||||
}, {
|
||||
charset: 'utf8mb4',
|
||||
collate: 'utf8mb4_unicode_ci'
|
||||
});
|
||||
|
||||
this.createModel('Revive', {
|
||||
@ -269,6 +278,9 @@ export default class DBLog extends BasePlugin {
|
||||
reviverSquadID: {
|
||||
type: DataTypes.INTEGER
|
||||
}
|
||||
}, {
|
||||
charset: 'utf8mb4',
|
||||
collate: 'utf8mb4_unicode_ci'
|
||||
});
|
||||
|
||||
this.models.Server.hasMany(this.models.TickRate, {
|
||||
|
Loading…
Reference in New Issue
Block a user