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.
 
 
 
 
 

1049 lines
25 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/>.
Additional permissions under GNU GPL version 3 section 7
If you modify this Program, or any covered work, by linking or
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
(or a modified version of those libraries),
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
licensors of this Program grant you additional
permission to convey the resulting work. Corresponding Source for a
non-source form of such a combination shall include the source code for
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
work.
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.h
*
***/
#ifdef PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETPROTOCOL_PRIVATE_PROTOCOLS_PNNPCLI2AUTH_H
#error "Header $/Plasma20/Sources/Plasma/NucleusLib/pnNetProtocol/Private/Protocols/pnNpCli2Auth.h included more than once"
#endif
#define PLASMA20_SOURCES_PLASMA_NUCLEUSLIB_PNNETPROTOCOL_PRIVATE_PROTOCOLS_PNNPCLI2AUTH_H
// kNetProtocolCli2Auth messages (must be <= (word)-1)
enum {
// Global
kCli2Auth_PingRequest,
// Client
kCli2Auth_ClientRegisterRequest,
kCli2Auth_ClientSetCCRLevel,
// Account
kCli2Auth_AcctLoginRequest,
kCli2Auth_AcctSetEulaVersion,
kCli2Auth_AcctSetDataRequest,
kCli2Auth_AcctSetPlayerRequest,
kCli2Auth_AcctCreateRequest,
kCli2Auth_AcctChangePasswordRequest,
kCli2Auth_AcctSetRolesRequest,
kCli2Auth_AcctSetBillingTypeRequest,
kCli2Auth_AcctActivateRequest,
kCli2Auth_AcctCreateFromKeyRequest,
// Player
kCli2Auth_PlayerDeleteRequest,
kCli2Auth_PlayerUndeleteRequest,
kCli2Auth_PlayerSelectRequest,
kCli2Auth_PlayerRenameRequest,
kCli2Auth_PlayerCreateRequest,
kCli2Auth_PlayerSetStatus,
kCli2Auth_PlayerChat,
kCli2Auth_UpgradeVisitorRequest,
kCli2Auth_SetPlayerBanStatusRequest,
kCli2Auth_KickPlayer,
kCli2Auth_ChangePlayerNameRequest,
kCli2Auth_SendFriendInviteRequest,
// Vault
kCli2Auth_VaultNodeCreate,
kCli2Auth_VaultNodeFetch,
kCli2Auth_VaultNodeSave,
kCli2Auth_VaultNodeDelete,
kCli2Auth_VaultNodeAdd,
kCli2Auth_VaultNodeRemove,
kCli2Auth_VaultFetchNodeRefs,
kCli2Auth_VaultInitAgeRequest,
kCli2Auth_VaultNodeFind,
kCli2Auth_VaultSetSeen,
kCli2Auth_VaultSendNode,
// Ages
kCli2Auth_AgeRequest,
// File-related
kCli2Auth_FileListRequest,
kCli2Auth_FileDownloadRequest,
kCli2Auth_FileDownloadChunkAck,
// Game
kCli2Auth_PropagateBuffer,
// Public ages
kCli2Auth_GetPublicAgeList,
kCli2Auth_SetAgePublic,
// Log Messages
kCli2Auth_LogPythonTraceback,
kCli2Auth_LogStackDump,
kCli2Auth_LogClientDebuggerConnect,
// Score
kCli2Auth_ScoreCreate,
kCli2Auth_ScoreDelete,
kCli2Auth_ScoreGetScores,
kCli2Auth_ScoreAddPoints,
kCli2Auth_ScoreTransferPoints,
kCli2Auth_ScoreSetPoints,
kCli2Auth_ScoreGetRanks,
kCli2Auth_AccountExistsRequest,
kNumCli2AuthMessages
};
COMPILER_ASSERT_HEADER(Cli2Auth, kNumCli2AuthMessages <= (word)-1);
enum {
// Global
kAuth2Cli_PingReply,
kAuth2Cli_ServerAddr,
kAuth2Cli_NotifyNewBuild,
// Client
kAuth2Cli_ClientRegisterReply,
// Account
kAuth2Cli_AcctLoginReply,
kAuth2Cli_AcctData,
kAuth2Cli_AcctPlayerInfo,
kAuth2Cli_AcctSetPlayerReply,
kAuth2Cli_AcctCreateReply,
kAuth2Cli_AcctChangePasswordReply,
kAuth2Cli_AcctSetRolesReply,
kAuth2Cli_AcctSetBillingTypeReply,
kAuth2Cli_AcctActivateReply,
kAuth2Cli_AcctCreateFromKeyReply,
// Player
kAuth2Cli_PlayerList,
kAuth2Cli_PlayerChat,
kAuth2Cli_PlayerCreateReply,
kAuth2Cli_PlayerDeleteReply,
kAuth2Cli_UpgradeVisitorReply,
kAuth2Cli_SetPlayerBanStatusReply,
kAuth2Cli_ChangePlayerNameReply,
kAuth2Cli_SendFriendInviteReply,
// Friends
kAuth2Cli_FriendNotify,
// Vault
kAuth2Cli_VaultNodeCreated,
kAuth2Cli_VaultNodeFetched,
kAuth2Cli_VaultNodeChanged,
kAuth2Cli_VaultNodeDeleted,
kAuth2Cli_VaultNodeAdded,
kAuth2Cli_VaultNodeRemoved,
kAuth2Cli_VaultNodeRefsFetched,
kAuth2Cli_VaultInitAgeReply,
kAuth2Cli_VaultNodeFindReply,
kAuth2Cli_VaultSaveNodeReply,
kAuth2Cli_VaultAddNodeReply,
kAuth2Cli_VaultRemoveNodeReply,
// Ages
kAuth2Cli_AgeReply,
// File-related
kAuth2Cli_FileListReply,
kAuth2Cli_FileDownloadChunk,
// Game
kAuth2Cli_PropagateBuffer,
// Admin
kAuth2Cli_KickedOff,
// Public ages
kAuth2Cli_PublicAgeList,
// Score
kAuth2Cli_ScoreCreateReply,
kAuth2Cli_ScoreDeleteReply,
kAuth2Cli_ScoreGetScoresReply,
kAuth2Cli_ScoreAddPointsReply,
kAuth2Cli_ScoreTransferPointsReply,
kAuth2Cli_ScoreSetPointsReply,
kAuth2Cli_ScoreGetRanksReply,
kAuth2Cli_AccountExistsReply,
kNumAuth2CliMessages
};
COMPILER_ASSERT_HEADER(Cli2Auth, kNumAuth2CliMessages <= (word)-1);
//============================================================================
// BEGIN PACKED DATA STRUCTURES
//============================================================================
#include <PshPack1.h>
/*****************************************************************************
*
* Cli2Auth connect packet
*
***/
struct Cli2Auth_ConnData {
dword dataBytes;
Uuid token;
};
struct Cli2Auth_Connect {
AsyncSocketConnectPacket hdr;
Cli2Auth_ConnData data;
};
/*****************************************************************************
*
* Cli2Auth message structures
*
***/
// PingRequest
extern const NetMsg kNetMsg_Cli2Auth_PingRequest;
struct Cli2Auth_PingRequest {
dword messageId;
dword pingTimeMs;
dword transId;
dword payloadBytes;
byte payload[1]; // [payloadBytes]
};
// ClientRegisterRequest
extern const NetMsg kNetMsg_Cli2Auth_ClientRegisterRequest;
struct Cli2Auth_ClientRegisterRequest {
dword messageId;
dword buildId;
};
// AccountExists
extern const NetMsg kNetMsg_Cli2Auth_AccountExistsRequest;
struct Cli2Auth_AccountExistsRequest {
dword messageId;
dword transId;
wchar accountName[kMaxAccountNameLength];
};
// LoginRequest
extern const NetMsg kNetMsg_Cli2Auth_AcctLoginRequest;
struct Cli2Auth_AcctLoginRequest {
dword messageId;
dword transId;
dword clientChallenge;
wchar acctName[kMaxAccountNameLength];
ShaDigest challengeHash;
wchar authToken[kMaxPublisherAuthKeyLength];
wchar os[kMaxGTOSIdLength];
};
// AgeRequest
extern const NetMsg kNetMsg_Cli2Auth_AgeRequest;
struct Cli2Auth_AgeRequest {
dword messageId;
dword transId;
wchar ageName[kMaxAgeNameLength];
Uuid ageUuid;
};
// AcctCreateRequest
extern const NetMsg kNetMsg_Cli2Auth_AcctCreateRequest;
struct Cli2Auth_AcctCreateRequest {
dword messageId;
dword transId;
wchar accountName[kMaxAccountNameLength];
ShaDigest namePassHash;
dword accountFlags;
dword billingType;
};
// AcctCreateFromKeyRequest
extern const NetMsg kNetMsg_Cli2Auth_AcctCreateFromKeyRequest;
struct Cli2Auth_AcctCreateFromKeyRequest {
dword messageId;
dword transId;
wchar accountName[kMaxAccountNameLength];
ShaDigest namePassHash;
Uuid key;
dword billingType;
};
// CreatePlayerRequest
extern const NetMsg kNetMsg_Cli2Auth_PlayerCreateRequest;
struct Cli2Auth_PlayerCreateRequest {
dword messageId;
dword transId;
wchar playerName[kMaxPlayerNameLength];
wchar avatarShape[MAX_PATH];
wchar friendInvite[MAX_PATH];
};
extern const NetMsg kNetMsg_Cli2Auth_PlayerDeleteRequest;
struct Cli2Auth_PlayerDeleteRequest {
dword messageId;
dword transId;
dword playerId;
};
extern const NetMsg kNetMsg_Cli2Auth_UpgradeVisitorRequest;
struct Cli2Auth_UpgradeVisitorRequest {
dword messageId;
dword transId;
dword playerId;
};
// SetPlayerRequest
extern const NetMsg kNetMsg_Cli2Auth_AcctSetPlayerRequest;
struct Cli2Auth_AcctSetPlayerRequest {
dword messageId;
dword transId;
dword playerInt;
};
// ChangePasswordRequest
extern const NetMsg kNetMsg_Cli2Auth_AcctChangePasswordRequest;
struct Cli2Auth_AcctChangePasswordRequest {
dword messageId;
dword transId;
wchar accountName[kMaxAccountNameLength];
ShaDigest namePassHash;
};
// AcctSetRolesRequest
extern const NetMsg kNetMsg_Cli2Auth_AcctSetRolesRequest;
struct Cli2Auth_AcctSetRolesRequest {
dword messageId;
dword transId;
wchar accountName[kMaxAccountNameLength];
dword accountFlags;
};
// AcctSetBillingTypeRequest
extern const NetMsg kNetMsg_Cli2Auth_AcctSetBillingTypeRequest;
struct Cli2Auth_AcctSetBillingTypeRequest {
dword messageId;
dword transId;
wchar accountName[kMaxAccountNameLength];
dword billingType;
};
// AcctActivateRequest
extern const NetMsg kNetMsg_Cli2Auth_AcctActivateRequest;
struct Cli2Auth_AcctActivateRequest {
dword messageId;
dword transId;
Uuid activationKey;
};
// FileListRequest
extern const NetMsg kNetMsg_Cli2Auth_FileListRequest;
struct Cli2Auth_FileListRequest {
dword messageId;
dword transId;
wchar directory[MAX_PATH];
wchar ext[MAX_EXT];
};
// FileDownloadRequest
extern const NetMsg kNetMsg_Cli2Auth_FileDownloadRequest;
struct Cli2Auth_FileDownloadRequest {
dword messageId;
dword transId;
wchar filename[MAX_PATH];
};
// FileDownloadChunkAck
extern const NetMsg kNetMsg_Cli2Auth_FileDownloadChunkAck;
struct Cli2Auth_FileDownloadChunkAck {
dword messageId;
dword transId;
};
// VaultFetchNodeRefs
extern const NetMsg kNetMsg_Cli2Auth_VaultFetchNodeRefs;
struct Cli2Auth_VaultFetchNodeRefs {
dword messageId;
dword transId;
dword nodeId;
};
// VaultNodeAdd
extern const NetMsg kNetMsg_Cli2Auth_VaultNodeAdd;
struct Cli2Auth_VaultNodeAdd {
dword messageId;
dword transId;
dword parentId;
dword childId;
dword ownerId;
};
// VaultNodeRemove
extern const NetMsg kNetMsg_Cli2Auth_VaultNodeRemove;
struct Cli2Auth_VaultNodeRemove {
dword messageId;
dword transId;
dword parentId;
dword childId;
};
// VaultNodeSave
extern const NetMsg kNetMsg_Cli2Auth_VaultNodeSave;
struct Cli2Auth_VaultNodeSave {
dword messageId;
dword transId;
dword nodeId;
Uuid revisionId;
dword nodeBytes;
byte nodeBuffer[1];
};
// VaultNodeCreate
extern const NetMsg kNetMsg_Cli2Auth_VaultNodeCreate;
struct Cli2Auth_VaultNodeCreate {
dword messageId;
dword transId;
dword nodeBytes;
byte nodeBuffer[1];
};
// VaultNodeFetch
extern const NetMsg kNetMsg_Cli2Auth_VaultNodeFetch;
struct Cli2Auth_VaultNodeFetch {
dword messageId;
dword transId;
dword nodeId;
};
// VaultInitAgeRequest
extern const NetMsg kNetMsg_Cli2Auth_VaultInitAgeRequest;
struct Cli2Auth_VaultInitAgeRequest {
dword messageId;
dword transId;
Uuid ageInstId;
Uuid parentAgeInstId;
wchar ageFilename[MAX_PATH];
wchar ageInstName[MAX_PATH];
wchar ageUserName[MAX_PATH];
wchar ageDesc[1024];
dword ageSequenceNumber;
dword ageLanguage;
};
// VaultNodeFind
extern const NetMsg kNetMsg_Cli2Auth_VaultNodeFind;
struct Cli2Auth_VaultNodeFind {
dword messageId;
dword transId;
dword nodeBytes;
byte nodeBuffer[1];
};
// VaultSetSeen
extern const NetMsg kNetMsg_Cli2Auth_VaultSetSeen;
struct Cli2Auth_VaultSetSeen {
dword messageId;
dword parentId;
dword childId;
byte seen;
};
// VaultSendNode
extern const NetMsg kNetMsg_Cli2Auth_VaultSendNode;
struct Cli2Auth_VaultSendNode {
dword messageId;
dword srcNodeId;
dword dstPlayerId;
};
// GetPublicAgeList
extern const NetMsg kNetMsg_Cli2Auth_GetPublicAgeList;
struct Cli2Auth_GetPublicAgeList {
dword messageId;
dword transId;
wchar ageFilename[kMaxAgeNameLength];
};
extern const NetMsg kNetMsg_Cli2Auth_SetAgePublic;
struct Cli2Auth_SetAgePublic {
dword messageId;
dword ageInfoId;
byte publicOrNot;
};
// PropagateBuffer
extern const NetMsg kNetMsg_Cli2Auth_PropagateBuffer;
struct Cli2Auth_PropagateBuffer {
dword messageId;
dword type;
dword bytes;
byte buffer[1]; // [bytes], actually
// no more fields
};
extern const NetMsg kNetMsg_Cli2Auth_ClientSetCCRLevel;
struct Cli2Auth_ClientSetCCRLevel {
dword messageId;
dword ccrLevel;
};
extern const NetMsg kNetMsg_Cli2Auth_LogPythonTraceback;
struct Cli2Auth_LogPythonTraceback {
dword messageId;
wchar traceback[1024];
};
extern const NetMsg kNetMsg_Cli2Auth_LogStackDump;
struct Cli2Auth_LogStackDump {
dword messageId;
wchar stackdump[1024];
};
extern const NetMsg kNetMsg_Cli2Auth_LogClientDebuggerConnect;
struct Cli2Auth_LogClientDebuggerConnect {
dword messageId;
};
extern const NetMsg kNetMsg_Cli2Auth_SetPlayerBanStatusRequest;
struct Cli2Auth_SetPlayerBanStatusRequest {
dword messageId;
dword transId;
dword playerId;
dword banned;
};
extern const NetMsg kNetMsg_Cli2Auth_KickPlayer;
struct Cli2Auth_KickPlayer {
dword messageId;
dword playerId;
};
extern const NetMsg kNetMsg_Cli2Auth_ChangePlayerNameRequest;
struct Cli2Auth_ChangePlayerNameRequest {
dword messageId;
dword transId;
dword playerId;
wchar newName[kMaxPlayerNameLength];
};
extern const NetMsg kNetMsg_Cli2Auth_SendFriendInviteRequest;
struct Cli2Auth_SendFriendInviteRequest {
dword messageId;
dword transId;
Uuid inviteUuid;
wchar emailAddress[kMaxEmailAddressLength];
wchar toName[kMaxPlayerNameLength];
};
extern const NetMsg kNetMsg_Cli2Auth_ScoreCreate;
struct Cli2Auth_ScoreCreate {
dword messageId;
dword transId;
dword ownerId;
wchar gameName[kMaxGameScoreNameLength];
dword gameType;
dword scoreValue;
};
extern const NetMsg kNetMsg_Cli2Auth_ScoreDelete;
struct Cli2Auth_ScoreDelete {
dword messageId;
dword transId;
dword scoreId;
};
extern const NetMsg kNetMsg_Cli2Auth_ScoreGetScores;
struct Cli2Auth_ScoreGetScores {
dword messageId;
dword transId;
dword ownerId;
wchar gameName[kMaxGameScoreNameLength];
};
extern const NetMsg kNetMsg_Cli2Auth_ScoreAddPoints;
struct Cli2Auth_ScoreAddPoints {
dword messageId;
dword transId;
dword scoreId;
dword numPoints;
};
extern const NetMsg kNetMsg_Cli2Auth_ScoreTransferPoints;
struct Cli2Auth_ScoreTransferPoints {
dword messageId;
dword transId;
dword srcScoreId;
dword destScoreId;
dword numPoints;
};
extern const NetMsg kNetMsg_Cli2Auth_ScoreSetPoints;
struct Cli2Auth_ScoreSetPoints {
dword messageId;
dword transId;
dword scoreId;
dword numPoints;
};
extern const NetMsg kNetMsg_Cli2Auth_ScoreGetRanks;
struct Cli2Auth_ScoreGetRanks {
dword messageId;
dword transId;
dword ownerId;
dword scoreGroup;
dword parentFolderId;
wchar gameName[kMaxGameScoreNameLength];
dword timePeriod;
dword numResults;
dword pageNumber;
dword sortDesc;
};
/*****************************************************************************
*
* Auth2Cli message structures
*
***/
// PingReply
extern const NetMsg kNetMsg_Auth2Cli_PingReply;
struct Auth2Cli_PingReply {
dword messageId;
dword pingTimeMs;
dword transId;
dword payloadBytes;
byte payload[1]; // [payloadBytes]
};
// ClientRegisterReply
extern const NetMsg kNetMsg_Auth2Cli_ClientRegisterReply;
struct Auth2Cli_ClientRegisterReply {
dword messageId;
dword serverChallenge;
};
// AccountExists
extern const NetMsg kNetMsg_Auth2Cli_AccountExistsReply;
struct Auth2Cli_AccountExistsReply {
dword messageId;
dword transId;
ENetError result;
byte exists;
};
// ServerAddr
extern const NetMsg kNetMsg_Auth2Cli_ServerAddr;
struct Auth2Cli_ServerAddr {
dword messageId;
NetAddressNode srvAddr;
Uuid token;
};
extern const NetMsg kNetMsg_Auth2Cli_NotifyNewBuild;
struct Auth2Cli_NotifyNewBuild {
dword foo; // msgs must have at least one field
};
// AcctPlayerInfo
extern const NetMsg kNetMsg_Auth2Cli_AcctPlayerInfo;
struct Auth2Cli_AcctPlayerInfo {
dword messageId;
dword transId;
dword playerInt;
wchar playerName[kMaxPlayerNameLength];
wchar avatarShape[kMaxVaultNodeStringLength];
dword explorer;
};
// LoginReply
extern const NetMsg kNetMsg_Auth2Cli_AcctLoginReply;
struct Auth2Cli_AcctLoginReply {
dword messageId;
dword transId;
ENetError result;
Uuid accountId;
dword accountFlags;
dword billingType;
dword encryptionKey[4];
};
// AgeReply
extern const NetMsg kNetMsg_Auth2Cli_AgeReply;
struct Auth2Cli_AgeReply {
dword messageId;
dword transId;
ENetError result;
dword ageMcpId;
Uuid ageInstId;
dword ageVaultId;
NetAddressNode gameSrvNode;
};
// AcctCreateReply
extern const NetMsg kNetMsg_Auth2Cli_AcctCreateReply;
struct Auth2Cli_AcctCreateReply {
dword messageId;
dword transId;
ENetError result;
Uuid accountId;
};
// AcctCreateFromKeyReply
extern const NetMsg kNetMsg_Auth2Cli_AcctCreateFromKeyReply;
struct Auth2Cli_AcctCreateFromKeyReply {
dword messageId;
dword transId;
ENetError result;
Uuid accountId;
Uuid activationKey;
};
// CreatePlayerReply
extern const NetMsg kNetMsg_Auth2Cli_PlayerCreateReply;
struct Auth2Cli_PlayerCreateReply {
dword messageId;
dword transId;
ENetError result;
dword playerInt;
dword explorer;
wchar playerName[kMaxPlayerNameLength];
wchar avatarShape[kMaxVaultNodeStringLength];
};
// DeletePlayerReply
extern const NetMsg kNetMsg_Auth2Cli_PlayerDeleteReply;
struct Auth2Cli_PlayerDeleteReply {
dword messageId;
dword transId;
ENetError result;
};
// DeletePlayerReply
extern const NetMsg kNetMsg_Auth2Cli_UpgradeVisitorReply;
struct Auth2Cli_UpgradeVisitorReply {
dword messageId;
dword transId;
ENetError result;
};
// SetPlayerReply
extern const NetMsg kNetMsg_Auth2Cli_AcctSetPlayerReply;
struct Auth2Cli_AcctSetPlayerReply {
dword messageId;
dword transId;
ENetError result;
};
// AcctChangePasswordReply
extern const NetMsg kNetMsg_Auth2Cli_AcctChangePasswordReply;
struct Auth2Cli_AcctChangePasswordReply {
dword messageId;
dword transId;
ENetError result;
};
// AcctSetRolesReply
extern const NetMsg kNetMsg_Auth2Cli_AcctSetRolesReply;
struct Auth2Cli_AcctSetRolesReply {
dword messageId;
dword transId;
ENetError result;
};
// AcctSetBillingTypeReply
extern const NetMsg kNetMsg_Auth2Cli_AcctSetBillingTypeReply;
struct Auth2Cli_AcctSetBillingTypeReply {
dword messageId;
dword transId;
ENetError result;
};
// AcctActivateReply
extern const NetMsg kNetMsg_Auth2Cli_AcctActivateReply;
struct Auth2Cli_AcctActivateReply {
dword messageId;
dword transId;
ENetError result;
};
// FileListReply
extern const NetMsg kNetMsg_Auth2Cli_FileListReply;
struct Auth2Cli_FileListReply {
dword messageId;
dword transId;
ENetError result;
dword wcharCount;
wchar fileData[1]; // [wcharCount], actually
// no more fields
};
// FileDownloadChunk
extern const NetMsg kNetMsg_Auth2Cli_FileDownloadChunk;
struct Auth2Cli_FileDownloadChunk {
dword messageId;
dword transId;
ENetError result;
dword fileSize;
dword chunkOffset;
dword chunkSize;
byte chunkData[1]; // [chunkSize], actually
// no more fields
};
// KickedOff
extern const NetMsg kNetMsg_Auth2Cli_KickedOff;
struct Auth2Cli_KickedOff {
dword messageId;
ENetError reason;
};
extern const NetMsg kNetMsg_Auth2Cli_VaultNodeRefsFetched;
struct Auth2Cli_VaultNodeRefsFetched {
dword messageId;
dword transId;
ENetError result;
dword refCount;
NetVaultNodeRef refs[1];
};
extern const NetMsg kNetMsg_Auth2Cli_VaultNodeCreated;
struct Auth2Cli_VaultNodeCreated {
dword messageId;
dword transId;
ENetError result;
dword nodeId;
};
extern const NetMsg kNetMsg_Auth2Cli_VaultNodeFetched;
struct Auth2Cli_VaultNodeFetched {
dword messageId;
dword transId;
ENetError result;
dword nodeBytes;
byte nodeBuffer[1];
};
extern const NetMsg kNetMsg_Auth2Cli_VaultNodeChanged;
struct Auth2Cli_VaultNodeChanged {
dword messageId;
dword nodeId;
Uuid revisionId;
};
extern const NetMsg kNetMsg_Auth2Cli_VaultNodeAdded;
struct Auth2Cli_VaultNodeAdded {
dword messageId;
dword parentId;
dword childId;
dword ownerId;
};
extern const NetMsg kNetMsg_Auth2Cli_VaultNodeRemoved;
struct Auth2Cli_VaultNodeRemoved {
dword messageId;
dword parentId;
dword childId;
};
extern const NetMsg kNetMsg_Auth2Cli_VaultNodeDeleted;
struct Auth2Cli_VaultNodeDeleted {
dword messageId;
dword nodeId;
};
extern const NetMsg kNetMsg_Auth2Cli_VaultSaveNodeReply;
struct Auth2Cli_VaultSaveNodeReply {
dword messageId;
dword transId;
ENetError result;
};
extern const NetMsg kNetMsg_Auth2Cli_VaultAddNodeReply;
struct Auth2Cli_VaultAddNodeReply {
dword messageId;
dword transId;
ENetError result;
};
extern const NetMsg kNetMsg_Auth2Cli_VaultRemoveNodeReply;
struct Auth2Cli_VaultRemoveNodeReply {
dword messageId;
dword transId;
ENetError result;
};
extern const NetMsg kNetMsg_Auth2Cli_VaultInitAgeReply;
struct Auth2Cli_VaultInitAgeReply {
dword messageId;
dword transId;
ENetError result;
dword ageVaultId;
dword ageInfoVaultId;
};
extern const NetMsg kNetMsg_Auth2Cli_VaultNodeFindReply;
struct Auth2Cli_VaultNodeFindReply {
dword messageId;
dword transId;
ENetError result;
dword nodeIdCount;
dword nodeIds[1];
};
// PublicAgeList
extern const NetMsg kNetMsg_Auth2Cli_PublicAgeList;
struct Auth2Cli_PublicAgeList {
dword messageId;
dword transId;
ENetError result;
dword ageCount;
NetAgeInfo ages[1]; // [ageCount], actually
};
// PropagateBuffer
extern const NetMsg kNetMsg_Auth2Cli_PropagateBuffer;
struct Auth2Cli_PropagateBuffer {
dword messageId;
dword type;
dword bytes;
byte buffer[1]; // [bytes], actually
// no more fields
};
// SetPlayerBanStatusReply
extern const NetMsg kNetMsg_Auth2Cli_SetPlayerBanStatusReply;
struct Auth2Cli_SetPlayerBanStatusReply {
dword messageId;
dword transId;
ENetError result;
};
// ChangePlayerNameReply
extern const NetMsg kNetMsg_Auth2Cli_ChangePlayerNameReply;
struct Auth2Cli_ChangePlayerNameReply {
dword messageId;
dword transId;
ENetError result;
};
// SendFriendInviteReply
extern const NetMsg kNetMsg_Auth2Cli_SendFriendInviteReply;
struct Auth2Cli_SendFriendInviteReply {
dword messageId;
dword transId;
ENetError result;
};
// ScoreCreateReply
extern const NetMsg kNetMsg_Auth2Cli_ScoreCreateReply;
struct Auth2Cli_ScoreCreateReply {
dword messageId;
dword transId;
ENetError result;
dword scoreId;
dword createdTime;
};
// ScoreDeleteReply
extern const NetMsg kNetMsg_Auth2Cli_ScoreDeleteReply;
struct Auth2Cli_ScoreDeleteReply {
dword messageId;
dword transId;
ENetError result;
};
// ScoreGetScoresReply
extern const NetMsg kNetMsg_Auth2Cli_ScoreGetScoresReply;
struct Auth2Cli_ScoreGetScoresReply {
dword messageId;
dword transId;
ENetError result;
dword scoreCount;
dword byteCount;
byte buffer[1]; // [byteCount], actually
// no more fields
};
// ScoreAddPoints
extern const NetMsg kNetMsg_Auth2Cli_ScoreAddPointsReply;
struct Auth2Cli_ScoreAddPointsReply {
dword messageId;
dword transId;
ENetError result;
};
// ScoreTransferPoints
extern const NetMsg kNetMsg_Auth2Cli_ScoreTransferPointsReply;
struct Auth2Cli_ScoreTransferPointsReply {
dword messageId;
dword transId;
ENetError result;
};
// ScoreSetPoints
extern const NetMsg kNetMsg_Auth2Cli_ScoreSetPointsReply;
struct Auth2Cli_ScoreSetPointsReply {
dword messageId;
dword transId;
ENetError result;
};
// ScoreGetRanksReply
extern const NetMsg kNetMsg_Auth2Cli_ScoreGetRanksReply;
struct Auth2Cli_ScoreGetRanksReply {
dword messageId;
dword transId;
ENetError result;
dword rankCount;
dword byteCount;
byte buffer[1]; // [byteCount], actually
// no more fields
};
//============================================================================
// END PACKED DATA STRUCTURES
//============================================================================
#include <PopPack.h>