diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/chat-server/chathandler.cpp | 8 | ||||
-rw-r--r-- | src/game-server/accountconnection.cpp | 2 | ||||
-rw-r--r-- | src/game-server/gamehandler.cpp | 2 |
3 files changed, 10 insertions, 2 deletions
diff --git a/src/chat-server/chathandler.cpp b/src/chat-server/chathandler.cpp index 8269a6be..589f1e43 100644 --- a/src/chat-server/chathandler.cpp +++ b/src/chat-server/chathandler.cpp @@ -444,6 +444,14 @@ void ChatHandler::processMessage(NetComputer *comp, MessageIn &message) } break; + case PCMSG_DISCONNECT: + { + result.writeShort(CPMSG_DISCONNECT_RESPONSE); + result.writeByte(ERRMSG_OK); + chatChannelManager->removeUserFromEveryChannels(computer.characterName); + } + break; + default: LOG_WARN("ChatHandler::processMessage, Invalid message type" << message.getId()); diff --git a/src/game-server/accountconnection.cpp b/src/game-server/accountconnection.cpp index a5c7bddd..e380d25a 100644 --- a/src/game-server/accountconnection.cpp +++ b/src/game-server/accountconnection.cpp @@ -104,7 +104,7 @@ void AccountConnection::playerReconnectAccount(int id, const std::string magic_t LOG_INFO("Send GAMSG_PLAYER_RECONNECT."); MessageOut msg(GAMSG_PLAYER_RECONNECT); msg.writeLong(id); - msg.writeString(magic_token); + msg.writeString(magic_token, 32); send(msg); } diff --git a/src/game-server/gamehandler.cpp b/src/game-server/gamehandler.cpp index 05e4d2b0..5801c6fe 100644 --- a/src/game-server/gamehandler.cpp +++ b/src/game-server/gamehandler.cpp @@ -309,7 +309,7 @@ void GameHandler::processMessage(NetComputer *comp, MessageIn &message) bool reconnectAccount = (bool) message.readByte(); result.writeShort(GPMSG_DISCONNECT_RESPONSE); - result.writeShort(ERRMSG_OK); // It is when control reaches here + result.writeByte(ERRMSG_OK); // It is, when control reaches here if (reconnectAccount) { |