From 0395594c9c0cfd676bbd2d26a9b2255e1d46b0f4 Mon Sep 17 00:00:00 2001 From: Shaun Date: Mon, 14 Feb 2022 21:31:22 +0200 Subject: [PATCH] bug: trying to fix hanging login --- src/server/security/connections.js | 7 ++++--- src/server/world/instancer.js | 9 ++++++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/server/security/connections.js b/src/server/security/connections.js index 61ae3ee5..2267a2fd 100644 --- a/src/server/security/connections.js +++ b/src/server/security/connections.js @@ -164,11 +164,12 @@ module.exports = { if ((!p) || (p === exclude) || (!p.auth)) continue; - if (p.name && p.zoneName) - await atlas.forceSavePlayer(p.name, p.zoneName); + if (p.auth.username === exclude.auth.username) { + if (p.name && p.zoneName) + await atlas.forceSavePlayer(p.name, p.zoneName); - if (p.auth.username === exclude.auth.username) p.socket.emit('dc', {}); + } } }, diff --git a/src/server/world/instancer.js b/src/server/world/instancer.js index 59c1a669..c4d70288 100644 --- a/src/server/world/instancer.js +++ b/src/server/world/instancer.js @@ -355,8 +355,15 @@ module.exports = { forceSavePlayer: async function ({ playerName, callbackId }) { const player = objects.objects.find(o => o.player && o.name === playerName); - if (!player?.auth) + if (!player?.auth) { + await io.setAsync({ + key: new Date(), + table: 'error', + value: 'no auth found for forcesave ' + playerName + }); + return; + } await player.auth.doSave();