mirror of
https://github.com/AsgardEternal/SquadJS.git
synced 2024-09-28 14:04:25 -05:00
Merge pull request #160 from milutinke/master
Fixed bug #148. Added PLAYER_DISCONNECTED event
This commit is contained in:
commit
1108b71589
@ -28,7 +28,11 @@
|
|||||||
"username": "squadjs",
|
"username": "squadjs",
|
||||||
"password": "password",
|
"password": "password",
|
||||||
"database": "squadjs",
|
"database": "squadjs",
|
||||||
"dialect": "mysql"
|
"dialect": "mysql",
|
||||||
|
"define": {
|
||||||
|
"charset": "utf8mb4",
|
||||||
|
"collate": "utf8mb4_unicode_ci"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"plugins": [
|
"plugins": [
|
||||||
|
@ -110,6 +110,10 @@ export default class SquadServerFactory {
|
|||||||
|
|
||||||
if (typeof connectorConfig === 'string') {
|
if (typeof connectorConfig === 'string') {
|
||||||
connector = new Sequelize(connectorConfig, {
|
connector = new Sequelize(connectorConfig, {
|
||||||
|
define: {
|
||||||
|
charset: 'utf8mb4',
|
||||||
|
collate: 'utf8mb4_unicode_ci'
|
||||||
|
},
|
||||||
logging: (msg) => Logger.verbose('Sequelize', 3, msg)
|
logging: (msg) => Logger.verbose('Sequelize', 3, msg)
|
||||||
});
|
});
|
||||||
} else if (typeof connectorConfig === 'object') {
|
} else if (typeof connectorConfig === 'object') {
|
||||||
|
@ -178,6 +178,16 @@ export default class SquadServer extends EventEmitter {
|
|||||||
this.emit('PLAYER_CONNECTED', data);
|
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) => {
|
this.logParser.on('PLAYER_DAMAGED', async (data) => {
|
||||||
data.victim = await this.getPlayerByName(data.victimName);
|
data.victim = await this.getPlayerByName(data.victimName);
|
||||||
data.attacker = await this.getPlayerByName(data.attackerName);
|
data.attacker = await this.getPlayerByName(data.attackerName);
|
||||||
|
@ -4,6 +4,7 @@ import AdminBroadcast from './admin-broadcast.js';
|
|||||||
import DeployableDamaged from './deployable-damaged.js';
|
import DeployableDamaged from './deployable-damaged.js';
|
||||||
import NewGame from './new-game.js';
|
import NewGame from './new-game.js';
|
||||||
import PlayerConnected from './player-connected.js';
|
import PlayerConnected from './player-connected.js';
|
||||||
|
import PlayerDisconnected from './player-disconnected.js';
|
||||||
import PlayerDamaged from './player-damaged.js';
|
import PlayerDamaged from './player-damaged.js';
|
||||||
import PlayerDied from './player-died.js';
|
import PlayerDied from './player-died.js';
|
||||||
import PlayerPossess from './player-possess.js';
|
import PlayerPossess from './player-possess.js';
|
||||||
@ -25,6 +26,7 @@ export default class SquadLogParser extends LogParser {
|
|||||||
DeployableDamaged,
|
DeployableDamaged,
|
||||||
NewGame,
|
NewGame,
|
||||||
PlayerConnected,
|
PlayerConnected,
|
||||||
|
PlayerDisconnected,
|
||||||
PlayerDamaged,
|
PlayerDamaged,
|
||||||
PlayerDied,
|
PlayerDied,
|
||||||
PlayerPossess,
|
PlayerPossess,
|
||||||
|
13
squad-server/log-parser/player-disconnected.js
Normal file
13
squad-server/log-parser/player-disconnected.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
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 data = {
|
||||||
|
raw: args[0],
|
||||||
|
time: args[1],
|
||||||
|
chainID: args[2],
|
||||||
|
steamID: args[4]
|
||||||
|
};
|
||||||
|
|
||||||
|
logParser.emit('PLAYER_DISCONNECTED', data);
|
||||||
|
}
|
||||||
|
};
|
@ -137,6 +137,9 @@ export default class DBLog extends BasePlugin {
|
|||||||
lastName: {
|
lastName: {
|
||||||
type: DataTypes.STRING
|
type: DataTypes.STRING
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
charset: 'utf8mb4',
|
||||||
|
collate: 'utf8mb4_unicode_ci'
|
||||||
});
|
});
|
||||||
|
|
||||||
this.createModel('Wound', {
|
this.createModel('Wound', {
|
||||||
@ -176,6 +179,9 @@ export default class DBLog extends BasePlugin {
|
|||||||
teamkill: {
|
teamkill: {
|
||||||
type: DataTypes.BOOLEAN
|
type: DataTypes.BOOLEAN
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
charset: 'utf8mb4',
|
||||||
|
collate: 'utf8mb4_unicode_ci'
|
||||||
});
|
});
|
||||||
|
|
||||||
this.createModel('Death', {
|
this.createModel('Death', {
|
||||||
@ -218,6 +224,9 @@ export default class DBLog extends BasePlugin {
|
|||||||
teamkill: {
|
teamkill: {
|
||||||
type: DataTypes.BOOLEAN
|
type: DataTypes.BOOLEAN
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
charset: 'utf8mb4',
|
||||||
|
collate: 'utf8mb4_unicode_ci'
|
||||||
});
|
});
|
||||||
|
|
||||||
this.createModel('Revive', {
|
this.createModel('Revive', {
|
||||||
@ -269,6 +278,9 @@ export default class DBLog extends BasePlugin {
|
|||||||
reviverSquadID: {
|
reviverSquadID: {
|
||||||
type: DataTypes.INTEGER
|
type: DataTypes.INTEGER
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
charset: 'utf8mb4',
|
||||||
|
collate: 'utf8mb4_unicode_ci'
|
||||||
});
|
});
|
||||||
|
|
||||||
this.models.Server.hasMany(this.models.TickRate, {
|
this.models.Server.hasMany(this.models.TickRate, {
|
||||||
|
Loading…
Reference in New Issue
Block a user