mirror of
https://github.com/magefree/mage.git
synced 2025-12-25 13:02:06 -08:00
Some minor changes to debug logging messages and server user handling.
This commit is contained in:
parent
64e0b4d1b9
commit
90b3e75435
5 changed files with 25 additions and 11 deletions
|
|
@ -159,10 +159,10 @@ public class ChatManager {
|
|||
}
|
||||
|
||||
public void removeUser(UUID userId, User.DisconnectReason reason) {
|
||||
Logger.getLogger(ChatManager.class).debug("Remove user start");
|
||||
Logger.getLogger(ChatManager.class).debug("ChatManager: Remove user start");
|
||||
for (ChatSession chat: chatSessions.values()) {
|
||||
chat.kill(userId, reason);
|
||||
}
|
||||
Logger.getLogger(ChatManager.class).debug("Remove user end");
|
||||
Logger.getLogger(ChatManager.class).debug("ChatManager: Remove user end");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,12 +66,11 @@ public class ChatSession {
|
|||
}
|
||||
|
||||
synchronized public void kill(UUID userId, User.DisconnectReason reason) {
|
||||
if (userId != null && clients.containsKey(userId)) {
|
||||
logger.debug("kill user: Start kill userId " + userId);
|
||||
if (userId != null && clients.containsKey(userId)) {
|
||||
String userName = clients.get(userId);
|
||||
String message;
|
||||
logger.debug(userName + " leaves chat: " + chatId);
|
||||
clients.remove(userId);
|
||||
logger.debug("kill user: After remove " + userId);
|
||||
String message;
|
||||
switch (reason) {
|
||||
case Disconnected:
|
||||
message = " has left MAGE";
|
||||
|
|
@ -83,7 +82,7 @@ public class ChatSession {
|
|||
message = " has left chat";
|
||||
}
|
||||
broadcast(null, new StringBuilder(userName).append(message).toString(), MessageColor.BLUE, true, MessageType.STATUS);
|
||||
logger.debug("kill user: " + userName + message + " " + chatId);
|
||||
logger.debug(userName + "left chat with reason " + message + " " + chatId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -207,7 +207,8 @@ public class TableManager {
|
|||
}
|
||||
|
||||
public void leaveTable(UUID userId, UUID tableId) {
|
||||
if (controllers.containsKey(tableId)) {
|
||||
TableController tableController = controllers.get(tableId);
|
||||
if (tableController != null) {
|
||||
// table not started yet and user is the owner, remove the table
|
||||
Table table = getTable(tableId);
|
||||
if (table != null
|
||||
|
|
@ -217,7 +218,7 @@ public class TableManager {
|
|||
removeTable(tableId);
|
||||
|
||||
} else {
|
||||
controllers.get(tableId).leaveTable(userId);
|
||||
tableController.leaveTable(userId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -321,15 +321,19 @@ public class User {
|
|||
}
|
||||
|
||||
public void kill(DisconnectReason reason) {
|
||||
logger.debug("kill: game sessions " + gameSessions.size());
|
||||
for (GameSession gameSession: gameSessions.values()) {
|
||||
gameSession.kill();
|
||||
}
|
||||
logger.debug("kill: draft sessions " + draftSessions.size());
|
||||
for (DraftSession draftSession: draftSessions.values()) {
|
||||
draftSession.setKilled();
|
||||
}
|
||||
logger.debug("kill: tournament sessions " + tournamentSessions.size());
|
||||
for (TournamentSession tournamentSession: tournamentSessions.values()) {
|
||||
tournamentSession.setKilled();
|
||||
}
|
||||
logger.debug("kill: tables " + tables.size());
|
||||
for (Entry<UUID, Table> entry: tables.entrySet()) {
|
||||
TableManager.getInstance().leaveTable(userId, entry.getValue().getId());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,6 +58,16 @@ public class UserManager {
|
|||
}
|
||||
|
||||
private UserManager() {
|
||||
|
||||
Thread.setDefaultUncaughtExceptionHandler(
|
||||
new Thread.UncaughtExceptionHandler() {
|
||||
@Override
|
||||
public void uncaughtException(Thread t, Throwable e) {
|
||||
System.out.println(t.getName() + ": " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
|
||||
expireExecutor.scheduleAtFixedRate(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
|
@ -109,7 +119,7 @@ public class UserManager {
|
|||
if (users.containsKey(userId)) {
|
||||
User user = users.get(userId);
|
||||
user.setSessionId(""); // Session will be set again with new id if user reconnects
|
||||
ChatManager.getInstance().broadcast(userId, "has lost connection", MessageColor.BLACK);
|
||||
// ChatManager.getInstance().broadcast(userId, "has lost connection", MessageColor.BLACK);
|
||||
logger.info(new StringBuilder("User ").append(user.getName()).append(" has lost connection userId:").append(userId));
|
||||
}
|
||||
ChatManager.getInstance().removeUser(userId, reason);
|
||||
|
|
@ -130,8 +140,8 @@ public class UserManager {
|
|||
.append(" userId: ").append(userId)
|
||||
.append(" sessionId: ").append(user.getSessionId())
|
||||
.append(" Reason: ").append(reason.toString()));
|
||||
ChatManager.getInstance().removeUser(userId, reason);
|
||||
ChatManager.getInstance().broadcast(userId, new StringBuilder("has disconnected (").append(reason.toString()).append(")").toString(), MessageColor.BLACK);
|
||||
ChatManager.getInstance().removeUser(userId, reason);
|
||||
users.get(userId).kill(reason);
|
||||
users.remove(userId);
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue