Match RCON player pings by unique name when GUIDs differ
This commit is contained in:
@@ -501,7 +501,8 @@ describe('database fleet and container readiness', () => {
|
||||
rcon.mockResolvedValue({ ok: true, endpoint: { host: 'localhost', port: 28960 }, rawReply: 'status',
|
||||
status: { players: 4, map: 'zombie_theater', gametype: 'zom', roster: [
|
||||
{ num: 0, guid: telemetry.players[0].guid, name: 'Old name', score: 50, ping: 100 },
|
||||
{ num: 1, guid: telemetry.players[1].guid, name: 'Another old name', score: 100, ping: 30 }
|
||||
{ num: 1, guid: telemetry.players[1].guid, name: 'Another old name', score: 100, ping: 30 },
|
||||
{ num: 2, guid: '6C45DD', name: telemetry.players[2].name, score: 150, ping: 151 }
|
||||
] } });
|
||||
await postTelemetry(telemetry);
|
||||
const events: unknown[] = [];
|
||||
@@ -514,7 +515,7 @@ describe('database fleet and container readiness', () => {
|
||||
expect(server.roster).toHaveLength(3);
|
||||
expect(server.roster[0]).toMatchObject({ ping: 42, score: 5000 });
|
||||
expect(server.roster[1]).toMatchObject({ ping: 30, score: 5000, name: 'Player 2' });
|
||||
expect(server.roster[2].ping).toBeNull();
|
||||
expect(server.roster[2]).toMatchObject({ ping: 151, guid: telemetry.players[2].guid, name: 'Player 3', score: 5000 });
|
||||
expect(events).toContainEqual(expect.objectContaining({ type: 'server-status', entries: [expect.objectContaining({
|
||||
health: 'online', players: 3, roster: server.roster, lastSeenAt: server.last_seen_at
|
||||
})] }));
|
||||
|
||||
Reference in New Issue
Block a user