diff --git a/Mage.Server/src/main/java/mage/server/Session.java b/Mage.Server/src/main/java/mage/server/Session.java index 0a025f3d731..3d0bbad25c1 100644 --- a/Mage.Server/src/main/java/mage/server/Session.java +++ b/Mage.Server/src/main/java/mage/server/Session.java @@ -157,7 +157,7 @@ public class Session { call.setMessageId(messageId++); callbackHandler.handleCallbackOneway(new Callback(call)); } catch (HandleCallbackException ex) { - logger.fatal("Session fireCallback error", ex); + logger.fatal("Session fireCallback error: " + ex.getMessage(), ex); disconnect(); } } diff --git a/Mage.Server/src/main/java/mage/server/UserManager.java b/Mage.Server/src/main/java/mage/server/UserManager.java index 8ff58004e0f..c5de8f16c78 100644 --- a/Mage.Server/src/main/java/mage/server/UserManager.java +++ b/Mage.Server/src/main/java/mage/server/UserManager.java @@ -100,12 +100,14 @@ public class UserManager { } public void disconnect(UUID userId) { - ChatManager.getInstance().removeUser(userId); - if (users.containsKey(userId)) { - logger.info("user disconnected " + userId); - users.get(userId).setSessionId(""); - ChatManager.getInstance().broadcast(userId, "has lost connection", MessageColor.BLACK); - } + if (userId != null) { + ChatManager.getInstance().removeUser(userId); + if (users.containsKey(userId)) { + logger.info("user disconnected " + userId); + users.get(userId).setSessionId(""); + ChatManager.getInstance().broadcast(userId, "has lost connection", MessageColor.BLACK); + } + } } public boolean isAdmin(UUID userId) {