Files
DarkflameServer/dNet/PacketFields.inc
Aaron Kimbrell b5de6cf2c9 feat(world): the game client's level editor packets
A world server answers the client's level editor: it remembers per connection
whether the editor is on (and never sends such a client a zone load), takes and
gives up the zone's lock, says whether files may be sent, takes them, sends the
zone's files, and reloads the zone. Who may is the same as for the dashboard's zone
file API: the account's editor level against zone_publish_gm_level, the zone's
editors or an admin, and the lock's holder to send files. Files are unpacked,
checked, written and packed on a worker thread, and every request is in the audit
log.

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

2033 lines
87 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 ClientPackets::ImpendingReloadNotify& m);
json ToJson(const ClientPackets::SlashPushMapResponse& m);
json ToJson(const ClientPackets::SlashPullMapResponse& m);
json ToJson(const ClientPackets::SlashLockMapResponse& 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 WorldPackets::HappyFlowerModeNotify& m);
json ToJson(const WorldPackets::SlashReloadMap& m);
json ToJson(const WorldPackets::SlashPushMapRequest& m);
json ToJson(const WorldPackets::SlashPushMap& m);
json ToJson(const WorldPackets::SlashPullMap& m);
json ToJson(const WorldPackets::LockMapRequest& 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 WorldReloadHold& 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 ClientPackets::ImpendingReloadNotify& m) {
json j = json::object();
return j;
}
json ToJson(const ClientPackets::SlashPushMapResponse& m) {
json j = json::object();
j["result"] = ToJson(m.result);
j["fileType"] = ToJson(m.fileType);
j["levelFileId"] = ToJson(m.levelFileId);
j["lockedBy"] = ToJson(m.lockedBy);
return j;
}
json ToJson(const ClientPackets::SlashPullMapResponse& m) {
json j = json::object();
j["fileType"] = ToJson(m.fileType);
j["levelFileId"] = ToJson(m.levelFileId);
j["packedFiles"] = ToJson(m.packedFiles);
return j;
}
json ToJson(const ClientPackets::SlashLockMapResponse& m) {
json j = json::object();
j["result"] = ToJson(m.result);
j["lockedBy"] = ToJson(m.lockedBy);
j["locked"] = ToJson(m.locked);
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 WorldPackets::HappyFlowerModeNotify& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["on"] = ToJson(m.on);
return j;
}
json ToJson(const WorldPackets::SlashReloadMap& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
return j;
}
json ToJson(const WorldPackets::SlashPushMapRequest& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["fileType"] = ToJson(m.fileType);
j["levelFileId"] = ToJson(m.levelFileId);
return j;
}
json ToJson(const WorldPackets::SlashPushMap& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["fileType"] = ToJson(m.fileType);
j["levelFileId"] = ToJson(m.levelFileId);
j["packedFiles"] = ToJson(m.packedFiles);
return j;
}
json ToJson(const WorldPackets::SlashPullMap& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["fileType"] = ToJson(m.fileType);
j["levelFileId"] = ToJson(m.levelFileId);
return j;
}
json ToJson(const WorldPackets::LockMapRequest& m) {
json j = ToJson(static_cast<const WorldPackets::WorldLUBitStream&>(m));
j["lock"] = ToJson(m.lock);
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 WorldReloadHold& m) {
json j = json::object();
j["zoneId"] = ToJson(m.zoneId);
j["hold"] = ToJson(m.hold);
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);
j["requests"] = ToJson(m.requests);
j["acted"] = ToJson(m.acted);
j["playersMoved"] = ToJson(m.playersMoved);
j["failed"] = ToJson(m.failed);
j["pending"] = ToJson(m.pending);
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::CLIENT, static_cast<uint32_t>(MessageType::Client::IMPENDING_RELOAD_NOTIFY), "ImpendingReloadNotify", false, &ReadWith<ClientPackets::ImpendingReloadNotify> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::SLASH_PUSH_MAP_RESPONSE), "SlashPushMapResponse", false, &ReadWith<ClientPackets::SlashPushMapResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::SLASH_PULL_MAP_RESPONSE), "SlashPullMapResponse", false, &ReadWith<ClientPackets::SlashPullMapResponse> },
{ ServiceType::CLIENT, static_cast<uint32_t>(MessageType::Client::SLASH_LOCK_MAP_RESPONSE), "SlashLockMapResponse", false, &ReadWith<ClientPackets::SlashLockMapResponse> },
{ 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::WORLD, static_cast<uint32_t>(MessageType::World::HAPPY_FLOWER_MODE_NOTIFY), "HappyFlowerModeNotify", false, &ReadWith<WorldPackets::HappyFlowerModeNotify> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::SLASH_RELOAD_MAP), "SlashReloadMap", false, &ReadWith<WorldPackets::SlashReloadMap> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::SLASH_PUSH_MAP_REQUEST), "SlashPushMapRequest", false, &ReadWith<WorldPackets::SlashPushMapRequest> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::SLASH_PUSH_MAP), "SlashPushMap", false, &ReadWith<WorldPackets::SlashPushMap> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::SLASH_PULL_MAP), "SlashPullMap", false, &ReadWith<WorldPackets::SlashPullMap> },
{ ServiceType::WORLD, static_cast<uint32_t>(MessageType::World::LOCK_MAP_REQUEST), "LockMapRequest", false, &ReadWith<WorldPackets::LockMapRequest> },
{ 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_RELOAD_HOLD), "WorldReloadHold", false, &ReadWith<WorldReloadHold> },
{ ServiceType::MASTER, static_cast<uint32_t>(MessageType::Master::WORLD_FILES_STATUS), "WorldFilesStatus", false, &ReadWith<WorldFilesStatus> },
};
return entries;
}