diff --git a/Mage.Client/src/main/java/mage/client/remote/Session.java b/Mage.Client/src/main/java/mage/client/remote/Session.java index 6ed329cb0ca..21fd2669b46 100644 --- a/Mage.Client/src/main/java/mage/client/remote/Session.java +++ b/Mage.Client/src/main/java/mage/client/remote/Session.java @@ -705,11 +705,15 @@ public class Session { } private void handleRemoteException(RemoteException ex) { - server = null; - logger.log(Level.SEVERE, "Connection to server lost", ex); - frame.setStatusText("Not connected"); - JOptionPane.showMessageDialog(MageFrame.getDesktop(), "Connection to server lost.", "Error", JOptionPane.ERROR_MESSAGE); - frame.disableButtons(); + logger.log(Level.SEVERE, "Communication error", ex); + if (ex instanceof java.rmi.ConnectException) { + server = null; + frame.setStatusText("Not connected"); + frame.disableButtons(); + JOptionPane.showMessageDialog(MageFrame.getDesktop(), "Communication error - disconnecting.", "Error", JOptionPane.ERROR_MESSAGE); + } + else + JOptionPane.showMessageDialog(MageFrame.getDesktop(), "Communication error.", "Error", JOptionPane.ERROR_MESSAGE); } private void handleMageException(MageException ex) { diff --git a/Mage.Server/src/main/java/mage/server/ChatSession.java b/Mage.Server/src/main/java/mage/server/ChatSession.java index f89bc75af38..dc003496b83 100644 --- a/Mage.Server/src/main/java/mage/server/ChatSession.java +++ b/Mage.Server/src/main/java/mage/server/ChatSession.java @@ -74,6 +74,7 @@ public class ChatSession { public void broadcast(String userName, String message, MessageColor color) { Calendar cal = new GregorianCalendar(); final String msg = timeFormatter.format(cal.getTime()) + " " + userName + ":" + message; + logger.debug("Broadcasting '" + msg + "' for " + chatId); for (UUID sessionId: clients.keySet()) { Session session = SessionManager.getInstance().getSession(sessionId); if (session != null) diff --git a/Mage.Server/src/main/java/mage/server/ServerImpl.java b/Mage.Server/src/main/java/mage/server/ServerImpl.java index 653f32b688d..ba474dfe3bd 100644 --- a/Mage.Server/src/main/java/mage/server/ServerImpl.java +++ b/Mage.Server/src/main/java/mage/server/ServerImpl.java @@ -113,7 +113,7 @@ public class ServerImpl extends RemoteServer implements Server { if (version.compareTo(Main.getVersion()) != 0) throw new MageException("Wrong client version " + version + ", expecting version " + Main.getVersion()); sessionId = SessionManager.getInstance().createSession(userName, clientId); - logger.info("Session " + sessionId + " created for user " + userName + " at " + getClientHost()); + logger.info("User " + userName + " connected from " + getClientHost()); } catch (Exception ex) { handleException(ex); } diff --git a/Mage.Server/src/main/java/mage/server/SessionManager.java b/Mage.Server/src/main/java/mage/server/SessionManager.java index 359a3636610..e3482be3285 100644 --- a/Mage.Server/src/main/java/mage/server/SessionManager.java +++ b/Mage.Server/src/main/java/mage/server/SessionManager.java @@ -56,7 +56,7 @@ public class SessionManager { for (Session session: sessions.values()) { if (session.getUsername().equals(userName)) { if (session.getClientId().equals(clientId)) { - logger.info("reconnecting session for " + userName); + logger.info("Reconnecting session " + session.getId() + " for " + userName); return session.getId(); } else { @@ -66,6 +66,7 @@ public class SessionManager { } Session session = new Session(userName, clientId); sessions.put(session.getId(), session); + logger.info("Session " + session.getId() + " created for user " + userName); return session.getId(); }