Files
DarkflameServer/dNet/PacketFields.inc
2026-09-30 06:41:52 -05:00

1925 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 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);
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 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::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;
}