From e1b0f666ff67ece307b744f1ca171af3d660088d Mon Sep 17 00:00:00 2001 From: Olion Date: Mon, 3 Jul 2017 23:48:56 +0300 Subject: [PATCH] Wrong field order inside SMSG_LOGOUT_RESPONSE --- src/game/Server/Opcodes.cpp | 22 +++++++++++----------- src/game/WorldHandlers/MiscHandler.cpp | 10 +++++----- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/game/Server/Opcodes.cpp b/src/game/Server/Opcodes.cpp index 3114363c..82f1169f 100644 --- a/src/game/Server/Opcodes.cpp +++ b/src/game/Server/Opcodes.cpp @@ -122,26 +122,26 @@ void Opcodes::BuildOpcodeList() /*0x03B*/ StoreOpcode(SMSG_CHAR_ENUM, "SMSG_CHAR_ENUM", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x03C*/ StoreOpcode(SMSG_CHAR_DELETE, "SMSG_CHAR_DELETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x03D*/ StoreOpcode(CMSG_PLAYER_LOGIN, "CMSG_PLAYER_LOGIN", STATUS_AUTHED, PROCESS_INPLACE, &WorldSession::HandlePlayerLoginOpcode); - /*[-ZERO] Need check */ /*0x03E*/ StoreOpcode(SMSG_NEW_WORLD, "SMSG_NEW_WORLD", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); + /*0x03E*/ StoreOpcode(SMSG_NEW_WORLD, "SMSG_NEW_WORLD", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x03F*/ StoreOpcode(SMSG_TRANSFER_PENDING, "SMSG_TRANSFER_PENDING", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x040*/ StoreOpcode(SMSG_TRANSFER_ABORTED, "SMSG_TRANSFER_ABORTED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); - /*[-ZERO] Need check */ /*0x041*/ StoreOpcode(SMSG_CHARACTER_LOGIN_FAILED, "SMSG_CHARACTER_LOGIN_FAILED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); - /*[-ZERO] Need check */ /*0x042*/ StoreOpcode(SMSG_LOGIN_SETTIMESPEED, "SMSG_LOGIN_SETTIMESPEED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); - /*[-ZERO] Need check */ /*0x043*/ StoreOpcode(SMSG_GAMETIME_UPDATE, "SMSG_GAMETIME_UPDATE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); + /*0x041*/ StoreOpcode(SMSG_CHARACTER_LOGIN_FAILED, "SMSG_CHARACTER_LOGIN_FAILED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); + /*0x042*/ StoreOpcode(SMSG_LOGIN_SETTIMESPEED, "SMSG_LOGIN_SETTIMESPEED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); + /*0x043*/ StoreOpcode(SMSG_GAMETIME_UPDATE, "SMSG_GAMETIME_UPDATE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x044*/ StoreOpcode(CMSG_GAMETIME_SET, "CMSG_GAMETIME_SET", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL); - /*[-ZERO] Need check */ /*0x045*/ StoreOpcode(SMSG_GAMETIME_SET, "SMSG_GAMETIME_SET", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); + /*0x045*/ StoreOpcode(SMSG_GAMETIME_SET, "SMSG_GAMETIME_SET", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x046*/ StoreOpcode(CMSG_GAMESPEED_SET, "CMSG_GAMESPEED_SET", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL); - /*[-ZERO] Need check */ /*0x047*/ StoreOpcode(SMSG_GAMESPEED_SET, "SMSG_GAMESPEED_SET", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); + /*0x047*/ StoreOpcode(SMSG_GAMESPEED_SET, "SMSG_GAMESPEED_SET", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*0x048*/ StoreOpcode(CMSG_SERVERTIME, "CMSG_SERVERTIME", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL); - /*[-ZERO] Need check */ /*0x049*/ StoreOpcode(SMSG_SERVERTIME, "SMSG_SERVERTIME", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); + /*0x049*/ StoreOpcode(SMSG_SERVERTIME, "SMSG_SERVERTIME", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*[-ZERO] Need check */ /*0x04A*/ StoreOpcode(CMSG_PLAYER_LOGOUT, "CMSG_PLAYER_LOGOUT", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePlayerLogoutOpcode); /*[-ZERO] Need check */ /*0x04B*/ StoreOpcode(CMSG_LOGOUT_REQUEST, "CMSG_LOGOUT_REQUEST", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLogoutRequestOpcode); - /*[-ZERO] Need check */ /*0x04C*/ StoreOpcode(SMSG_LOGOUT_RESPONSE, "SMSG_LOGOUT_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); - /*[-ZERO] Need check */ /*0x04D*/ StoreOpcode(SMSG_LOGOUT_COMPLETE, "SMSG_LOGOUT_COMPLETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); + /*0x04C*/ StoreOpcode(SMSG_LOGOUT_RESPONSE, "SMSG_LOGOUT_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); + /*0x04D*/ StoreOpcode(SMSG_LOGOUT_COMPLETE, "SMSG_LOGOUT_COMPLETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*[-ZERO] Need check */ /*0x04E*/ StoreOpcode(CMSG_LOGOUT_CANCEL, "CMSG_LOGOUT_CANCEL", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLogoutCancelOpcode); - /*[-ZERO] Need check */ /*0x04F*/ StoreOpcode(SMSG_LOGOUT_CANCEL_ACK, "SMSG_LOGOUT_CANCEL_ACK", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); + /*0x04F*/ StoreOpcode(SMSG_LOGOUT_CANCEL_ACK, "SMSG_LOGOUT_CANCEL_ACK", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*[-ZERO] Need check */ /*0x050*/ StoreOpcode(CMSG_NAME_QUERY, "CMSG_NAME_QUERY", STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleNameQueryOpcode); - /*[-ZERO] Need check */ /*0x051*/ StoreOpcode(SMSG_NAME_QUERY_RESPONSE, "SMSG_NAME_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); + /*0x051*/ StoreOpcode(SMSG_NAME_QUERY_RESPONSE, "SMSG_NAME_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*[-ZERO] Need check */ /*0x052*/ StoreOpcode(CMSG_PET_NAME_QUERY, "CMSG_PET_NAME_QUERY", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetNameQueryOpcode); /*[-ZERO] Need check */ /*0x053*/ StoreOpcode(SMSG_PET_NAME_QUERY_RESPONSE, "SMSG_PET_NAME_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide); /*[-ZERO] Need check */ /*0x054*/ StoreOpcode(CMSG_GUILD_QUERY, "CMSG_GUILD_QUERY", STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildQueryOpcode); diff --git a/src/game/WorldHandlers/MiscHandler.cpp b/src/game/WorldHandlers/MiscHandler.cpp index 065a7362..4d403178 100644 --- a/src/game/WorldHandlers/MiscHandler.cpp +++ b/src/game/WorldHandlers/MiscHandler.cpp @@ -298,8 +298,8 @@ void WorldSession::HandleLogoutRequestOpcode(WorldPacket& /*recv_data*/) if (reason) { WorldPacket data(SMSG_LOGOUT_RESPONSE, 1+4); - data << uint8(reason); - data << uint32(0); + data << uint32(reason); + data << uint8(0); SendPacket(&data); LogoutRequest(0); return; @@ -310,8 +310,8 @@ void WorldSession::HandleLogoutRequestOpcode(WorldPacket& /*recv_data*/) GetSecurity() >= (AccountTypes)sWorld.getConfig(CONFIG_UINT32_INSTANT_LOGOUT)) { WorldPacket data(SMSG_LOGOUT_RESPONSE, 1+4); - data << uint8(0); - data << uint32(16777216); + data << uint32(0); + data << uint8(1); SendPacket(&data); LogoutPlayer(true); return; @@ -329,8 +329,8 @@ void WorldSession::HandleLogoutRequestOpcode(WorldPacket& /*recv_data*/) } WorldPacket data(SMSG_LOGOUT_RESPONSE, 1 + 4); - data << uint8(0); data << uint32(0); + data << uint8(0); SendPacket(&data); LogoutRequest(time(NULL)); }