|
|
|
/*==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>
|