From 56c0dc485cb1a62ae80ecd7d674c0edac5834b00 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Sat, 18 Jan 2020 09:52:07 +0400 Subject: [PATCH] Return old working version of force join (join all the time) --- .../java/mage/server/game/GameController.java | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/Mage.Server/src/main/java/mage/server/game/GameController.java b/Mage.Server/src/main/java/mage/server/game/GameController.java index 282978615b6..86818d955cf 100644 --- a/Mage.Server/src/main/java/mage/server/game/GameController.java +++ b/Mage.Server/src/main/java/mage/server/game/GameController.java @@ -332,25 +332,26 @@ public class GameController implements GameCallback { User user = requestedUser.get(); // TODO: workaround to fix not started games in tourneys, need to find out real reason if (gameSessions.get(player.getId()) == null) { - // join the game because player has not joined are was removed because of disconnect + // join the game because player has not joined or was removed because of disconnect + user.removeConstructing(player.getId()); + GameManager.instance.joinGame(game.getId(), user.getId()); + logger.warn("Forced join of player " + player.getName() + " (" + user.getUserState() + ") to gameId: " + game.getId()); if (user.isConnected()) { + logger.warn("Send forced game start event for player " + player.getName() + " in gameId: " + game.getId()); user.ccGameStarted(game.getId(), player.getId()); - logger.warn("Player " + player.getName() + " (missed message) has joined gameId: " + game.getId()); - } else { - user.removeConstructing(player.getId()); - GameManager.instance.joinGame(game.getId(), user.getId()); - logger.warn("Forced join of player " + player.getName() + " (" + user.getUserState() + ") to gameId: " + game.getId()); } + ChatManager.instance.broadcast(chatId, player.getName(), user.getPingInfo() + " is forced to join the game (waiting ends after " + GAME_TIMEOUTS_CANCEL_PLAYER_GAME_JOINING_AFTER_INACTIVE_SECS + " secs)", MessageColor.BLUE, true, ChatMessage.MessageType.STATUS, null); - if (!user.isConnected() && user.getSecondsDisconnected() > GAME_TIMEOUTS_CANCEL_PLAYER_GAME_JOINING_AFTER_INACTIVE_SECS) { - // Cancel player join possibility lately - logger.debug("Player " + player.getName() + " - canceled joining game (after " - + user.getSecondsDisconnected() + " secs of inactivity) gameId: " + game.getId()); - player.leave(); - } + } + + if (!user.isConnected() && user.getSecondsDisconnected() > GAME_TIMEOUTS_CANCEL_PLAYER_GAME_JOINING_AFTER_INACTIVE_SECS) { + // Cancel player join possibility lately + logger.debug("Player " + player.getName() + " - canceled joining game (after " + + user.getSecondsDisconnected() + " secs of inactivity) gameId: " + game.getId()); + player.leave(); } } else if (!player.hasLeft()) { logger.debug("Player " + player.getName() + " canceled game (no user) gameId: " + game.getId());