You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

706 lines
35 KiB

/*==LICENSE==*
CyanWorlds.com Engine - MMOG client, server and tools
Copyright (C) 2011 Cyan Worlds, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
You can contact Cyan Worlds, Inc. by email legal@cyan.com
or by snail mail at:
Cyan Worlds, Inc.
14617 N Newport Hwy
Mead, WA 99021
*==LICENSE==*/
/*****************************************************************************
*
* $/Plasma20/Sources/Plasma/NucleusLib/pnNetProtocol/Private/Protocols/pnNpCli2Auth.cpp
*
***/
#define USES_PROTOCOL_CLI2AUTH
#include "../../../Pch.h"
#pragma hdrstop
namespace Cli2Auth {
/*****************************************************************************
*
* Cli2Auth message definitions
*
***/
static const NetMsgField kPingRequestFields[] = {
kNetMsgFieldTimeMs, // pingTimeMs
NET_MSG_FIELD_DWORD(), // transId
NET_MSG_FIELD_VAR_COUNT(1, 64 * 1024), // payloadBytes
NET_MSG_FIELD_VAR_PTR(), // payload
};
static const NetMsgField kClientRegisterRequestFields[] = {
kNetMsgFieldBuildId, // buildId
};
static const NetMsgField kAccountExistsRequestFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldAccountName, // accountName
};
static const NetMsgField kAcctLoginRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // clientChallenge
kNetMsgFieldAccountName, // accountName
kNetMsgFieldShaDigest, // challenge
NET_MSG_FIELD_STRING(kMaxPublisherAuthKeyLength), // authToken
NET_MSG_FIELD_STRING(kMaxGTOSIdLength), // os
};
static const NetMsgField kAgeRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_STRING(kMaxAgeNameLength), // ageName
kNetMsgFieldUuid, // ageInstId
};
static const NetMsgField kAcctCreateRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_STRING(kMaxAccountNameLength), // accountName
kNetMsgFieldShaDigest, // namePassHash
NET_MSG_FIELD_DWORD(), // accountFlags
NET_MSG_FIELD_DWORD(), // billingType
};
static const NetMsgField kAcctCreateFromKeyRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_STRING(kMaxAccountNameLength), // accountName
kNetMsgFieldShaDigest, // namePassHash
kNetMsgFieldUuid, // key
NET_MSG_FIELD_DWORD(), // billingType
};
static const NetMsgField kPlayerCreateRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_STRING(kMaxPlayerNameLength), // playerName
NET_MSG_FIELD_STRING(MAX_PATH), // avatarShape
NET_MSG_FIELD_STRING(MAX_PATH), // friendInvite
};
static const NetMsgField kPlayerDeleteRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // playerInt
};
static const NetMsgField kUpgradeVisitorRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // playerInt
};
static const NetMsgField kAcctSetPlayerRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // playerInt
};
static const NetMsgField kAcctChangePasswordRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_STRING(kMaxAccountNameLength), // accountName
kNetMsgFieldShaDigest, // namePassHash
};
static const NetMsgField kAcctSetRolesRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_STRING(kMaxAccountNameLength), // accountName
NET_MSG_FIELD_DWORD(), // accountFlags
};
static const NetMsgField kAcctSetBillingTypeRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_STRING(kMaxAccountNameLength), // accountName
NET_MSG_FIELD_DWORD(), // billingType
};
static const NetMsgField kAcctActivateRequestFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldUuid, // activationKey
};
static const NetMsgField kFileListRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_STRING(MAX_PATH), // directory
NET_MSG_FIELD_STRING(MAX_EXT), // ext
};
static const NetMsgField kFileDownloadRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_STRING(MAX_PATH), // filename
};
static const NetMsgField kFileDownloadChunkAckFields[] = {
kNetMsgFieldTransId, // transId
};
static const NetMsgField kVaultFetchNodeRefsFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // nodeId
};
static const NetMsgField kVaultNodeAddFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // parentId
NET_MSG_FIELD_DWORD(), // childId
NET_MSG_FIELD_DWORD(), // ownerId
};
static const NetMsgField kVaultNodeRemoveFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // parentId
NET_MSG_FIELD_DWORD(), // childId
};
static const NetMsgField kVaultNodeSaveFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // nodeId
kNetMsgFieldUuid, // revId
NET_MSG_FIELD_VAR_COUNT(1, 1024 * 1024), // nodeBytes
NET_MSG_FIELD_VAR_PTR(), // nodeBuffer
};
static const NetMsgField kVaultNodeCreateFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_VAR_COUNT(1, 1024 * 1024), // nodeBytes
NET_MSG_FIELD_VAR_PTR(), // nodeBuffer
};
static const NetMsgField kVaultNodeFetchFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // nodeId
};
static const NetMsgField kVaultInitAgeRequestFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldUuid, // ageInstId
kNetMsgFieldUuid, // parentAgeInstId
NET_MSG_FIELD_STRING(MAX_PATH), // ageFilename
NET_MSG_FIELD_STRING(MAX_PATH), // ageInstName
NET_MSG_FIELD_STRING(MAX_PATH), // ageUserName
NET_MSG_FIELD_STRING(1024), // ageDesc
NET_MSG_FIELD_DWORD(), // ageSequenceNumber
NET_MSG_FIELD_DWORD(), // ageLanguage
};
static const NetMsgField kVaultNodeFindFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_VAR_COUNT(1, 1024 * 1024), // nodeBytes
NET_MSG_FIELD_VAR_PTR(), // nodeBuffer
};
static const NetMsgField kVaultSetSeenFields[] = {
NET_MSG_FIELD_DWORD(), // parentId
NET_MSG_FIELD_DWORD(), // childId
NET_MSG_FIELD_BYTE(), // seen
};
static const NetMsgField kVaultSendNodeFields[] = {
NET_MSG_FIELD_DWORD(), // srcNodeId
NET_MSG_FIELD_DWORD(), // dstPlayerId
};
static const NetMsgField kGetPublicAgeListFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_STRING(kMaxAgeNameLength), // ageFilename
};
static const NetMsgField kSetAgePublicFields[] = {
NET_MSG_FIELD_DWORD(), // ageInfoId
NET_MSG_FIELD_BYTE(), // publicOrNot
};
static const NetMsgField kPropagateBufferFields[] = {
NET_MSG_FIELD_DWORD(), // type
NET_MSG_FIELD_VAR_COUNT(1, 1024 * 1024), // bytes
NET_MSG_FIELD_VAR_PTR(), // buffer
};
static const NetMsgField kClientSetCCRLevelFields[] = {
NET_MSG_FIELD_DWORD(), // ccrLevel
};
static const NetMsgField kLogPythonTracebackFields[] = {
NET_MSG_FIELD_STRING(1024), // traceback text
};
static const NetMsgField kLogStackDumpFields[] = {
NET_MSG_FIELD_STRING(1024), // stackdump text
};
static const NetMsgField kLogClientDebuggerConnectFields[] = {
NET_MSG_FIELD_DWORD(), // nothing
};
static const NetMsgField kSetPlayerBanStatusRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // playerId
NET_MSG_FIELD_DWORD(), // banned
};
static const NetMsgField kKickPlayerFields[] = {
NET_MSG_FIELD_DWORD(), // playerId
};
static const NetMsgField kChangePlayerNameRequestFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // playerId
NET_MSG_FIELD_STRING(kMaxPlayerNameLength), // newName
};
static const NetMsgField kSendFriendInviteRequestFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldUuid, // inviteUuid
NET_MSG_FIELD_STRING(kMaxEmailAddressLength), // emailAddress
NET_MSG_FIELD_STRING(kMaxPlayerNameLength), // toPlayer
};
static const NetMsgField kScoreCreateFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // ownerId
NET_MSG_FIELD_STRING(kMaxGameScoreNameLength), // gameName
NET_MSG_FIELD_DWORD(), // gameType
NET_MSG_FIELD_DWORD(), // value
};
static const NetMsgField kScoreDeleteFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // scoreId
};
static const NetMsgField kScoreGetScoresFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // ownerId
NET_MSG_FIELD_STRING(kMaxGameScoreNameLength), // gameName
};
static const NetMsgField kScoreAddPointsFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // scoreId
NET_MSG_FIELD_DWORD(), // numPoints
};
static const NetMsgField kScoreTransferPointsFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // srcScoreId
NET_MSG_FIELD_DWORD(), // destScoreId
NET_MSG_FIELD_DWORD(), // numPoints
};
static const NetMsgField kScoreSetPointsFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // scoreId
NET_MSG_FIELD_DWORD(), // numPoints
};
static const NetMsgField kScoreGetRanksFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // ownerId
NET_MSG_FIELD_DWORD(), // scoreGroup
NET_MSG_FIELD_DWORD(), // parentFolderId
NET_MSG_FIELD_STRING(kMaxGameScoreNameLength), // gameName
NET_MSG_FIELD_DWORD(), // timePeriod
NET_MSG_FIELD_DWORD(), // numResults
NET_MSG_FIELD_DWORD(), // pageNumber
NET_MSG_FIELD_DWORD(), // sortDesc
};
/*****************************************************************************
*
* Auth2Cli message fields
*
***/
static const NetMsgField kPingReplyFields[] = {
kNetMsgFieldTimeMs, // pingTimeMs
NET_MSG_FIELD_DWORD(), // transId
NET_MSG_FIELD_VAR_COUNT(1, 64 * 1024), // payloadBytes
NET_MSG_FIELD_VAR_PTR(), // payload
};
static const NetMsgField kClientRegisterReplyFields[] = {
NET_MSG_FIELD_DWORD(), // serverChallenge
};
static const NetMsgField kAccountExistsReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_BYTE(), // account exists
};
static const NetMsgField kServerAddrFields[] = {
kNetMsgFieldNetNode, // srvAddr
kNetMsgFieldUuid, // token
};
static const NetMsgField kNotifyNewBuildFields[] = {
NET_MSG_FIELD_DWORD(), // foo
};
static const NetMsgField kAcctPlayerInfoFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_DWORD(), // playerInt
NET_MSG_FIELD_STRING(kMaxPlayerNameLength), // playerName
NET_MSG_FIELD_STRING(kMaxVaultNodeStringLength), // avatarShape
NET_MSG_FIELD_DWORD(), // explorer
};
static const NetMsgField kAcctLoginReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
kNetMsgFieldUuid, // accountId
NET_MSG_FIELD_DWORD(), // accountFlags
NET_MSG_FIELD_DWORD(), // billingType
NET_MSG_FIELD_DWORD_ARRAY(4), // encryptionKey
};
static const NetMsgField kAgeReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_DWORD(), // ageMcpId
kNetMsgFieldUuid, // ageInstId
NET_MSG_FIELD_DWORD(), // ageVaultId
kNetMsgFieldNetNode, // gameSrvNode
};
static const NetMsgField kAcctCreateReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
kNetMsgFieldUuid // accountId
};
static const NetMsgField kAcctCreateFromKeyReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
kNetMsgFieldUuid, // accountId
kNetMsgFieldUuid // activationKey
};
static const NetMsgField kPlayerCreateReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_DWORD(), // playerInt
NET_MSG_FIELD_DWORD(), // explorer
NET_MSG_FIELD_STRING(kMaxPlayerNameLength), // playerName
NET_MSG_FIELD_STRING(kMaxVaultNodeStringLength), // avatarShape
};
static const NetMsgField kPlayerDeleteReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kUpgradeVisitorReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kAcctSetPlayerReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kAcctChangePasswordReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kAcctSetRolesReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kAcctSetBillingTypeReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kAcctActivateReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kFileListReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_VAR_COUNT(sizeof(wchar), 1024 * 1024), // wcharCount
NET_MSG_FIELD_VAR_PTR(), // fileData
};
static const NetMsgField kFileDownloadChunkFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_DWORD(), // totalFileSize
NET_MSG_FIELD_DWORD(), // chunkOffset
NET_MSG_FIELD_VAR_COUNT(1, kMaxTcpPacketSize), // chunkSize
NET_MSG_FIELD_VAR_PTR(), // chunkData
};
static const NetMsgField kKickedOffFields[] = {
kNetMsgFieldENetError, // reason
};
static const NetMsgField kVaultNodeFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_VAR_COUNT(1, 1024 * 1024), // nodeBytes
NET_MSG_FIELD_VAR_PTR(), // nodeBuffer
};
static const NetMsgField kVaultNodeRefsFields[] = {
kNetMsgFieldTransId, // transId
NET_MSG_FIELD_VAR_COUNT(sizeof(NetVaultNodeRef), 1024 * 1024), // refCount
NET_MSG_FIELD_VAR_PTR(), // refs
};
static const NetMsgField kVaultNodeCreatedFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_DWORD(), // nodeId
};
static const NetMsgField kVaultNodeRefsFetchedFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_VAR_COUNT(sizeof(NetVaultNodeRef), 1024 * 1024), // refCount
NET_MSG_FIELD_VAR_PTR(), // refs
};
static const NetMsgField kVaultNodeFetchedFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_VAR_COUNT(1, 1024 * 1024), // nodeBytes
NET_MSG_FIELD_VAR_PTR(), // nodeBuffer
};
static const NetMsgField kVaultNodeChangedFields[] = {
NET_MSG_FIELD_DWORD(), // nodeId
kNetMsgFieldUuid, // revisionId
};
static const NetMsgField kVaultNodeAddedFields[] = {
NET_MSG_FIELD_DWORD(), // parentId
NET_MSG_FIELD_DWORD(), // childId
NET_MSG_FIELD_DWORD(), // ownerId
};
static const NetMsgField kVaultNodeRemovedFields[] = {
NET_MSG_FIELD_DWORD(), // parentId
NET_MSG_FIELD_DWORD(), // childId
};
static const NetMsgField kVaultNodeDeletedFields[] = {
NET_MSG_FIELD_DWORD(), // nodeId
};
static const NetMsgField kVaultSaveNodeReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kVaultAddNodeReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kVaultRemoveNodeReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kVaultInitAgeReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_DWORD(), // ageVaultId
NET_MSG_FIELD_DWORD(), // ageInfoVaultId
};
static const NetMsgField kVaultNodeFindReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_VAR_COUNT(sizeof(dword), 512), // nodeIdCount
NET_MSG_FIELD_VAR_PTR(), // nodeIds
};
static const NetMsgField kPublicAgeListFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_VAR_COUNT(sizeof(NetAgeInfo), 512), // ageCount
NET_MSG_FIELD_VAR_PTR(), // ages
};
static const NetMsgField kSetPlayerBanStatusReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kChangePlayerNameReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kSendFriendInviteReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kScoreCreateReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_DWORD(), // scoreId
NET_MSG_FIELD_DWORD(), // createdTime
};
static const NetMsgField kScoreDeleteReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kScoreGetScoresReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_DWORD(), // scoreCount
NET_MSG_FIELD_VAR_COUNT(1, 1024 * 1024), // nodeBytes
NET_MSG_FIELD_VAR_PTR(), // nodeBuffer
};
static const NetMsgField kScoreAddPointsReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kScoreTransferPointsReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kScoreSetPointsReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
};
static const NetMsgField kScoreGetRanksReplyFields[] = {
kNetMsgFieldTransId, // transId
kNetMsgFieldENetError, // result
NET_MSG_FIELD_DWORD(), // rankCount
NET_MSG_FIELD_VAR_COUNT(1, 1024 * 1024), // nodeBytes
NET_MSG_FIELD_VAR_PTR(), // nodeBuffer
};
} using namespace Cli2Auth;
/*****************************************************************************
*
* Exported data
*
***/
const NetMsg kNetMsg_Cli2Auth_PingRequest = NET_MSG(kCli2Auth_PingRequest, kPingRequestFields);
const NetMsg kNetMsg_Cli2Auth_ClientRegisterRequest = NET_MSG(kCli2Auth_ClientRegisterRequest, kClientRegisterRequestFields);
const NetMsg kNetMsg_Cli2Auth_AccountExistsRequest = NET_MSG(kCli2Auth_AccountExistsRequest, kAccountExistsRequestFields);
const NetMsg kNetMsg_Cli2Auth_AcctLoginRequest = NET_MSG(kCli2Auth_AcctLoginRequest, kAcctLoginRequestFields);
const NetMsg kNetMsg_Cli2Auth_AcctCreateRequest = NET_MSG(kCli2Auth_AcctCreateRequest, kAcctCreateRequestFields);
const NetMsg kNetMsg_Cli2Auth_AcctCreateFromKeyRequest = NET_MSG(kCli2Auth_AcctCreateFromKeyRequest, kAcctCreateFromKeyRequestFields);
const NetMsg kNetMsg_Cli2Auth_PlayerCreateRequest = NET_MSG(kCli2Auth_PlayerCreateRequest, kPlayerCreateRequestFields);
const NetMsg kNetMsg_Cli2Auth_PlayerDeleteRequest = NET_MSG(kCli2Auth_PlayerDeleteRequest, kPlayerDeleteRequestFields);
const NetMsg kNetMsg_Cli2Auth_UpgradeVisitorRequest = NET_MSG(kCli2Auth_UpgradeVisitorRequest, kUpgradeVisitorRequestFields);
const NetMsg kNetMsg_Cli2Auth_AcctSetPlayerRequest = NET_MSG(kCli2Auth_AcctSetPlayerRequest, kAcctSetPlayerRequestFields);
const NetMsg kNetMsg_Cli2Auth_AcctChangePasswordRequest = NET_MSG(kCli2Auth_AcctChangePasswordRequest, kAcctChangePasswordRequestFields);
const NetMsg kNetMsg_Cli2Auth_AcctSetRolesRequest = NET_MSG(kCli2Auth_AcctSetRolesRequest, kAcctSetRolesRequestFields);
const NetMsg kNetMsg_Cli2Auth_AcctSetBillingTypeRequest = NET_MSG(kCli2Auth_AcctSetBillingTypeRequest, kAcctSetBillingTypeRequestFields);
const NetMsg kNetMsg_Cli2Auth_AcctActivateRequest = NET_MSG(kCli2Auth_AcctActivateRequest, kAcctActivateRequestFields);
const NetMsg kNetMsg_Cli2Auth_AgeRequest = NET_MSG(kCli2Auth_AgeRequest, kAgeRequestFields);
const NetMsg kNetMsg_Cli2Auth_FileListRequest = NET_MSG(kCli2Auth_FileListRequest, kFileListRequestFields);
const NetMsg kNetMsg_Cli2Auth_FileDownloadRequest = NET_MSG(kCli2Auth_FileDownloadRequest, kFileDownloadRequestFields);
const NetMsg kNetMsg_Cli2Auth_FileDownloadChunkAck = NET_MSG(kCli2Auth_FileDownloadChunkAck, kFileDownloadChunkAckFields);
const NetMsg kNetMsg_Cli2Auth_VaultFetchNodeRefs = NET_MSG(kCli2Auth_VaultFetchNodeRefs, kVaultFetchNodeRefsFields);
const NetMsg kNetMsg_Cli2Auth_VaultNodeAdd = NET_MSG(kCli2Auth_VaultNodeAdd, kVaultNodeAddFields);
const NetMsg kNetMsg_Cli2Auth_VaultNodeRemove = NET_MSG(kCli2Auth_VaultNodeRemove, kVaultNodeRemoveFields);
const NetMsg kNetMsg_Cli2Auth_VaultNodeCreate = NET_MSG(kCli2Auth_VaultNodeCreate, kVaultNodeCreateFields);
const NetMsg kNetMsg_Cli2Auth_VaultNodeSave = NET_MSG(kCli2Auth_VaultNodeSave, kVaultNodeSaveFields);
const NetMsg kNetMsg_Cli2Auth_VaultNodeFetch = NET_MSG(kCli2Auth_VaultNodeFetch, kVaultNodeFetchFields);
const NetMsg kNetMsg_Cli2Auth_VaultInitAgeRequest = NET_MSG(kCli2Auth_VaultInitAgeRequest, kVaultInitAgeRequestFields);
const NetMsg kNetMsg_Cli2Auth_VaultNodeFind = NET_MSG(kCli2Auth_VaultNodeFind, kVaultNodeFindFields);
const NetMsg kNetMsg_Cli2Auth_VaultSetSeen = NET_MSG(kCli2Auth_VaultSetSeen, kVaultSetSeenFields);
const NetMsg kNetMsg_Cli2Auth_VaultSendNode = NET_MSG(kCli2Auth_VaultSendNode, kVaultSendNodeFields);
const NetMsg kNetMsg_Cli2Auth_GetPublicAgeList = NET_MSG(kCli2Auth_GetPublicAgeList, kGetPublicAgeListFields);
const NetMsg kNetMsg_Cli2Auth_SetAgePublic = NET_MSG(kCli2Auth_SetAgePublic, kSetAgePublicFields);
const NetMsg kNetMsg_Cli2Auth_PropagateBuffer = NET_MSG(kCli2Auth_PropagateBuffer, kPropagateBufferFields);
const NetMsg kNetMsg_Cli2Auth_ClientSetCCRLevel = NET_MSG(kCli2Auth_ClientSetCCRLevel, kClientSetCCRLevelFields);
const NetMsg kNetMsg_Cli2Auth_LogPythonTraceback = NET_MSG(kCli2Auth_LogPythonTraceback, kLogPythonTracebackFields);
const NetMsg kNetMsg_Cli2Auth_LogStackDump = NET_MSG(kCli2Auth_LogStackDump, kLogStackDumpFields);
const NetMsg kNetMsg_Cli2Auth_LogClientDebuggerConnect = NET_MSG(kCli2Auth_LogClientDebuggerConnect, kLogClientDebuggerConnectFields);
const NetMsg kNetMsg_Cli2Auth_SetPlayerBanStatusRequest = NET_MSG(kCli2Auth_SetPlayerBanStatusRequest, kSetPlayerBanStatusRequestFields);
const NetMsg kNetMsg_Cli2Auth_KickPlayer = NET_MSG(kCli2Auth_KickPlayer, kKickPlayerFields);
const NetMsg kNetMsg_Cli2Auth_ChangePlayerNameRequest = NET_MSG(kCli2Auth_ChangePlayerNameRequest, kChangePlayerNameRequestFields);
const NetMsg kNetMsg_Cli2Auth_SendFriendInviteRequest = NET_MSG(kCli2Auth_SendFriendInviteRequest, kSendFriendInviteRequestFields);
const NetMsg kNetMsg_Cli2Auth_ScoreCreate = NET_MSG(kCli2Auth_ScoreCreate, kScoreCreateFields);
const NetMsg kNetMsg_Cli2Auth_ScoreDelete = NET_MSG(kCli2Auth_ScoreDelete, kScoreDeleteFields);
const NetMsg kNetMsg_Cli2Auth_ScoreGetScores = NET_MSG(kCli2Auth_ScoreGetScores, kScoreGetScoresFields);
const NetMsg kNetMsg_Cli2Auth_ScoreAddPoints = NET_MSG(kCli2Auth_ScoreAddPoints, kScoreAddPointsFields);
const NetMsg kNetMsg_Cli2Auth_ScoreTransferPoints = NET_MSG(kCli2Auth_ScoreTransferPoints, kScoreTransferPointsFields);
const NetMsg kNetMsg_Cli2Auth_ScoreSetPoints = NET_MSG(kCli2Auth_ScoreSetPoints, kScoreSetPointsFields);
const NetMsg kNetMsg_Cli2Auth_ScoreGetRanks = NET_MSG(kCli2Auth_ScoreGetRanks, kScoreGetRanksFields);
const NetMsg kNetMsg_Auth2Cli_PingReply = NET_MSG(kAuth2Cli_PingReply, kPingReplyFields);
const NetMsg kNetMsg_Auth2Cli_ClientRegisterReply = NET_MSG(kAuth2Cli_ClientRegisterReply, kClientRegisterReplyFields);
const NetMsg kNetMsg_Auth2Cli_AccountExistsReply = NET_MSG(kAuth2Cli_AccountExistsReply, kAccountExistsReplyFields);
const NetMsg kNetMsg_Auth2Cli_ServerAddr = NET_MSG(kAuth2Cli_ServerAddr, kServerAddrFields);
const NetMsg kNetMsg_Auth2Cli_NotifyNewBuild = NET_MSG(kAuth2Cli_NotifyNewBuild, kNotifyNewBuildFields);
const NetMsg kNetMsg_Auth2Cli_AcctPlayerInfo = NET_MSG(kAuth2Cli_AcctPlayerInfo, kAcctPlayerInfoFields);
const NetMsg kNetMsg_Auth2Cli_AcctLoginReply = NET_MSG(kAuth2Cli_AcctLoginReply, kAcctLoginReplyFields);
const NetMsg kNetMsg_Auth2Cli_AcctCreateReply = NET_MSG(kAuth2Cli_AcctCreateReply, kAcctCreateReplyFields);
const NetMsg kNetMsg_Auth2Cli_AcctCreateFromKeyReply = NET_MSG(kAuth2Cli_AcctCreateFromKeyReply, kAcctCreateFromKeyReplyFields);
const NetMsg kNetMsg_Auth2Cli_PlayerCreateReply = NET_MSG(kAuth2Cli_PlayerCreateReply, kPlayerCreateReplyFields);
const NetMsg kNetMsg_Auth2Cli_PlayerDeleteReply = NET_MSG(kAuth2Cli_PlayerDeleteReply, kPlayerDeleteReplyFields);
const NetMsg kNetMsg_Auth2Cli_UpgradeVisitorReply = NET_MSG(kAuth2Cli_UpgradeVisitorReply, kUpgradeVisitorReplyFields);
const NetMsg kNetMsg_Auth2Cli_AcctSetPlayerReply = NET_MSG(kAuth2Cli_AcctSetPlayerReply, kAcctSetPlayerReplyFields);
const NetMsg kNetMsg_Auth2Cli_AcctChangePasswordReply = NET_MSG(kAuth2Cli_AcctChangePasswordReply, kAcctChangePasswordReplyFields);
const NetMsg kNetMsg_Auth2Cli_AcctSetRolesReply = NET_MSG(kAuth2Cli_AcctSetRolesReply, kAcctSetRolesReplyFields);
const NetMsg kNetMsg_Auth2Cli_AcctSetBillingTypeReply = NET_MSG(kAuth2Cli_AcctSetBillingTypeReply, kAcctSetBillingTypeReplyFields);
const NetMsg kNetMsg_Auth2Cli_AcctActivateReply = NET_MSG(kAuth2Cli_AcctActivateReply, kAcctActivateReplyFields);
const NetMsg kNetMsg_Auth2Cli_AgeReply = NET_MSG(kAuth2Cli_AgeReply, kAgeReplyFields);
const NetMsg kNetMsg_Auth2Cli_FileListReply = NET_MSG(kAuth2Cli_FileListReply, kFileListReplyFields);
const NetMsg kNetMsg_Auth2Cli_FileDownloadChunk = NET_MSG(kAuth2Cli_FileDownloadChunk, kFileDownloadChunkFields);
const NetMsg kNetMsg_Auth2Cli_KickedOff = NET_MSG(kAuth2Cli_KickedOff, kKickedOffFields);
const NetMsg kNetMsg_Auth2Cli_VaultNodeRefsFetched = NET_MSG(kAuth2Cli_VaultNodeRefsFetched, kVaultNodeRefsFetchedFields);
const NetMsg kNetMsg_Auth2Cli_VaultNodeCreated = NET_MSG(kAuth2Cli_VaultNodeCreated, kVaultNodeCreatedFields);
const NetMsg kNetMsg_Auth2Cli_VaultNodeFetched = NET_MSG(kAuth2Cli_VaultNodeFetched, kVaultNodeFetchedFields);
const NetMsg kNetMsg_Auth2Cli_VaultNodeChanged = NET_MSG(kAuth2Cli_VaultNodeChanged, kVaultNodeChangedFields);
const NetMsg kNetMsg_Auth2Cli_VaultNodeAdded = NET_MSG(kAuth2Cli_VaultNodeAdded, kVaultNodeAddedFields);
const NetMsg kNetMsg_Auth2Cli_VaultNodeRemoved = NET_MSG(kAuth2Cli_VaultNodeRemoved, kVaultNodeRemovedFields);
const NetMsg kNetMsg_Auth2Cli_VaultNodeDeleted = NET_MSG(kAuth2Cli_VaultNodeDeleted, kVaultNodeDeletedFields);
const NetMsg kNetMsg_Auth2Cli_VaultSaveNodeReply = NET_MSG(kAuth2Cli_VaultSaveNodeReply, kVaultSaveNodeReplyFields);
const NetMsg kNetMsg_Auth2Cli_VaultAddNodeReply = NET_MSG(kAuth2Cli_VaultAddNodeReply, kVaultAddNodeReplyFields);
const NetMsg kNetMsg_Auth2Cli_VaultRemoveNodeReply = NET_MSG(kAuth2Cli_VaultRemoveNodeReply, kVaultRemoveNodeReplyFields);
const NetMsg kNetMsg_Auth2Cli_VaultInitAgeReply = NET_MSG(kAuth2Cli_VaultInitAgeReply, kVaultInitAgeReplyFields);
const NetMsg kNetMsg_Auth2Cli_VaultNodeFindReply = NET_MSG(kAuth2Cli_VaultNodeFindReply, kVaultNodeFindReplyFields);
const NetMsg kNetMsg_Auth2Cli_PublicAgeList = NET_MSG(kAuth2Cli_PublicAgeList, kPublicAgeListFields);
const NetMsg kNetMsg_Auth2Cli_PropagateBuffer = NET_MSG(kAuth2Cli_PropagateBuffer, kPropagateBufferFields);
const NetMsg kNetMsg_Auth2Cli_SetPlayerBanStatusReply = NET_MSG(kAuth2Cli_SetPlayerBanStatusReply, kSetPlayerBanStatusReplyFields);
const NetMsg kNetMsg_Auth2Cli_ChangePlayerNameReply = NET_MSG(kAuth2Cli_ChangePlayerNameReply, kChangePlayerNameReplyFields);
const NetMsg kNetMsg_Auth2Cli_SendFriendInviteReply = NET_MSG(kAuth2Cli_SendFriendInviteReply, kSendFriendInviteReplyFields);
const NetMsg kNetMsg_Auth2Cli_ScoreCreateReply = NET_MSG(kAuth2Cli_ScoreCreateReply, kScoreCreateReplyFields);
const NetMsg kNetMsg_Auth2Cli_ScoreDeleteReply = NET_MSG(kAuth2Cli_ScoreDeleteReply, kScoreDeleteReplyFields);
const NetMsg kNetMsg_Auth2Cli_ScoreGetScoresReply = NET_MSG(kAuth2Cli_ScoreGetScoresReply, kScoreGetScoresReplyFields);
const NetMsg kNetMsg_Auth2Cli_ScoreAddPointsReply = NET_MSG(kAuth2Cli_ScoreAddPointsReply, kScoreAddPointsReplyFields);
const NetMsg kNetMsg_Auth2Cli_ScoreTransferPointsReply = NET_MSG(kAuth2Cli_ScoreTransferPointsReply, kScoreTransferPointsReplyFields);
const NetMsg kNetMsg_Auth2Cli_ScoreSetPointsReply = NET_MSG(kAuth2Cli_ScoreSetPointsReply, kScoreSetPointsReplyFields);
const NetMsg kNetMsg_Auth2Cli_ScoreGetRanksReply = NET_MSG(kAuth2Cli_ScoreGetRanksReply, kScoreGetRanksReplyFields);