Files
DarkflameServer/dNet/PacketFields.inc
Aaron Kimbrell 37cc844562 revert(master): the edit mode flag on a private instance
This reverts commit 4cf0909d. Nothing starts an edit mode instance any more. Its two
fixes that had nothing to do with edit mode come back in the next commit.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
2026-11-10 19:34:43 -06:00

1941 lines
82 KiB
C++

// Generated by tools/gen_game_message_fields.py from the packet structs. Do not edit: run the script.
// Every struct's members, in declaration order (a base struct's first)
json ToJson(const AuthPackets::LoginRequest& m);
json ToJson(const ChatPackets::LoginSessionNotify& m);
json ToJson(const ChatPackets::UnexpectedDisconnect& m);
json ToJson(const ChatPackets::GMLevelUpdate& m);
json ToJson(const ChatPackets::GMMute& m);
json ToJson(const ChatPackets::Announcement& m);
json ToJson(const ChatPackets::CreateTeam& m);
json ToJson(const ChatPackets::TeamUpdate& m);
json ToJson(const ChatPackets::AchievementNotify& m);
json ToJson(const ChatPackets::MailNotify& m);
json ToJson(const ChatPackets::ShowAllRequest& m);
json ToJson(const ChatPackets::FindPlayerRequest& m);
json ToJson(const ChatPackets::GetFriendsList& m);
json ToJson(const ChatPackets::AddFriendRequest& m);
json ToJson(const ChatPackets::AddFriendResponse& m);
json ToJson(const ChatPackets::RemoveFriend& m);
json ToJson(const ChatPackets::GetIgnoreList& m);
json ToJson(const ChatPackets::AddIgnore& m);
json ToJson(const ChatPackets::RemoveIgnore& m);
json ToJson(const ChatPackets::GeneralChatMessage& m);
json ToJson(const ChatPackets::PrivateChatMessage& m);
json ToJson(const ChatPackets::TeamInvite& m);
json ToJson(const ChatPackets::TeamInviteResponse& m);
json ToJson(const ChatPackets::TeamLeave& m);
json ToJson(const ChatPackets::TeamKick& m);
json ToJson(const ChatPackets::TeamSetLeader& m);
json ToJson(const ChatPackets::TeamSetLoot& m);
json ToJson(const ChatPackets::TeamGetStatus& m);
json ToJson(const ChatPackets::RequestMinimumChatMode& m);
json ToJson(const ChatPackets::RequestMinimumChatModePrivate& m);
json ToJson(const ChatPackets::GuildInvite& m);
json ToJson(const ChatPackets::GuildInviteResponse& m);
json ToJson(const ChatPackets::GuildLeave& m);
json ToJson(const ChatPackets::GuildGetAll& m);
json ToJson(const ChatPackets::GuildCreate& m);
json ToJson(const ChatPackets::GuildKick& m);
json ToJson(const ChatPackets::GuildSetRank& m);
json ToJson(const ChatPackets::GuildDisband& m);
json ToJson(const ChatPackets::GuildStatus& m);
json ToJson(const ChatPackets::MatchRequest& m);
json ToJson(const ChatPackets::MatchTransfer& m);
json ToJson(const ChatPackets::Client::GeneralChatMessage& m);
json ToJson(const ChatPackets::Client::PrivateChatMessage& m);
json ToJson(const ClientPackets::LoginResponse& m);
json ToJson(const ClientPackets::LoadStaticZone& m);
json ToJson(const ClientPackets::CharacterListResponse& m);
json ToJson(const ClientPackets::CharacterListResponse::Character& m);
json ToJson(const ClientPackets::CharacterCreateResponse& m);
json ToJson(const ClientPackets::CharacterRenameResponse& m);
json ToJson(const ClientPackets::DeleteCharacterResponse& m);
json ToJson(const ClientPackets::TransferToWorld& m);
json ToJson(const ClientPackets::ServerStates& m);
json ToJson(const ClientPackets::CreateCharacter& m);
json ToJson(const ClientPackets::ChatModerationString& m);
json ToJson(const ClientPackets::MakeGMResponse& m);
json ToJson(const ClientPackets::HTTPMonitorInfoResponse& m);
json ToJson(const ClientPackets::DebugOutput& m);
json ToJson(const ClientPackets::BlueprintSaveResponse& m);
json ToJson(const ClientPackets::BlueprintSaveResponse::Model& m);
json ToJson(const ClientPackets::BlueprintLoadItemResponse& m);
json ToJson(const ClientPackets::UgcManifestResponse& m);
json ToJson(const ClientPackets::MinimumChatModeResponse& m);
json ToJson(const ClientPackets::MinimumChatModeResponsePrivate& m);
json ToJson(const ClientPackets::SendCannedText& m);
json ToJson(const ClientPackets::GetFriendsListResponse& m);
json ToJson(const ClientPackets::AddFriendRequest& m);
json ToJson(const ClientPackets::AddFriendResponse& m);
json ToJson(const ClientPackets::RemoveFriendResponse& m);
json ToJson(const ClientPackets::UpdateFriendNotify& m);
json ToJson(const ClientPackets::WhoResponse& m);
json ToJson(const ClientPackets::ShowAllResponse& m);
json ToJson(const ClientPackets::ShowAllResponse::Player& m);
json ToJson(const ClientPackets::GetIgnoreListResponse& m);
json ToJson(const ClientPackets::GetIgnoreListResponse::Ignored& m);
json ToJson(const ClientPackets::AddIgnoreResponse& m);
json ToJson(const ClientPackets::RemoveIgnoreResponse& m);
json ToJson(const ClientPackets::TeamInvite& m);
json ToJson(const ClientPackets::TeamInviteInitialResponse& m);
json ToJson(const ClientPackets::GuildCreateResponse& m);
json ToJson(const ClientPackets::GuildInvite& m);
json ToJson(const ClientPackets::GuildInviteInitialResponse& m);
json ToJson(const ClientPackets::GuildInviteFinalResponse& m);
json ToJson(const ClientPackets::GuildInviteConfirm& m);
json ToJson(const ClientPackets::GuildAddPlayer& m);
json ToJson(const ClientPackets::GuildRemovePlayer& m);
json ToJson(const ClientPackets::GuildLoginLogout& m);
json ToJson(const ClientPackets::GuildData& m);
json ToJson(const ClientPackets::GuildData::Member& m);
json ToJson(const CommonPackets::ClientVersionConfirm& m);
json ToJson(const CommonPackets::ServerVersionConfirm& m);
json ToJson(const CommonPackets::DisconnectNotify& m);
json ToJson(const CommonPackets::GeneralNotify& m);
json ToJson(const MasterPackets::RequestZoneTransfer& m);
json ToJson(const MasterPackets::RequestZoneTransferResponse& m);
json ToJson(const MasterPackets::ServerInfo& m);
json ToJson(const MasterPackets::RequestSessionKey& m);
json ToJson(const MasterPackets::SetSessionKey& m);
json ToJson(const MasterPackets::SessionKeyResponse& m);
json ToJson(const MasterPackets::NewSessionAlert& m);
json ToJson(const MasterPackets::PlayerCountChange& m);
json ToJson(const MasterPackets::PlayerAdded& m);
json ToJson(const MasterPackets::PlayerRemoved& m);
json ToJson(const MasterPackets::CreatePrivateZone& m);
json ToJson(const MasterPackets::RequestPrivateZone& m);
json ToJson(const MasterPackets::WorldReady& m);
json ToJson(const MasterPackets::WorldReadyInfo& m);
json ToJson(const MasterPackets::PrepZone& m);
json ToJson(const MasterPackets::Shutdown& m);
json ToJson(const MasterPackets::ShutdownResponse& m);
json ToJson(const MasterPackets::WorldShutDown& m);
json ToJson(const MasterPackets::ShutdownUniverse& m);
json ToJson(const MasterPackets::AffirmTransfer& m);
json ToJson(const MasterPackets::AffirmTransferRequest& m);
json ToJson(const MasterPackets::AffirmTransferResponse& m);
json ToJson(const MasterPackets::RequestServerList& m);
json ToJson(const MasterPackets::ServerListResponse& m);
json ToJson(const MasterPackets::ServerListResponse::Instance& m);
json ToJson(const MasterPackets::ServerListResponse::Endpoint& m);
json ToJson(const MasterPackets::DashboardShutdown& m);
json ToJson(const MasterPackets::ConfigReload& m);
json ToJson(const MasterPackets::InstanceShutdown& m);
json ToJson(const WorldPackets::WorldLUBitStream& m);
json ToJson(const WorldPackets::Validation& m);
json ToJson(const WorldPackets::CharacterListRequest& m);
json ToJson(const WorldPackets::CharacterCreateRequest& m);
json ToJson(const WorldPackets::CharacterLoginRequest& m);
json ToJson(const WorldPackets::GameMessage& m);
json ToJson(const WorldPackets::CharacterDeleteRequest& m);
json ToJson(const WorldPackets::CharacterRenameRequest& m);
json ToJson(const WorldPackets::LevelLoadComplete& m);
json ToJson(const WorldPackets::PositionUpdate& m);
json ToJson(const WorldPackets::MailPacket& m);
json ToJson(const WorldPackets::RoutePacket& m);
json ToJson(const WorldPackets::StringCheck& m);
json ToJson(const WorldPackets::GeneralChatMessage& m);
json ToJson(const WorldPackets::TmpGuildCreate& m);
json ToJson(const WorldPackets::HandleFunness& m);
json ToJson(const WorldPackets::RequestUgcManifestInfo& m);
json ToJson(const WorldPackets::UgcDownloadFailed& m);
json ToJson(const WorldPackets::UIHelpTop5& m);
json ToJson(const ChatPackets::WorldRoutePacket& m);
json ToJson(const CDClientReload& m);
json ToJson(const PlayerPositions& m);
json ToJson(const PlayerPositions::Player& m);
json ToJson(const Announcement& m);
json ToJson(const DataChanged& m);
json ToJson(const DataChanged::Entry& m);
json ToJson(const InstanceMigrationRequest& m);
json ToJson(const MigratePlayersOrder& m);
json ToJson(const MigrationStatus& m);
json ToJson(const CarriedPlayerState& m);
json ToJson(const MigratePrepare& m);
json ToJson(const LiveUpdateRequest& m);
json ToJson(const LiveUpdateStatus& m);
json ToJson(const LiveUpdateStatus::Unit& m);
json ToJson(const LiveUpdateRetire& m);
json ToJson(const ChatServerReady& m);
json ToJson(const ChatHandoff& m);
json ToJson(const ChatHandoff::Team& m);
json ToJson(const MessageCaptureControl& m);
json ToJson(const MessageCaptureEntry& m);
json ToJson(const MessageCaptureData& m);
json ToJson(const PlayerActionRequest& m);
json ToJson(const PlayerActionResult& m);
json ToJson(const ProfileRequest& m);
json ToJson(const ProfileResult& m);
json ToJson(const ServerTraffic& m);
json ToJson(const UgcModelsMade& m);
json ToJson(const UpdateStatus& m);
json ToJson(const WorldFilesReport& m);
json ToJson(const WorldReloadRequest& m);
json ToJson(const WorldFilesStatus& m);
json ToJson(const WorldFilesStatus::File& m);
json ToJson(const WorldFilesStatus::Instance& m);
json ToJson(const WorldFilesStatus::Zone& m);
json ToJson(const RemoteInputInfo& m);
json ToJson(const LocalSpaceInfo& m);
json ToJson(const PositionUpdate& m);
json ToJson(const Profiler::Second& m);
json ToJson(const Profiler::MessageTime& m);
json ToJson(const Profiler::Node& m);
json ToJson(const Profiler::Frame& m);
json ToJson(const Profiler::Report& m);
json ToJson(const Profiler::Profile& m);
json ToJson(const TrafficStats::MessageKey& m);
json ToJson(const TrafficStats::PeerCounts& m);
json ToJson(const TrafficStats::MessageCount& m);
json ToJson(const TrafficStats::Second& m);
json ToJson(const TrafficStats::RouteStats& m);
json ToJson(const TrafficStats::Link& m);
json ToJson(const TrafficStats::Connection& m);
json ToJson(const TrafficStats::Report& m);
json ToJson(const ZoneFileLog::Entry& m);
json ToJson(const FriendData& m);
json ToJson(const AuthPackets::LoginRequest& m) {
json j = json::object();
j["username"] = ToJson(m.username);
j["localeID"] = ToJson(m.localeID);
j["clientOS"] = ToJson(m.clientOS);
j["memoryStats"] = ToJson(m.memoryStats);
j["videoCard"] = ToJson(m.videoCard);
j["numberOfProcessors"] = ToJson(m.numberOfProcessors);
j["processorType"] = ToJson(m.processorType);
j["processorLevel"] = ToJson(m.processorLevel);
j["processorRevision"] = ToJson(m.processorRevision);
j["osVersionInfoSize"] = ToJson(m.osVersionInfoSize);
j["majorVersion"] = ToJson(m.majorVersion);
j["minorVersion"] = ToJson(m.minorVersion);
j["buildNumber"] = ToJson(m.buildNumber);
j["platformID"] = ToJson(m.platformID);
return j;
}
json ToJson(const ChatPackets::LoginSessionNotify& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["playerName"] = ToJson(m.playerName);
j["zoneID"] = ToJson(m.zoneID);
j["muteExpire"] = ToJson(m.muteExpire);
j["gmLevel"] = ToJson(m.gmLevel);
j["resync"] = ToJson(m.resync);
return j;
}
json ToJson(const ChatPackets::UnexpectedDisconnect& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
return j;
}
json ToJson(const ChatPackets::GMLevelUpdate& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["gmLevel"] = ToJson(m.gmLevel);
return j;
}
json ToJson(const ChatPackets::GMMute& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["expire"] = ToJson(m.expire);
return j;
}
json ToJson(const ChatPackets::Announcement& m) {
json j = json::object();
j["title"] = ToJson(m.title);
j["message"] = ToJson(m.message);
return j;
}
json ToJson(const ChatPackets::CreateTeam& m) {
json j = json::object();
j["leaderID"] = ToJson(m.leaderID);
j["members"] = ToJson(m.members);
j["zoneID"] = ToJson(m.zoneID);
return j;
}
json ToJson(const ChatPackets::TeamUpdate& m) {
json j = json::object();
j["teamID"] = ToJson(m.teamID);
j["deleteTeam"] = ToJson(m.deleteTeam);
j["lootFlag"] = ToJson(m.lootFlag);
j["members"] = ToJson(m.members);
return j;
}
json ToJson(const ChatPackets::AchievementNotify& m) {
json j = json::object();
j["targetPlayerName"] = ToJson(m.targetPlayerName);
j["missionEmailID"] = ToJson(m.missionEmailID);
j["earningPlayerID"] = ToJson(m.earningPlayerID);
j["earnerName"] = ToJson(m.earnerName);
return j;
}
json ToJson(const ChatPackets::MailNotify& m) {
json j = json::object();
j["receiverID"] = ToJson(m.receiverID);
return j;
}
json ToJson(const ChatPackets::ShowAllRequest& m) {
json j = json::object();
j["requestor"] = ToJson(m.requestor);
j["displayZoneData"] = ToJson(m.displayZoneData);
j["displayIndividualPlayers"] = ToJson(m.displayIndividualPlayers);
return j;
}
json ToJson(const ChatPackets::FindPlayerRequest& m) {
json j = json::object();
j["requestor"] = ToJson(m.requestor);
j["playerName"] = ToJson(m.playerName);
return j;
}
json ToJson(const ChatPackets::GetFriendsList& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
return j;
}
json ToJson(const ChatPackets::AddFriendRequest& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["friendName"] = ToJson(m.friendName);
j["isBestFriendRequest"] = ToJson(m.isBestFriendRequest);
return j;
}
json ToJson(const ChatPackets::AddFriendResponse& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["responseCode"] = ToJson(m.responseCode);
j["friendName"] = ToJson(m.friendName);
return j;
}
json ToJson(const ChatPackets::RemoveFriend& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["friendName"] = ToJson(m.friendName);
return j;
}
json ToJson(const ChatPackets::GetIgnoreList& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
return j;
}
json ToJson(const ChatPackets::AddIgnore& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["playerName"] = ToJson(m.playerName);
return j;
}
json ToJson(const ChatPackets::RemoveIgnore& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["playerName"] = ToJson(m.playerName);
return j;
}
json ToJson(const ChatPackets::GeneralChatMessage& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["chatChannel"] = ToJson(m.chatChannel);
j["messageLength"] = ToJson(m.messageLength);
j["senderName"] = ToJson(m.senderName);
j["senderID"] = ToJson(m.senderID);
j["sourceID"] = ToJson(m.sourceID);
j["senderGMLevel"] = ToJson(m.senderGMLevel);
j["message"] = ToJson(m.message);
return j;
}
json ToJson(const ChatPackets::PrivateChatMessage& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["chatChannel"] = ToJson(m.chatChannel);
j["messageLength"] = ToJson(m.messageLength);
j["senderName"] = ToJson(m.senderName);
j["senderID"] = ToJson(m.senderID);
j["sourceID"] = ToJson(m.sourceID);
j["senderGMLevel"] = ToJson(m.senderGMLevel);
j["receiverName"] = ToJson(m.receiverName);
j["receiverGMLevel"] = ToJson(m.receiverGMLevel);
j["responseCode"] = ToJson(m.responseCode);
j["message"] = ToJson(m.message);
return j;
}
json ToJson(const ChatPackets::TeamInvite& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["invitedPlayer"] = ToJson(m.invitedPlayer);
return j;
}
json ToJson(const ChatPackets::TeamInviteResponse& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["declined"] = ToJson(m.declined);
j["leaderID"] = ToJson(m.leaderID);
return j;
}
json ToJson(const ChatPackets::TeamLeave& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
return j;
}
json ToJson(const ChatPackets::TeamKick& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["kickedPlayer"] = ToJson(m.kickedPlayer);
return j;
}
json ToJson(const ChatPackets::TeamSetLeader& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["promotedPlayer"] = ToJson(m.promotedPlayer);
return j;
}
json ToJson(const ChatPackets::TeamSetLoot& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["lootFlag"] = ToJson(m.lootFlag);
return j;
}
json ToJson(const ChatPackets::TeamGetStatus& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
return j;
}
json ToJson(const ChatPackets::RequestMinimumChatMode& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["chatChannel"] = ToJson(m.chatChannel);
return j;
}
json ToJson(const ChatPackets::RequestMinimumChatModePrivate& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["chatChannel"] = ToJson(m.chatChannel);
j["recipientName"] = ToJson(m.recipientName);
return j;
}
json ToJson(const ChatPackets::GuildInvite& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["invitedPlayer"] = ToJson(m.invitedPlayer);
return j;
}
json ToJson(const ChatPackets::GuildInviteResponse& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["declined"] = ToJson(m.declined);
return j;
}
json ToJson(const ChatPackets::GuildLeave& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
return j;
}
json ToJson(const ChatPackets::GuildGetAll& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
return j;
}
json ToJson(const ChatPackets::GuildCreate& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["guildName"] = ToJson(m.guildName);
return j;
}
json ToJson(const ChatPackets::GuildKick& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["unknown"] = ToJson(m.unknown);
j["kickedPlayer"] = ToJson(m.kickedPlayer);
return j;
}
json ToJson(const ChatPackets::GuildSetRank& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["targetPlayer"] = ToJson(m.targetPlayer);
j["rank"] = ToJson(m.rank);
return j;
}
json ToJson(const ChatPackets::GuildDisband& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
return j;
}
json ToJson(const ChatPackets::GuildStatus& m) {
json j = json::object();
j["characterID"] = ToJson(m.characterID);
j["guildID"] = ToJson(m.guildID);
j["guildName"] = ToJson(m.guildName);
return j;
}
json ToJson(const ChatPackets::MatchRequest& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["type"] = ToJson(m.type);
j["value"] = ToJson(m.value);
j["activityID"] = ToJson(m.activityID);
j["playerName"] = ToJson(m.playerName);
j["playerChoices"] = ToJson(m.playerChoices);
j["instanceMapID"] = ToJson(m.instanceMapID);
j["minTeams"] = ToJson(m.minTeams);
j["maxTeams"] = ToJson(m.maxTeams);
j["minTeamSize"] = ToJson(m.minTeamSize);
j["maxTeamSize"] = ToJson(m.maxTeamSize);
j["waitTime"] = ToJson(m.waitTime);
j["startDelay"] = ToJson(m.startDelay);
return j;
}
json ToJson(const ChatPackets::MatchTransfer& m) {
json j = json::object();
j["activityID"] = ToJson(m.activityID);
j["zoneID"] = ToJson(m.zoneID);
j["serverIP"] = ToJson(m.serverIP);
j["serverPort"] = ToJson(m.serverPort);
j["mythranShift"] = ToJson(m.mythranShift);
j["players"] = ToJson(m.players);
return j;
}
json ToJson(const ChatPackets::Client::GeneralChatMessage& m) {
json j = json::object();
j["unknown"] = ToJson(m.unknown);
j["chatChannel"] = ToJson(m.chatChannel);
j["senderName"] = ToJson(m.senderName);
j["senderID"] = ToJson(m.senderID);
j["sourceID"] = ToJson(m.sourceID);
j["senderGMLevel"] = ToJson(m.senderGMLevel);
j["message"] = ToJson(m.message);
return j;
}
json ToJson(const ChatPackets::Client::PrivateChatMessage& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["chatChannel"] = ToJson(m.chatChannel);
j["messageLength"] = ToJson(m.messageLength);
j["senderName"] = ToJson(m.senderName);
j["senderID"] = ToJson(m.senderID);
j["sourceID"] = ToJson(m.sourceID);
j["senderGMLevel"] = ToJson(m.senderGMLevel);
j["receiverName"] = ToJson(m.receiverName);
j["receiverGMLevel"] = ToJson(m.receiverGMLevel);
j["responseCode"] = ToJson(m.responseCode);
j["message"] = ToJson(m.message);
return j;
}
json ToJson(const ClientPackets::LoginResponse& m) {
json j = json::object();
j["responseCode"] = ToJson(m.responseCode);
j["versionMajor"] = ToJson(m.versionMajor);
j["versionCurrent"] = ToJson(m.versionCurrent);
j["versionMinor"] = ToJson(m.versionMinor);
j["worldServerIP"] = ToJson(m.worldServerIP);
j["chatServerIP"] = ToJson(m.chatServerIP);
j["worldServerPort"] = ToJson(m.worldServerPort);
j["chatServerPort"] = ToJson(m.chatServerPort);
j["cdnTicket"] = ToJson(m.cdnTicket);
j["language"] = ToJson(m.language);
j["localization"] = ToJson(m.localization);
j["justUpgradedFromF2P"] = ToJson(m.justUpgradedFromF2P);
j["isFreeToPlay"] = ToJson(m.isFreeToPlay);
j["freeToPlayTimeRemaining"] = ToJson(m.freeToPlayTimeRemaining);
j["errorMessage"] = ToJson(m.errorMessage);
j["stamps"] = ToJson(m.stamps);
return j;
}
json ToJson(const ClientPackets::LoadStaticZone& m) {
json j = json::object();
j["mapID"] = ToJson(m.mapID);
j["instanceID"] = ToJson(m.instanceID);
j["cloneID"] = ToJson(m.cloneID);
j["mapChecksum"] = ToJson(m.mapChecksum);
j["editorEnabled"] = ToJson(m.editorEnabled);
j["editorLevel"] = ToJson(m.editorLevel);
j["playerPosition"] = ToJson(m.playerPosition);
j["instanceType"] = ToJson(m.instanceType);
return j;
}
json ToJson(const ClientPackets::CharacterListResponse& m) {
json j = json::object();
j["selectedCharacterIndex"] = ToJson(m.selectedCharacterIndex);
j["characters"] = ToJson(m.characters);
return j;
}
json ToJson(const ClientPackets::CharacterListResponse::Character& m) {
json j = json::object();
j["objectID"] = ToJson(m.objectID);
j["unknown1"] = ToJson(m.unknown1);
j["name"] = ToJson(m.name);
j["unapprovedName"] = ToJson(m.unapprovedName);
j["nameRejected"] = ToJson(m.nameRejected);
j["isFreeToPlay"] = ToJson(m.isFreeToPlay);
j["unknown2"] = ToJson(m.unknown2);
j["shirtColor"] = ToJson(m.shirtColor);
j["shirtStyle"] = ToJson(m.shirtStyle);
j["pantsColor"] = ToJson(m.pantsColor);
j["hairStyle"] = ToJson(m.hairStyle);
j["hairColor"] = ToJson(m.hairColor);
j["leftHand"] = ToJson(m.leftHand);
j["rightHand"] = ToJson(m.rightHand);
j["eyebrows"] = ToJson(m.eyebrows);
j["eyes"] = ToJson(m.eyes);
j["mouth"] = ToJson(m.mouth);
j["unknown3"] = ToJson(m.unknown3);
j["zoneID"] = ToJson(m.zoneID);
j["zoneInstance"] = ToJson(m.zoneInstance);
j["zoneClone"] = ToJson(m.zoneClone);
j["lastLogin"] = ToJson(m.lastLogin);
j["equippedItems"] = ToJson(m.equippedItems);
return j;
}
json ToJson(const ClientPackets::CharacterCreateResponse& m) {
json j = json::object();
j["response"] = ToJson(m.response);
return j;
}
json ToJson(const ClientPackets::CharacterRenameResponse& m) {
json j = json::object();
j["response"] = ToJson(m.response);
return j;
}
json ToJson(const ClientPackets::DeleteCharacterResponse& m) {
json j = json::object();
j["success"] = ToJson(m.success);
return j;
}
json ToJson(const ClientPackets::TransferToWorld& m) {
json j = json::object();
j["serverIP"] = ToJson(m.serverIP);
j["serverPort"] = ToJson(m.serverPort);
j["mythranShift"] = ToJson(m.mythranShift);
return j;
}
json ToJson(const ClientPackets::ServerStates& m) {
json j = json::object();
j["serverState"] = ToJson(m.serverState);
return j;
}
json ToJson(const ClientPackets::CreateCharacter& m) {
json j = json::object();
j["objectID"] = ToJson(m.objectID);
j["templateID"] = ToJson(m.templateID);
j["xmlData"] = ToJson(m.xmlData);
j["name"] = ToJson(m.name);
j["gmLevel"] = ToJson(m.gmLevel);
j["chatMode"] = ToJson(m.chatMode);
j["reputation"] = ToJson(m.reputation);
j["propertyCloneID"] = ToJson(m.propertyCloneID);
j["txfring"] = ToJson(m.txfring);
j["sendWorldKeys"] = ToJson(m.sendWorldKeys);
j["legoClub"] = ToJson(m.legoClub);
j["freeTrial"] = ToJson(m.freeTrial);
j["requiresRename"] = ToJson(m.requiresRename);
j["levelID"] = ToJson(m.levelID);
j["position"] = ToJson(m.position);
j["rotation"] = ToJson(m.rotation);
return j;
}
json ToJson(const ClientPackets::ChatModerationString& m) {
json j = json::object();
j["requestAccepted"] = ToJson(m.requestAccepted);
j["sourceID"] = ToJson(m.sourceID);
j["requestID"] = ToJson(m.requestID);
j["chatMode"] = ToJson(m.chatMode);
j["receiver"] = ToJson(m.receiver);
j["rejectedSegments"] = ToJson(m.rejectedSegments);
return j;
}
json ToJson(const ClientPackets::MakeGMResponse& m) {
json j = json::object();
j["success"] = ToJson(m.success);
j["highestLevel"] = ToJson(m.highestLevel);
j["previousLevel"] = ToJson(m.previousLevel);
j["newLevel"] = ToJson(m.newLevel);
return j;
}
json ToJson(const ClientPackets::HTTPMonitorInfoResponse& m) {
json j = json::object();
j["port"] = ToJson(m.port);
j["openWeb"] = ToJson(m.openWeb);
j["supportsSum"] = ToJson(m.supportsSum);
j["supportsDetail"] = ToJson(m.supportsDetail);
j["supportsWho"] = ToJson(m.supportsWho);
j["supportsObjects"] = ToJson(m.supportsObjects);
return j;
}
json ToJson(const ClientPackets::DebugOutput& m) {
json j = json::object();
j["data"] = ToJson(m.data);
return j;
}
json ToJson(const ClientPackets::BlueprintSaveResponse& m) {
json j = json::object();
j["localId"] = ToJson(m.localId);
j["reasonCode"] = ToJson(m.reasonCode);
j["models"] = ToJson(m.models);
return j;
}
json ToJson(const ClientPackets::BlueprintSaveResponse::Model& m) {
json j = json::object();
j["blueprintId"] = ToJson(m.blueprintId);
j["data"] = ToJson(m.data);
return j;
}
json ToJson(const ClientPackets::BlueprintLoadItemResponse& m) {
json j = json::object();
j["success"] = ToJson(m.success);
j["itemId"] = ToJson(m.itemId);
j["destItemId"] = ToJson(m.destItemId);
return j;
}
json ToJson(const ClientPackets::UgcManifestResponse& m) {
json j = json::object();
j["blueprintId"] = ToJson(m.blueprintId);
j["resourceType"] = ToJson(m.resourceType);
j["valid"] = ToJson(m.valid);
j["fileSize"] = ToJson(m.fileSize);
j["md5"] = ToJson(m.md5);
return j;
}
json ToJson(const ClientPackets::MinimumChatModeResponse& m) {
json j = json::object();
j["chatMode"] = ToJson(m.chatMode);
j["chatChannel"] = ToJson(m.chatChannel);
return j;
}
json ToJson(const ClientPackets::MinimumChatModeResponsePrivate& m) {
json j = json::object();
j["chatMode"] = ToJson(m.chatMode);
j["chatChannel"] = ToJson(m.chatChannel);
j["recipientName"] = ToJson(m.recipientName);
j["recipientGMLevel"] = ToJson(m.recipientGMLevel);
return j;
}
json ToJson(const ClientPackets::SendCannedText& m) {
json j = json::object();
j["responseType"] = ToJson(m.responseType);
return j;
}
json ToJson(const ClientPackets::GetFriendsListResponse& m) {
json j = json::object();
j["responseCode"] = ToJson(m.responseCode);
j["packetLength"] = ToJson(m.packetLength);
j["friends"] = ToJson(m.friends);
return j;
}
json ToJson(const ClientPackets::AddFriendRequest& m) {
json j = json::object();
j["requestorName"] = ToJson(m.requestorName);
j["isBestFriendRequest"] = ToJson(m.isBestFriendRequest);
return j;
}
json ToJson(const ClientPackets::AddFriendResponse& m) {
json j = json::object();
j["responseCode"] = ToJson(m.responseCode);
j["isOnlineOrBestFriend"] = ToJson(m.isOnlineOrBestFriend);
j["friendName"] = ToJson(m.friendName);
j["friendID"] = ToJson(m.friendID);
j["zoneID"] = ToJson(m.zoneID);
j["isBestFriend"] = ToJson(m.isBestFriend);
j["isFreeTrial"] = ToJson(m.isFreeTrial);
return j;
}
json ToJson(const ClientPackets::RemoveFriendResponse& m) {
json j = json::object();
j["isSuccessful"] = ToJson(m.isSuccessful);
j["friendName"] = ToJson(m.friendName);
return j;
}
json ToJson(const ClientPackets::UpdateFriendNotify& m) {
json j = json::object();
j["notifyType"] = ToJson(m.notifyType);
j["friendName"] = ToJson(m.friendName);
j["zoneID"] = ToJson(m.zoneID);
j["isBestFriend"] = ToJson(m.isBestFriend);
j["isFreeTrial"] = ToJson(m.isFreeTrial);
return j;
}
json ToJson(const ClientPackets::WhoResponse& m) {
json j = json::object();
j["isOnline"] = ToJson(m.isOnline);
j["zoneID"] = ToJson(m.zoneID);
j["playerName"] = ToJson(m.playerName);
return j;
}
json ToJson(const ClientPackets::ShowAllResponse& m) {
json j = json::object();
j["playerCount"] = ToJson(m.playerCount);
j["simCount"] = ToJson(m.simCount);
j["displayIndividualPlayers"] = ToJson(m.displayIndividualPlayers);
j["displayZoneData"] = ToJson(m.displayZoneData);
j["players"] = ToJson(m.players);
return j;
}
json ToJson(const ClientPackets::ShowAllResponse::Player& m) {
json j = json::object();
j["name"] = ToJson(m.name);
j["zoneID"] = ToJson(m.zoneID);
return j;
}
json ToJson(const ClientPackets::GetIgnoreListResponse& m) {
json j = json::object();
j["isFreeTrial"] = ToJson(m.isFreeTrial);
j["padding"] = ToJson(m.padding);
j["ignored"] = ToJson(m.ignored);
return j;
}
json ToJson(const ClientPackets::GetIgnoreListResponse::Ignored& m) {
json j = json::object();
j["playerID"] = ToJson(m.playerID);
j["playerName"] = ToJson(m.playerName);
return j;
}
json ToJson(const ClientPackets::AddIgnoreResponse& m) {
json j = json::object();
j["responseCode"] = ToJson(m.responseCode);
j["playerName"] = ToJson(m.playerName);
j["playerID"] = ToJson(m.playerID);
return j;
}
json ToJson(const ClientPackets::RemoveIgnoreResponse& m) {
json j = json::object();
j["responseCode"] = ToJson(m.responseCode);
j["playerName"] = ToJson(m.playerName);
return j;
}
json ToJson(const ClientPackets::TeamInvite& m) {
json j = json::object();
j["senderName"] = ToJson(m.senderName);
j["senderID"] = ToJson(m.senderID);
return j;
}
json ToJson(const ClientPackets::TeamInviteInitialResponse& m) {
json j = json::object();
j["inviteFailedToSend"] = ToJson(m.inviteFailedToSend);
j["playerName"] = ToJson(m.playerName);
return j;
}
json ToJson(const ClientPackets::GuildCreateResponse& m) {
json j = json::object();
j["result"] = ToJson(m.result);
j["guildID"] = ToJson(m.guildID);
j["guildName"] = ToJson(m.guildName);
return j;
}
json ToJson(const ClientPackets::GuildInvite& m) {
json j = json::object();
j["inviterName"] = ToJson(m.inviterName);
j["guildName"] = ToJson(m.guildName);
return j;
}
json ToJson(const ClientPackets::GuildInviteInitialResponse& m) {
json j = json::object();
j["response"] = ToJson(m.response);
j["playerName"] = ToJson(m.playerName);
return j;
}
json ToJson(const ClientPackets::GuildInviteFinalResponse& m) {
json j = json::object();
j["response"] = ToJson(m.response);
j["playerName"] = ToJson(m.playerName);
return j;
}
json ToJson(const ClientPackets::GuildInviteConfirm& m) {
json j = json::object();
j["failed"] = ToJson(m.failed);
j["guildName"] = ToJson(m.guildName);
return j;
}
json ToJson(const ClientPackets::GuildAddPlayer& m) {
json j = json::object();
j["playerName"] = ToJson(m.playerName);
j["playerID"] = ToJson(m.playerID);
j["rank"] = ToJson(m.rank);
j["zoneID"] = ToJson(m.zoneID);
j["online"] = ToJson(m.online);
return j;
}
json ToJson(const ClientPackets::GuildRemovePlayer& m) {
json j = json::object();
j["reason"] = ToJson(m.reason);
j["playerName"] = ToJson(m.playerName);
j["playerID"] = ToJson(m.playerID);
j["newLeaderID"] = ToJson(m.newLeaderID);
return j;
}
json ToJson(const ClientPackets::GuildLoginLogout& m) {
json j = json::object();
j["playerName"] = ToJson(m.playerName);
j["playerID"] = ToJson(m.playerID);
j["online"] = ToJson(m.online);
j["zoneID"] = ToJson(m.zoneID);
j["worldUpdateOnly"] = ToJson(m.worldUpdateOnly);
return j;
}
json ToJson(const ClientPackets::GuildData& m) {
json j = json::object();
j["status"] = ToJson(m.status);
j["guildName"] = ToJson(m.guildName);
j["joinDate"] = ToJson(m.joinDate);
j["foundDate"] = ToJson(m.foundDate);
j["reputation"] = ToJson(m.reputation);
j["unknown1"] = ToJson(m.unknown1);
j["unknown2"] = ToJson(m.unknown2);
j["unknown3"] = ToJson(m.unknown3);
j["members"] = ToJson(m.members);
return j;
}
json ToJson(const ClientPackets::GuildData::Member& m) {
json j = json::object();
j["rank"] = ToJson(m.rank);
j["online"] = ToJson(m.online);
j["zoneID"] = ToJson(m.zoneID);
j["playerID"] = ToJson(m.playerID);
j["name"] = ToJson(m.name);
return j;
}
json ToJson(const CommonPackets::ClientVersionConfirm& m) {
json j = json::object();
j["netVersion"] = ToJson(m.netVersion);
j["unknown"] = ToJson(m.unknown);
j["serviceType"] = ToJson(m.serviceType);
j["padding"] = ToJson(m.padding);
j["processID"] = ToJson(m.processID);
j["port"] = ToJson(m.port);
j["unknown2"] = ToJson(m.unknown2);
return j;
}
json ToJson(const CommonPackets::ServerVersionConfirm& m) {
json j = json::object();
j["netVersion"] = ToJson(m.netVersion);
j["unknown"] = ToJson(m.unknown);
j["serviceType"] = ToJson(m.serviceType);
j["versionMajor"] = ToJson(m.versionMajor);
j["versionMinor"] = ToJson(m.versionMinor);
j["versionPatch"] = ToJson(m.versionPatch);
j["buildString"] = ToJson(m.buildString);
return j;
}
json ToJson(const CommonPackets::DisconnectNotify& m) {
json j = json::object();
j["disconnectID"] = ToJson(m.disconnectID);
return j;
}
json ToJson(const CommonPackets::GeneralNotify& m) {
json j = json::object();
j["notifyType"] = ToJson(m.notifyType);
j["showMessageBox"] = ToJson(m.showMessageBox);
return j;
}
json ToJson(const MasterPackets::RequestZoneTransfer& m) {
json j = json::object();
j["requestID"] = ToJson(m.requestID);
j["mythranShift"] = ToJson(m.mythranShift);
j["zoneID"] = ToJson(m.zoneID);
j["cloneID"] = ToJson(m.cloneID);
j["stamps"] = ToJson(m.stamps);
return j;
}
json ToJson(const MasterPackets::RequestZoneTransferResponse& m) {
json j = json::object();
j["requestID"] = ToJson(m.requestID);
j["mythranShift"] = ToJson(m.mythranShift);
j["zoneID"] = ToJson(m.zoneID);
j["zoneInstance"] = ToJson(m.zoneInstance);
j["zoneClone"] = ToJson(m.zoneClone);
j["serverPort"] = ToJson(m.serverPort);
j["serverIP"] = ToJson(m.serverIP);
j["stamps"] = ToJson(m.stamps);
return j;
}
json ToJson(const MasterPackets::ServerInfo& m) {
json j = json::object();
j["port"] = ToJson(m.port);
j["zoneID"] = ToJson(m.zoneID);
j["instanceID"] = ToJson(m.instanceID);
j["serverType"] = ToJson(m.serverType);
j["ip"] = ToJson(m.ip);
return j;
}
json ToJson(const MasterPackets::RequestSessionKey& m) {
json j = json::object();
j["username"] = ToJson(m.username);
return j;
}
json ToJson(const MasterPackets::SetSessionKey& m) {
json j = json::object();
j["username"] = ToJson(m.username);
return j;
}
json ToJson(const MasterPackets::SessionKeyResponse& m) {
json j = json::object();
j["username"] = ToJson(m.username);
return j;
}
json ToJson(const MasterPackets::NewSessionAlert& m) {
json j = json::object();
j["username"] = ToJson(m.username);
return j;
}
json ToJson(const MasterPackets::PlayerCountChange& m) {
json j = json::object();
j["zoneID"] = ToJson(m.zoneID);
j["instanceID"] = ToJson(m.instanceID);
return j;
}
json ToJson(const MasterPackets::PlayerAdded& m) {
json j = ToJson(static_cast<const MasterPackets::PlayerCountChange&>(m));
return j;
}
json ToJson(const MasterPackets::PlayerRemoved& m) {
json j = ToJson(static_cast<const MasterPackets::PlayerCountChange&>(m));
return j;
}
json ToJson(const MasterPackets::CreatePrivateZone& m) {
json j = json::object();
j["zoneID"] = ToJson(m.zoneID);
j["cloneID"] = ToJson(m.cloneID);
return j;
}
json ToJson(const MasterPackets::RequestPrivateZone& m) {
json j = json::object();
j["requestID"] = ToJson(m.requestID);
j["mythranShift"] = ToJson(m.mythranShift);
return j;
}
json ToJson(const MasterPackets::WorldReady& m) {
json j = json::object();
j["zoneID"] = ToJson(m.zoneID);
j["instanceID"] = ToJson(m.instanceID);
return j;
}
json ToJson(const MasterPackets::WorldReadyInfo& m) {
json j = json::object();
j["zoneID"] = ToJson(m.zoneID);
j["instanceID"] = ToJson(m.instanceID);
j["cloneID"] = ToJson(m.cloneID);
j["ip"] = ToJson(m.ip);
j["port"] = ToJson(m.port);
j["isPrivate"] = ToJson(m.isPrivate);
return j;
}
json ToJson(const MasterPackets::PrepZone& m) {
json j = json::object();
j["zoneID"] = ToJson(m.zoneID);
j["cloneID"] = ToJson(m.cloneID);
return j;
}
json ToJson(const MasterPackets::Shutdown& m) {
json j = json::object();
return j;
}
json ToJson(const MasterPackets::ShutdownResponse& m) {
json j = json::object();
return j;
}
json ToJson(const MasterPackets::WorldShutDown& m) {
json j = json::object();
j["zoneID"] = ToJson(m.zoneID);
j["instanceID"] = ToJson(m.instanceID);
return j;
}
json ToJson(const MasterPackets::ShutdownUniverse& m) {
json j = json::object();
return j;
}
json ToJson(const MasterPackets::AffirmTransfer& m) {
json j = json::object();
j["requestID"] = ToJson(m.requestID);
return j;
}
json ToJson(const MasterPackets::AffirmTransferRequest& m) {
json j = ToJson(static_cast<const MasterPackets::AffirmTransfer&>(m));
return j;
}
json ToJson(const MasterPackets::AffirmTransferResponse& m) {
json j = ToJson(static_cast<const MasterPackets::AffirmTransfer&>(m));
return j;
}
json ToJson(const MasterPackets::RequestServerList& m) {
json j = json::object();
return j;
}
json ToJson(const MasterPackets::ServerListResponse& m) {
json j = json::object();
j["authOnline"] = ToJson(m.authOnline);
j["chatOnline"] = ToJson(m.chatOnline);
j["instances"] = ToJson(m.instances);
j["ugcEnabled"] = ToJson(m.ugcEnabled);
j["ugcOnline"] = ToJson(m.ugcOnline);
j["ugcPid"] = ToJson(m.ugcPid);
j["endpoints"] = ToJson(m.endpoints);
return j;
}
json ToJson(const MasterPackets::ServerListResponse::Instance& m) {
json j = json::object();
j["mapID"] = ToJson(m.mapID);
j["instanceID"] = ToJson(m.instanceID);
j["cloneID"] = ToJson(m.cloneID);
j["players"] = ToJson(m.players);
j["ip"] = ToJson(m.ip);
j["port"] = ToJson(m.port);
j["isPrivate"] = ToJson(m.isPrivate);
j["state"] = ToJson(m.state);
j["outdated"] = ToJson(m.outdated);
return j;
}
json ToJson(const MasterPackets::ServerListResponse::Endpoint& m) {
json j = json::object();
j["type"] = ToJson(m.type);
j["zoneID"] = ToJson(m.zoneID);
j["instanceID"] = ToJson(m.instanceID);
j["ip"] = ToJson(m.ip);
j["port"] = ToJson(m.port);
j["host"] = ToJson(m.host);
return j;
}
json ToJson(const MasterPackets::DashboardShutdown& m) {
json j = json::object();
return j;
}
json ToJson(const MasterPackets::ConfigReload& m) {
json j = json::object();
return j;
}
json ToJson(const MasterPackets::InstanceShutdown& m) {
json j = json::object();
j["zoneID"] = ToJson(m.zoneID);
j["instanceID"] = ToJson(m.instanceID);
return j;
}
json ToJson(const WorldPackets::WorldLUBitStream& m) {
json j = json::object();
return j;
}
json ToJson(const WorldPackets::Validation& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["username"] = ToJson(m.username);
j["fdbChecksum"] = ToJson(m.fdbChecksum);
return j;
}
json ToJson(const WorldPackets::CharacterListRequest& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
return j;
}
json ToJson(const WorldPackets::CharacterCreateRequest& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["name"] = ToJson(m.name);
j["firstNameIndex"] = ToJson(m.firstNameIndex);
j["middleNameIndex"] = ToJson(m.middleNameIndex);
j["lastNameIndex"] = ToJson(m.lastNameIndex);
j["unknown"] = ToJson(m.unknown);
j["shirtColor"] = ToJson(m.shirtColor);
j["shirtStyle"] = ToJson(m.shirtStyle);
j["pantsColor"] = ToJson(m.pantsColor);
j["hairStyle"] = ToJson(m.hairStyle);
j["hairColor"] = ToJson(m.hairColor);
j["leftHand"] = ToJson(m.leftHand);
j["rightHand"] = ToJson(m.rightHand);
j["eyebrows"] = ToJson(m.eyebrows);
j["eyes"] = ToJson(m.eyes);
j["mouth"] = ToJson(m.mouth);
return j;
}
json ToJson(const WorldPackets::CharacterLoginRequest& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["playerID"] = ToJson(m.playerID);
return j;
}
json ToJson(const WorldPackets::GameMessage& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["objectID"] = ToJson(m.objectID);
j["messageID"] = ToJson(m.messageID);
j["data"] = ToJson(m.data);
return j;
}
json ToJson(const WorldPackets::CharacterDeleteRequest& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["objectID"] = ToJson(m.objectID);
return j;
}
json ToJson(const WorldPackets::CharacterRenameRequest& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["objectID"] = ToJson(m.objectID);
j["name"] = ToJson(m.name);
return j;
}
json ToJson(const WorldPackets::LevelLoadComplete& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["mapID"] = ToJson(m.mapID);
j["instanceID"] = ToJson(m.instanceID);
j["cloneID"] = ToJson(m.cloneID);
return j;
}
json ToJson(const WorldPackets::PositionUpdate& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["update"] = ToJson(m.update);
j["hasVelocity"] = ToJson(m.hasVelocity);
j["hasAngularVelocity"] = ToJson(m.hasAngularVelocity);
j["hasLocalSpaceInfo"] = ToJson(m.hasLocalSpaceInfo);
j["hasLinearVelocity"] = ToJson(m.hasLinearVelocity);
j["hasRemoteInputInfo"] = ToJson(m.hasRemoteInputInfo);
return j;
}
json ToJson(const WorldPackets::MailPacket& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["data"] = ToJson(m.data);
return j;
}
json ToJson(const WorldPackets::RoutePacket& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["size"] = ToJson(m.size);
j["routedService"] = ToJson(m.routedService);
j["routedMessageID"] = ToJson(m.routedMessageID);
j["padding"] = ToJson(m.padding);
j["routedData"] = ToJson(m.routedData);
return j;
}
json ToJson(const WorldPackets::StringCheck& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["chatLevel"] = ToJson(m.chatLevel);
j["requestID"] = ToJson(m.requestID);
j["message"] = ToJson(m.message);
return j;
}
json ToJson(const WorldPackets::GeneralChatMessage& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["chatChannel"] = ToJson(m.chatChannel);
j["unknown"] = ToJson(m.unknown);
j["message"] = ToJson(m.message);
return j;
}
json ToJson(const WorldPackets::TmpGuildCreate& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["guildName"] = ToJson(m.guildName);
return j;
}
json ToJson(const WorldPackets::HandleFunness& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["cheatInfo"] = ToJson(m.cheatInfo);
j["cheatType"] = ToJson(m.cheatType);
return j;
}
json ToJson(const WorldPackets::RequestUgcManifestInfo& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["blueprintId"] = ToJson(m.blueprintId);
j["resourceType"] = ToJson(m.resourceType);
return j;
}
json ToJson(const WorldPackets::UgcDownloadFailed& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["resType"] = ToJson(m.resType);
j["blueprintId"] = ToJson(m.blueprintId);
j["statusCode"] = ToJson(m.statusCode);
j["charId"] = ToJson(m.charId);
return j;
}
json ToJson(const WorldPackets::UIHelpTop5& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["language"] = ToJson(m.language);
return j;
}
json ToJson(const ChatPackets::WorldRoutePacket& m) {
json j = json::object();
j["targetID"] = ToJson(m.targetID);
j["routedData"] = ToJson(m.routedData);
return j;
}
json ToJson(const CDClientReload& m) {
json j = json::object();
j["requesterId"] = ToJson(m.requesterId);
j["fdb"] = ToJson(m.fdb);
j["sqlite"] = ToJson(m.sqlite);
return j;
}
json ToJson(const PlayerPositions& m) {
json j = json::object();
j["zoneId"] = ToJson(m.zoneId);
j["instanceId"] = ToJson(m.instanceId);
j["cloneId"] = ToJson(m.cloneId);
j["players"] = ToJson(m.players);
return j;
}
json ToJson(const PlayerPositions::Player& m) {
json j = json::object();
j["characterId"] = ToJson(m.characterId);
j["x"] = ToJson(m.x);
return j;
}
json ToJson(const Announcement& m) {
json j = json::object();
j["title"] = ToJson(m.title);
j["message"] = ToJson(m.message);
j["zones"] = ToJson(m.zones);
return j;
}
json ToJson(const DataChanged& m) {
json j = json::object();
j["entries"] = ToJson(m.entries);
return j;
}
json ToJson(const DataChanged::Entry& m) {
json j = json::object();
j["table"] = ToJson(m.table);
j["id"] = ToJson(m.id);
return j;
}
json ToJson(const InstanceMigrationRequest& m) {
json j = json::object();
j["requestId"] = ToJson(m.requestId);
j["kind"] = ToJson(m.kind);
j["zoneId"] = ToJson(m.zoneId);
j["sourceInstance"] = ToJson(m.sourceInstance);
j["targetInstance"] = ToJson(m.targetInstance);
j["warnSeconds"] = ToJson(m.warnSeconds);
j["shutdownSource"] = ToJson(m.shutdownSource);
j["seamless"] = ToJson(m.seamless);
j["requesterId"] = ToJson(m.requesterId);
j["requestedBy"] = ToJson(m.requestedBy);
return j;
}
json ToJson(const MigratePlayersOrder& m) {
json j = json::object();
j["migrationId"] = ToJson(m.migrationId);
j["targetZone"] = ToJson(m.targetZone);
j["targetInstance"] = ToJson(m.targetInstance);
j["targetClone"] = ToJson(m.targetClone);
j["targetIp"] = ToJson(m.targetIp);
j["targetPort"] = ToJson(m.targetPort);
j["warnSeconds"] = ToJson(m.warnSeconds);
j["playersPerSecond"] = ToJson(m.playersPerSecond);
j["mythranShift"] = ToJson(m.mythranShift);
j["seamless"] = ToJson(m.seamless);
j["maxWaitSeconds"] = ToJson(m.maxWaitSeconds);
return j;
}
json ToJson(const MigrationStatus& m) {
json j = json::object();
j["migrationId"] = ToJson(m.migrationId);
j["state"] = ToJson(m.state);
j["kind"] = ToJson(m.kind);
j["zoneId"] = ToJson(m.zoneId);
j["sourceInstance"] = ToJson(m.sourceInstance);
j["targetInstance"] = ToJson(m.targetInstance);
j["moved"] = ToJson(m.moved);
j["remaining"] = ToJson(m.remaining);
j["failed"] = ToJson(m.failed);
j["requesterId"] = ToJson(m.requesterId);
j["message"] = ToJson(m.message);
return j;
}
json ToJson(const CarriedPlayerState& m) {
json j = json::object();
j["targetZone"] = ToJson(m.targetZone);
j["targetInstance"] = ToJson(m.targetInstance);
j["characterId"] = ToJson(m.characterId);
j["petItemId"] = ToJson(m.petItemId);
j["seamless"] = ToJson(m.seamless);
j["hasPosition"] = ToJson(m.hasPosition);
j["x"] = ToJson(m.x);
j["rotW"] = ToJson(m.rotW);
return j;
}
json ToJson(const MigratePrepare& m) {
json j = json::object();
j["migrationId"] = ToJson(m.migrationId);
j["maxWaitSeconds"] = ToJson(m.maxWaitSeconds);
return j;
}
json ToJson(const LiveUpdateRequest& m) {
json j = json::object();
j["action"] = ToJson(m.action);
j["warnSeconds"] = ToJson(m.warnSeconds);
j["requesterId"] = ToJson(m.requesterId);
j["requestedBy"] = ToJson(m.requestedBy);
return j;
}
json ToJson(const LiveUpdateStatus& m) {
json j = json::object();
j["updateId"] = ToJson(m.updateId);
j["phase"] = ToJson(m.phase);
j["startedAt"] = ToJson(m.startedAt);
j["finishedAt"] = ToJson(m.finishedAt);
j["requesterId"] = ToJson(m.requesterId);
j["by"] = ToJson(m.by);
j["message"] = ToJson(m.message);
j["units"] = ToJson(m.units);
return j;
}
json ToJson(const LiveUpdateStatus::Unit& m) {
json j = json::object();
j["kind"] = ToJson(m.kind);
j["state"] = ToJson(m.state);
j["zoneId"] = ToJson(m.zoneId);
j["instanceId"] = ToJson(m.instanceId);
j["cloneId"] = ToJson(m.cloneId);
j["replacement"] = ToJson(m.replacement);
j["players"] = ToJson(m.players);
j["moved"] = ToJson(m.moved);
j["isPrivate"] = ToJson(m.isPrivate);
j["message"] = ToJson(m.message);
return j;
}
json ToJson(const LiveUpdateRetire& m) {
json j = json::object();
return j;
}
json ToJson(const ChatServerReady& m) {
json j = json::object();
return j;
}
json ToJson(const ChatHandoff& m) {
json j = json::object();
j["teams"] = ToJson(m.teams);
return j;
}
json ToJson(const ChatHandoff::Team& m) {
json j = json::object();
j["teamId"] = ToJson(m.teamId);
j["leaderId"] = ToJson(m.leaderId);
j["members"] = ToJson(m.members);
j["lootFlag"] = ToJson(m.lootFlag);
j["local"] = ToJson(m.local);
j["zoneId"] = ToJson(m.zoneId);
j["instanceId"] = ToJson(m.instanceId);
j["cloneId"] = ToJson(m.cloneId);
return j;
}
json ToJson(const MessageCaptureControl& m) {
json j = json::object();
j["captureId"] = ToJson(m.captureId);
j["action"] = ToJson(m.action);
j["characterId"] = ToJson(m.characterId);
j["seconds"] = ToJson(m.seconds);
j["toServer"] = ToJson(m.toServer);
j["toClient"] = ToJson(m.toClient);
j["only"] = ToJson(m.only);
j["skip"] = ToJson(m.skip);
j["slot"] = ToJson(m.slot);
j["target"] = ToJson(m.target);
j["accountId"] = ToJson(m.accountId);
j["accountName"] = ToJson(m.accountName);
j["characterIds"] = ToJson(m.characterIds);
return j;
}
json ToJson(const MessageCaptureEntry& m) {
json j = json::object();
j["sequence"] = ToJson(m.sequence);
j["timeMs"] = ToJson(m.timeMs);
j["direction"] = ToJson(m.direction);
j["messageId"] = ToJson(m.messageId);
j["objectId"] = ToJson(m.objectId);
j["bits"] = ToJson(m.bits);
j["payload"] = ToJson(m.payload);
j["decoded"] = ToJson(m.decoded);
return j;
}
json ToJson(const MessageCaptureData& m) {
json j = json::object();
j["captureId"] = ToJson(m.captureId);
j["status"] = ToJson(m.status);
j["characterId"] = ToJson(m.characterId);
j["zoneId"] = ToJson(m.zoneId);
j["instanceId"] = ToJson(m.instanceId);
j["reason"] = ToJson(m.reason);
j["dropped"] = ToJson(m.dropped);
j["entries"] = ToJson(m.entries);
j["cloneId"] = ToJson(m.cloneId);
j["source"] = ToJson(m.source);
j["slots"] = ToJson(m.slots);
j["packetCount"] = ToJson(m.packetCount);
j["packetsDropped"] = ToJson(m.packetsDropped);
j["packets"] = ToJson(m.packets);
return j;
}
json ToJson(const PlayerActionRequest& m) {
json j = json::object();
j["requestId"] = ToJson(m.requestId);
j["action"] = ToJson(m.action);
j["accountId"] = ToJson(m.accountId);
j["characterId"] = ToJson(m.characterId);
j["zoneId"] = ToJson(m.zoneId);
j["disconnectReason"] = ToJson(m.disconnectReason);
j["targetId"] = ToJson(m.targetId);
j["approved"] = ToJson(m.approved);
j["text"] = ToJson(m.text);
j["name"] = ToJson(m.name);
j["instanceId"] = ToJson(m.instanceId);
return j;
}
json ToJson(const PlayerActionResult& m) {
json j = json::object();
j["requestId"] = ToJson(m.requestId);
j["action"] = ToJson(m.action);
j["affected"] = ToJson(m.affected);
j["timedOut"] = ToJson(m.timedOut);
return j;
}
json ToJson(const ProfileRequest& m) {
json j = json::object();
j["sessionId"] = ToJson(m.sessionId);
j["serverType"] = ToJson(m.serverType);
j["zoneId"] = ToJson(m.zoneId);
j["instanceId"] = ToJson(m.instanceId);
j["durationMs"] = ToJson(m.durationMs);
j["stop"] = ToJson(m.stop);
return j;
}
json ToJson(const ProfileResult& m) {
json j = json::object();
j["sessionId"] = ToJson(m.sessionId);
j["serverType"] = ToJson(m.serverType);
j["zoneId"] = ToJson(m.zoneId);
j["instanceId"] = ToJson(m.instanceId);
j["status"] = ToJson(m.status);
j["error"] = ToJson(m.error);
j["profile"] = ToJson(m.profile);
return j;
}
json ToJson(const ServerTraffic& m) {
json j = json::object();
j["serverType"] = ToJson(m.serverType);
j["zoneId"] = ToJson(m.zoneId);
j["instanceId"] = ToJson(m.instanceId);
j["report"] = ToJson(m.report);
j["frames"] = ToJson(m.frames);
return j;
}
json ToJson(const UgcModelsMade& m) {
json j = json::object();
j["blueprintIds"] = ToJson(m.blueprintIds);
return j;
}
json ToJson(const UpdateStatus& m) {
json j = json::object();
j["state"] = ToJson(m.state);
j["summary"] = ToJson(m.summary);
return j;
}
json ToJson(const WorldFilesReport& m) {
json j = json::object();
j["zoneId"] = ToJson(m.zoneId);
j["instanceId"] = ToJson(m.instanceId);
j["cloneId"] = ToJson(m.cloneId);
j["files"] = ToJson(m.files);
return j;
}
json ToJson(const WorldReloadRequest& m) {
json j = json::object();
j["zoneId"] = ToJson(m.zoneId);
j["warnSeconds"] = ToJson(m.warnSeconds);
j["requesterId"] = ToJson(m.requesterId);
j["requestedBy"] = ToJson(m.requestedBy);
return j;
}
json ToJson(const WorldFilesStatus& m) {
json j = json::object();
j["watching"] = ToJson(m.watching);
j["watchSeconds"] = ToJson(m.watchSeconds);
j["seamless"] = ToJson(m.seamless);
j["zones"] = ToJson(m.zones);
return j;
}
json ToJson(const WorldFilesStatus::File& m) {
json j = json::object();
j["disk"] = ToJson(m.disk);
j["hashed"] = ToJson(m.hashed);
j["missing"] = ToJson(m.missing);
j["changed"] = ToJson(m.changed);
return j;
}
json ToJson(const WorldFilesStatus::Instance& m) {
json j = json::object();
j["instanceId"] = ToJson(m.instanceId);
j["cloneId"] = ToJson(m.cloneId);
j["players"] = ToJson(m.players);
j["stale"] = ToJson(m.stale);
j["reloading"] = ToJson(m.reloading);
j["outdated"] = ToJson(m.outdated);
return j;
}
json ToJson(const WorldFilesStatus::Zone& m) {
json j = json::object();
j["zoneId"] = ToJson(m.zoneId);
j["files"] = ToJson(m.files);
j["instances"] = ToJson(m.instances);
j["message"] = ToJson(m.message);
return j;
}
json ToJson(const RemoteInputInfo& m) {
json j = json::object();
j["m_RemoteInputX"] = ToJson(m.m_RemoteInputX);
j["m_RemoteInputY"] = ToJson(m.m_RemoteInputY);
j["m_IsPowersliding"] = ToJson(m.m_IsPowersliding);
j["m_IsModified"] = ToJson(m.m_IsModified);
return j;
}
json ToJson(const LocalSpaceInfo& m) {
json j = json::object();
j["objectId"] = ToJson(m.objectId);
j["position"] = ToJson(m.position);
j["linearVelocity"] = ToJson(m.linearVelocity);
return j;
}
json ToJson(const PositionUpdate& m) {
json j = json::object();
j["position"] = ToJson(m.position);
j["rotation"] = ToJson(m.rotation);
j["onGround"] = ToJson(m.onGround);
j["onRail"] = ToJson(m.onRail);
j["velocity"] = ToJson(m.velocity);
j["angularVelocity"] = ToJson(m.angularVelocity);
j["localSpaceInfo"] = ToJson(m.localSpaceInfo);
j["remoteInputInfo"] = ToJson(m.remoteInputInfo);
return j;
}
json ToJson(const Profiler::Second& m) {
json j = json::object();
j["time"] = ToJson(m.time);
j["ticks"] = ToJson(m.ticks);
j["totalUs"] = ToJson(m.totalUs);
j["maxUs"] = ToJson(m.maxUs);
j["frames"] = ToJson(m.frames);
j["phaseUs"] = ToJson(m.phaseUs);
return j;
}
json ToJson(const Profiler::MessageTime& m) {
json j = json::object();
j["key"] = ToJson(m.key);
j["count"] = ToJson(m.count);
j["totalUs"] = ToJson(m.totalUs);
j["maxUs"] = ToJson(m.maxUs);
return j;
}
json ToJson(const Profiler::Node& m) {
json j = json::object();
j["name"] = ToJson(m.name);
j["arg"] = ToJson(m.arg);
j["depth"] = ToJson(m.depth);
j["count"] = ToJson(m.count);
j["totalUs"] = ToJson(m.totalUs);
j["startUs"] = ToJson(m.startUs);
return j;
}
json ToJson(const Profiler::Frame& m) {
json j = json::object();
j["timeMs"] = ToJson(m.timeMs);
j["durationUs"] = ToJson(m.durationUs);
j["implicit"] = ToJson(m.implicit);
j["phaseUs"] = ToJson(m.phaseUs);
j["scopes"] = ToJson(m.scopes);
return j;
}
json ToJson(const Profiler::Report& m) {
json j = json::object();
j["present"] = ToJson(m.present);
j["slowThresholdMs"] = ToJson(m.slowThresholdMs);
j["seconds"] = ToJson(m.seconds);
j["messages"] = ToJson(m.messages);
j["worst"] = ToJson(m.worst);
j["slow"] = ToJson(m.slow);
return j;
}
json ToJson(const Profiler::Profile& m) {
json j = json::object();
j["id"] = ToJson(m.id);
j["durationMs"] = ToJson(m.durationMs);
j["frames"] = ToJson(m.frames);
j["totalUs"] = ToJson(m.totalUs);
j["truncated"] = ToJson(m.truncated);
j["nodes"] = ToJson(m.nodes);
return j;
}
json ToJson(const TrafficStats::MessageKey& m) {
json j = json::object();
j["outbound"] = ToJson(m.outbound);
j["service"] = ToJson(m.service);
j["packet"] = ToJson(m.packet);
j["gameMessage"] = ToJson(m.gameMessage);
return j;
}
json ToJson(const TrafficStats::PeerCounts& m) {
json j = json::object();
j["packetsIn"] = ToJson(m.packetsIn);
j["packetsOut"] = ToJson(m.packetsOut);
j["bytesIn"] = ToJson(m.bytesIn);
j["bytesOut"] = ToJson(m.bytesOut);
return j;
}
json ToJson(const TrafficStats::MessageCount& m) {
json j = json::object();
j["key"] = ToJson(m.key);
j["count"] = ToJson(m.count);
j["bytes"] = ToJson(m.bytes);
return j;
}
json ToJson(const TrafficStats::Second& m) {
json j = json::object();
j["time"] = ToJson(m.time);
j["packetsIn"] = ToJson(m.packetsIn);
j["packetsOut"] = ToJson(m.packetsOut);
j["bytesIn"] = ToJson(m.bytesIn);
j["bytesOut"] = ToJson(m.bytesOut);
j["httpRequests"] = ToJson(m.httpRequests);
j["httpStatus"] = ToJson(m.httpStatus);
j["httpBytesOut"] = ToJson(m.httpBytesOut);
j["httpLatency"] = ToJson(m.httpLatency);
j["peers"] = ToJson(m.peers);
j["httpFromServers"] = ToJson(m.httpFromServers);
j["httpFromServersBytesOut"] = ToJson(m.httpFromServersBytesOut);
j["httpOutRequests"] = ToJson(m.httpOutRequests);
j["httpOutBytesIn"] = ToJson(m.httpOutBytesIn);
return j;
}
json ToJson(const TrafficStats::RouteStats& m) {
json j = json::object();
j["route"] = ToJson(m.route);
j["count"] = ToJson(m.count);
j["status"] = ToJson(m.status);
j["bytesOut"] = ToJson(m.bytesOut);
j["latency"] = ToJson(m.latency);
return j;
}
json ToJson(const TrafficStats::Link& m) {
json j = json::object();
j["connections"] = ToJson(m.connections);
j["datagramsSent"] = ToJson(m.datagramsSent);
j["datagramsReceived"] = ToJson(m.datagramsReceived);
j["bytesSent"] = ToJson(m.bytesSent);
j["bytesReceived"] = ToJson(m.bytesReceived);
j["resends"] = ToJson(m.resends);
j["resendQueue"] = ToJson(m.resendQueue);
j["averagePingMs"] = ToJson(m.averagePingMs);
return j;
}
json ToJson(const TrafficStats::Connection& m) {
json j = json::object();
j["address"] = ToJson(m.address);
j["port"] = ToJson(m.port);
j["peer"] = ToJson(m.peer);
j["http"] = ToJson(m.http);
j["packetsIn"] = ToJson(m.packetsIn);
j["bytesIn"] = ToJson(m.bytesIn);
j["resends"] = ToJson(m.resends);
j["pingMs"] = ToJson(m.pingMs);
j["accountId"] = ToJson(m.accountId);
j["characterId"] = ToJson(m.characterId);
return j;
}
json ToJson(const TrafficStats::Report& m) {
json j = json::object();
j["seconds"] = ToJson(m.seconds);
j["messages"] = ToJson(m.messages);
j["routes"] = ToJson(m.routes);
j["link"] = ToJson(m.link);
j["gauges"] = ToJson(m.gauges);
j["peerSplit"] = ToJson(m.peerSplit);
j["connections"] = ToJson(m.connections);
j["otherConnections"] = ToJson(m.otherConnections);
j["otherConnectionCount"] = ToJson(m.otherConnectionCount);
j["hasConnections"] = ToJson(m.hasConnections);
return j;
}
json ToJson(const ZoneFileLog::Entry& m) {
json j = json::object();
j["kind"] = ToJson(m.kind);
j["packed"] = ToJson(m.packed);
j["size"] = ToJson(m.size);
j["hash"] = ToJson(m.hash);
j["path"] = ToJson(m.path);
return j;
}
json ToJson(const FriendData& m) {
json j = json::object();
j["isOnline"] = ToJson(m.isOnline);
j["isBestFriend"] = ToJson(m.isBestFriend);
j["isFTP"] = ToJson(m.isFTP);
j["zoneID"] = ToJson(m.zoneID);
j["friendID"] = ToJson(m.friendID);
j["friendName"] = ToJson(m.friendName);
return j;
}
// Wire packets: (service, ID, struct, reader). An ID can have more than one struct (one per direction):
// the first that reads the whole packet is shown.
const std::vector<Entry>& Entries() {
static const std::vector<Entry> entries{
{ ServiceType::AUTH, static_cast<uint32_t>(MessageType::Auth::LOGIN_REQUEST), "LoginRequest", true, &ReadWith<AuthPackets::LoginRequest> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::LOGIN_SESSION_NOTIFY), "LoginSessionNotify", false, &ReadWith<ChatPackets::LoginSessionNotify> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::UNEXPECTED_DISCONNECT), "UnexpectedDisconnect", false, &ReadWith<ChatPackets::UnexpectedDisconnect> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GMLEVEL_UPDATE), "GMLevelUpdate", false, &ReadWith<ChatPackets::GMLevelUpdate> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GM_MUTE), "GMMute", false, &ReadWith<ChatPackets::GMMute> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GM_ANNOUNCE), "Announcement", false, &ReadWith<ChatPackets::Announcement> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::CREATE_TEAM), "CreateTeam", false, &ReadWith<ChatPackets::CreateTeam> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::TEAM_GET_STATUS), "TeamUpdate", false, &ReadWith<ChatPackets::TeamUpdate> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::ACHIEVEMENT_NOTIFY), "AchievementNotify", false, &ReadWith<ChatPackets::AchievementNotify> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::MAIL), "MailNotify", false, &ReadWith<ChatPackets::MailNotify> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::SHOW_ALL), "ShowAllRequest", false, &ReadWith<ChatPackets::ShowAllRequest> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::WHO), "FindPlayerRequest", false, &ReadWith<ChatPackets::FindPlayerRequest> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GET_FRIENDS_LIST), "GetFriendsList", false, &ReadWith<ChatPackets::GetFriendsList> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::ADD_FRIEND_REQUEST), "AddFriendRequest", false, &ReadWith<ChatPackets::AddFriendRequest> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::ADD_FRIEND_RESPONSE), "AddFriendResponse", false, &ReadWith<ChatPackets::AddFriendResponse> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::REMOVE_FRIEND), "RemoveFriend", false, &ReadWith<ChatPackets::RemoveFriend> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GET_IGNORE_LIST), "GetIgnoreList", false, &ReadWith<ChatPackets::GetIgnoreList> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::ADD_IGNORE), "AddIgnore", false, &ReadWith<ChatPackets::AddIgnore> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::REMOVE_IGNORE), "RemoveIgnore", false, &ReadWith<ChatPackets::RemoveIgnore> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GENERAL_CHAT_MESSAGE), "GeneralChatMessage", false, &ReadWith<ChatPackets::GeneralChatMessage> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::PRIVATE_CHAT_MESSAGE), "PrivateChatMessage", false, &ReadWith<ChatPackets::PrivateChatMessage> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::TEAM_INVITE), "TeamInvite", false, &ReadWith<ChatPackets::TeamInvite> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::TEAM_INVITE_RESPONSE), "TeamInviteResponse", false, &ReadWith<ChatPackets::TeamInviteResponse> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::TEAM_LEAVE), "TeamLeave", false, &ReadWith<ChatPackets::TeamLeave> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::TEAM_KICK), "TeamKick", false, &ReadWith<ChatPackets::TeamKick> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::TEAM_SET_LEADER), "TeamSetLeader", false, &ReadWith<ChatPackets::TeamSetLeader> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::TEAM_SET_LOOT), "TeamSetLoot", false, &ReadWith<ChatPackets::TeamSetLoot> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::TEAM_GET_STATUS), "TeamGetStatus", false, &ReadWith<ChatPackets::TeamGetStatus> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::REQUEST_MINIMUM_CHAT_MODE), "RequestMinimumChatMode", false, &ReadWith<ChatPackets::RequestMinimumChatMode> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::REQUEST_MINIMUM_CHAT_MODE_PRIVATE), "RequestMinimumChatModePrivate", false, &ReadWith<ChatPackets::RequestMinimumChatModePrivate> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GUILD_INVITE), "GuildInvite", false, &ReadWith<ChatPackets::GuildInvite> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GUILD_INVITE_RESPONSE), "GuildInviteResponse", false, &ReadWith<ChatPackets::GuildInviteResponse> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GUILD_LEAVE), "GuildLeave", false, &ReadWith<ChatPackets::GuildLeave> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GUILD_GET_ALL), "GuildGetAll", false, &ReadWith<ChatPackets::GuildGetAll> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GUILD_CREATE), "GuildCreate", false, &ReadWith<ChatPackets::GuildCreate> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GUILD_KICK), "GuildKick", false, &ReadWith<ChatPackets::GuildKick> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GUILD_SET_RANK), "GuildSetRank", false, &ReadWith<ChatPackets::GuildSetRank> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GUILD_DISBAND), "GuildDisband", false, &ReadWith<ChatPackets::GuildDisband> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GUILD_GET_STATUS), "GuildStatus", false, &ReadWith<ChatPackets::GuildStatus> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::MATCH_REQUEST), "MatchRequest", false, &ReadWith<ChatPackets::MatchRequest> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::MATCH_TRANSFER), "MatchTransfer", false, &ReadWith<ChatPackets::MatchTransfer> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::GENERAL_CHAT_MESSAGE), "GeneralChatMessage", false, &ReadWith<ChatPackets::Client::GeneralChatMessage> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::PRIVATE_CHAT_MESSAGE), "PrivateChatMessage", false, &ReadWith<ChatPackets::Client::PrivateChatMessage> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::LOGIN_RESPONSE), "LoginResponse", false, &ReadWith<ClientPackets::LoginResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::LOAD_STATIC_ZONE), "LoadStaticZone", false, &ReadWith<ClientPackets::LoadStaticZone> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::CHARACTER_LIST_RESPONSE), "CharacterListResponse", false, &ReadWith<ClientPackets::CharacterListResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::CHARACTER_CREATE_RESPONSE), "CharacterCreateResponse", false, &ReadWith<ClientPackets::CharacterCreateResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::CHARACTER_RENAME_RESPONSE), "CharacterRenameResponse", false, &ReadWith<ClientPackets::CharacterRenameResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::DELETE_CHARACTER_RESPONSE), "DeleteCharacterResponse", false, &ReadWith<ClientPackets::DeleteCharacterResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::TRANSFER_TO_WORLD), "TransferToWorld", false, &ReadWith<ClientPackets::TransferToWorld> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::SERVER_STATES), "ServerStates", false, &ReadWith<ClientPackets::ServerStates> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::CREATE_CHARACTER), "CreateCharacter", false, &ReadWith<ClientPackets::CreateCharacter> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::CHAT_MODERATION_STRING), "ChatModerationString", false, &ReadWith<ClientPackets::ChatModerationString> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::MAKE_GM_RESPONSE), "MakeGMResponse", false, &ReadWith<ClientPackets::MakeGMResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::HTTP_MONITOR_INFO_RESPONSE), "HTTPMonitorInfoResponse", false, &ReadWith<ClientPackets::HTTPMonitorInfoResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::DEBUG_OUTPUT), "DebugOutput", false, &ReadWith<ClientPackets::DebugOutput> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::BLUEPRINT_SAVE_RESPONSE), "BlueprintSaveResponse", false, &ReadWith<ClientPackets::BlueprintSaveResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::BLUEPRINT_LOAD_RESPONSE_ITEMID), "BlueprintLoadItemResponse", false, &ReadWith<ClientPackets::BlueprintLoadItemResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::UGC_MANIFEST_RESPONSE), "UgcManifestResponse", false, &ReadWith<ClientPackets::UgcManifestResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::MINIMUM_CHAT_MODE_RESPONSE), "MinimumChatModeResponse", false, &ReadWith<ClientPackets::MinimumChatModeResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::MINIMUM_CHAT_MODE_RESPONSE_PRIVATE), "MinimumChatModeResponsePrivate", false, &ReadWith<ClientPackets::MinimumChatModeResponsePrivate> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::SEND_CANNED_TEXT), "SendCannedText", false, &ReadWith<ClientPackets::SendCannedText> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::GET_FRIENDS_LIST_RESPONSE), "GetFriendsListResponse", false, &ReadWith<ClientPackets::GetFriendsListResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::ADD_FRIEND_REQUEST), "AddFriendRequest", false, &ReadWith<ClientPackets::AddFriendRequest> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::ADD_FRIEND_RESPONSE), "AddFriendResponse", false, &ReadWith<ClientPackets::AddFriendResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::REMOVE_FRIEND_RESPONSE), "RemoveFriendResponse", false, &ReadWith<ClientPackets::RemoveFriendResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::UPDATE_FRIEND_NOTIFY), "UpdateFriendNotify", false, &ReadWith<ClientPackets::UpdateFriendNotify> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::WHO_RESPONSE), "WhoResponse", false, &ReadWith<ClientPackets::WhoResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::SHOW_ALL_RESPONSE), "ShowAllResponse", false, &ReadWith<ClientPackets::ShowAllResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::GET_IGNORE_LIST_RESPONSE), "GetIgnoreListResponse", false, &ReadWith<ClientPackets::GetIgnoreListResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::ADD_IGNORE_RESPONSE), "AddIgnoreResponse", false, &ReadWith<ClientPackets::AddIgnoreResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::REMOVE_IGNORE_RESPONSE), "RemoveIgnoreResponse", false, &ReadWith<ClientPackets::RemoveIgnoreResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::TEAM_INVITE), "TeamInvite", false, &ReadWith<ClientPackets::TeamInvite> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::TEAM_INVITE_INITIAL_RESPONSE), "TeamInviteInitialResponse", false, &ReadWith<ClientPackets::TeamInviteInitialResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::GUILD_CREATE_RESPONSE), "GuildCreateResponse", false, &ReadWith<ClientPackets::GuildCreateResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::GUILD_INVITE), "GuildInvite", false, &ReadWith<ClientPackets::GuildInvite> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::GUILD_INVITE_INITIAL_RESPONSE), "GuildInviteInitialResponse", false, &ReadWith<ClientPackets::GuildInviteInitialResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::GUILD_INVITE_FINAL_RESPONSE), "GuildInviteFinalResponse", false, &ReadWith<ClientPackets::GuildInviteFinalResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::GUILD_INVITE_CONFIRM), "GuildInviteConfirm", false, &ReadWith<ClientPackets::GuildInviteConfirm> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::GUILD_ADD_PLAYER), "GuildAddPlayer", false, &ReadWith<ClientPackets::GuildAddPlayer> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::GUILD_REMOVE_PLAYER), "GuildRemovePlayer", false, &ReadWith<ClientPackets::GuildRemovePlayer> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::GUILD_LOGIN_LOGOUT), "GuildLoginLogout", false, &ReadWith<ClientPackets::GuildLoginLogout> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::GUILD_DATA), "GuildData", false, &ReadWith<ClientPackets::GuildData> },
{ ServiceType::COMMON, static_cast<uint32_t>(MessageType::Server::VERSION_CONFIRM), "ClientVersionConfirm", true, &ReadWith<CommonPackets::ClientVersionConfirm> },
{ ServiceType::COMMON, static_cast<uint32_t>(MessageType::Server::VERSION_CONFIRM), "ServerVersionConfirm", false, &ReadWith<CommonPackets::ServerVersionConfirm> },
{ ServiceType::COMMON, static_cast<uint32_t>(MessageType::Server::DISCONNECT_NOTIFY), "DisconnectNotify", false, &ReadWith<CommonPackets::DisconnectNotify> },
{ ServiceType::COMMON, static_cast<uint32_t>(MessageType::Server::GENERAL_NOTIFY), "GeneralNotify", false, &ReadWith<CommonPackets::GeneralNotify> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::REQUEST_ZONE_TRANSFER), "RequestZoneTransfer", false, &ReadWith<MasterPackets::RequestZoneTransfer> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::REQUEST_ZONE_TRANSFER_RESPONSE), "RequestZoneTransferResponse", false, &ReadWith<MasterPackets::RequestZoneTransferResponse> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::SERVER_INFO), "ServerInfo", false, &ReadWith<MasterPackets::ServerInfo> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::REQUEST_SESSION_KEY), "RequestSessionKey", false, &ReadWith<MasterPackets::RequestSessionKey> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::SET_SESSION_KEY), "SetSessionKey", false, &ReadWith<MasterPackets::SetSessionKey> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::SESSION_KEY_RESPONSE), "SessionKeyResponse", false, &ReadWith<MasterPackets::SessionKeyResponse> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::NEW_SESSION_ALERT), "NewSessionAlert", false, &ReadWith<MasterPackets::NewSessionAlert> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::PLAYER_ADDED), "PlayerAdded", false, &ReadWith<MasterPackets::PlayerAdded> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::PLAYER_REMOVED), "PlayerRemoved", false, &ReadWith<MasterPackets::PlayerRemoved> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::CREATE_PRIVATE_ZONE), "CreatePrivateZone", false, &ReadWith<MasterPackets::CreatePrivateZone> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::REQUEST_PRIVATE_ZONE), "RequestPrivateZone", false, &ReadWith<MasterPackets::RequestPrivateZone> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::WORLD_READY), "WorldReady", false, &ReadWith<MasterPackets::WorldReady> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::WORLD_READY), "WorldReadyInfo", false, &ReadWith<MasterPackets::WorldReadyInfo> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::PREP_ZONE), "PrepZone", false, &ReadWith<MasterPackets::PrepZone> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::SHUTDOWN), "Shutdown", false, &ReadWith<MasterPackets::Shutdown> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::SHUTDOWN_RESPONSE), "ShutdownResponse", false, &ReadWith<MasterPackets::ShutdownResponse> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::SHUTDOWN_RESPONSE), "WorldShutDown", false, &ReadWith<MasterPackets::WorldShutDown> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::SHUTDOWN_UNIVERSE), "ShutdownUniverse", false, &ReadWith<MasterPackets::ShutdownUniverse> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::AFFIRM_TRANSFER_REQUEST), "AffirmTransferRequest", false, &ReadWith<MasterPackets::AffirmTransferRequest> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::AFFIRM_TRANSFER_RESPONSE), "AffirmTransferResponse", false, &ReadWith<MasterPackets::AffirmTransferResponse> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::REQUEST_SERVER_LIST), "RequestServerList", false, &ReadWith<MasterPackets::RequestServerList> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::SERVER_LIST_RESPONSE), "ServerListResponse", false, &ReadWith<MasterPackets::ServerListResponse> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::DASHBOARD_SHUTDOWN), "DashboardShutdown", false, &ReadWith<MasterPackets::DashboardShutdown> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::CONFIG_RELOAD), "ConfigReload", false, &ReadWith<MasterPackets::ConfigReload> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::INSTANCE_SHUTDOWN), "InstanceShutdown", false, &ReadWith<MasterPackets::InstanceShutdown> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::VALIDATION), "Validation", false, &ReadWith<WorldPackets::Validation> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::CHARACTER_LIST_REQUEST), "CharacterListRequest", false, &ReadWith<WorldPackets::CharacterListRequest> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::CHARACTER_CREATE_REQUEST), "CharacterCreateRequest", false, &ReadWith<WorldPackets::CharacterCreateRequest> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::LOGIN_REQUEST), "CharacterLoginRequest", false, &ReadWith<WorldPackets::CharacterLoginRequest> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::GAME_MSG), "GameMessage", false, &ReadWith<WorldPackets::GameMessage> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::CHARACTER_DELETE_REQUEST), "CharacterDeleteRequest", false, &ReadWith<WorldPackets::CharacterDeleteRequest> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::CHARACTER_RENAME_REQUEST), "CharacterRenameRequest", false, &ReadWith<WorldPackets::CharacterRenameRequest> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::LEVEL_LOAD_COMPLETE), "LevelLoadComplete", false, &ReadWith<WorldPackets::LevelLoadComplete> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::POSITION_UPDATE), "PositionUpdate", false, &ReadWith<WorldPackets::PositionUpdate> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::MAIL), "MailPacket", false, &ReadWith<WorldPackets::MailPacket> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::ROUTE_PACKET), "RoutePacket", false, &ReadWith<WorldPackets::RoutePacket> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::STRING_CHECK), "StringCheck", false, &ReadWith<WorldPackets::StringCheck> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::GENERAL_CHAT_MESSAGE), "GeneralChatMessage", false, &ReadWith<WorldPackets::GeneralChatMessage> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::TMP_GUILD_CREATE), "TmpGuildCreate", false, &ReadWith<WorldPackets::TmpGuildCreate> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::HANDLE_FUNNESS), "HandleFunness", false, &ReadWith<WorldPackets::HandleFunness> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::REQUEST_UGC_MANIFEST_INFO), "RequestUgcManifestInfo", false, &ReadWith<WorldPackets::RequestUgcManifestInfo> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::UGC_DOWNLOAD_FAILED), "UgcDownloadFailed", false, &ReadWith<WorldPackets::UgcDownloadFailed> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::UI_HELP_TOP_5), "UIHelpTop5", false, &ReadWith<WorldPackets::UIHelpTop5> },
{ ServiceType::CHAT, static_cast<uint32_t>(MessageType::Chat::WORLD_ROUTE_PACKET), "WorldRoutePacket", false, &ReadWith<ChatPackets::WorldRoutePacket> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::CDCLIENT_RELOAD), "CDClientReload", false, &ReadWith<CDClientReload> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::PLAYER_POSITIONS), "PlayerPositions", false, &ReadWith<PlayerPositions> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::ANNOUNCE), "Announcement", false, &ReadWith<Announcement> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::DATA_CHANGED), "DataChanged", false, &ReadWith<DataChanged> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::INSTANCE_MIGRATE), "InstanceMigrationRequest", false, &ReadWith<InstanceMigrationRequest> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::MIGRATE_PLAYERS), "MigratePlayersOrder", false, &ReadWith<MigratePlayersOrder> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::MIGRATE_STATUS), "MigrationStatus", false, &ReadWith<MigrationStatus> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::MIGRATE_PLAYER_STATE), "CarriedPlayerState", false, &ReadWith<CarriedPlayerState> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::MIGRATE_PREPARE), "MigratePrepare", false, &ReadWith<MigratePrepare> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::LIVE_UPDATE_REQUEST), "LiveUpdateRequest", false, &ReadWith<LiveUpdateRequest> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::LIVE_UPDATE_STATUS), "LiveUpdateStatus", false, &ReadWith<LiveUpdateStatus> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::LIVE_UPDATE_RETIRE), "LiveUpdateRetire", false, &ReadWith<LiveUpdateRetire> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::CHAT_SERVER_READY), "ChatServerReady", false, &ReadWith<ChatServerReady> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::CHAT_HANDOFF), "ChatHandoff", false, &ReadWith<ChatHandoff> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::MESSAGE_CAPTURE_CONTROL), "MessageCaptureControl", false, &ReadWith<MessageCaptureControl> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::MESSAGE_CAPTURE_DATA), "MessageCaptureData", false, &ReadWith<MessageCaptureData> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::PLAYER_ACTION), "PlayerActionRequest", false, &ReadWith<PlayerActionRequest> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::PLAYER_ACTION_RESULT), "PlayerActionResult", false, &ReadWith<PlayerActionResult> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::PROFILE_REQUEST), "ProfileRequest", false, &ReadWith<ProfileRequest> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::PROFILE_RESULT), "ProfileResult", false, &ReadWith<ProfileResult> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::SERVER_TRAFFIC), "ServerTraffic", false, &ReadWith<ServerTraffic> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::UGC_MODELS_MADE), "UgcModelsMade", false, &ReadWith<UgcModelsMade> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::UPDATE_STATUS), "UpdateStatus", false, &ReadWith<UpdateStatus> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::WORLD_FILES), "WorldFilesReport", false, &ReadWith<WorldFilesReport> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::WORLD_RELOAD), "WorldReloadRequest", false, &ReadWith<WorldReloadRequest> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::WORLD_FILES_STATUS), "WorldFilesStatus", false, &ReadWith<WorldFilesStatus> },
};
return entries;
}