Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
237 lines
5.1 KiB
C
237 lines
5.1 KiB
C
#ifndef _AUTHSERVER_TO_DBAGENT_SERVER_PACKET_H_
|
|
#define _AUTHSERVER_TO_DBAGENT_SERVER_PACKET_H_
|
|
|
|
#include <winsock2.h>
|
|
#include <windows.h>
|
|
#include <DB/DBDefine.h>
|
|
#include "DataPacket.h"
|
|
|
|
#pragma pack(1)
|
|
|
|
// ---------------------------------------------------------
|
|
// 유저 로그인 요청 AuthServer -> DBAgentServer
|
|
typedef struct PktULD* LPPktULD;
|
|
struct PktULD : public PktDD
|
|
{
|
|
unsigned long m_dwSessionID;
|
|
unsigned long m_dwUserID;
|
|
|
|
IN_ADDR m_Address;
|
|
|
|
unsigned char m_cLoginType;
|
|
};
|
|
|
|
// 유저 로그인 응답 DBAgentServer -> AuthServer
|
|
typedef struct PktULDAck* LPPktULDAck;
|
|
struct PktULDAck : public PktDD
|
|
{
|
|
enum Const
|
|
{
|
|
MAX_CHAR_VIEW = 5
|
|
};
|
|
|
|
unsigned long m_dwUserID;
|
|
sGuildData m_GuildData[MAX_CHAR_VIEW];
|
|
CHAR_VIEW m_CharView[MAX_CHAR_VIEW];
|
|
|
|
STORE_INFO m_sStoreInfo;
|
|
|
|
// WORK_LIST 2.1 계정 국적 추가
|
|
unsigned char m_cAccountNation; // 계정 국적
|
|
|
|
int m_nPlayTime; // BillingType이 정액인 경우는 남은 날짜. 정량인 경우는 남은 시간(분)
|
|
unsigned short m_usAdminLevel;
|
|
unsigned char m_cBillingType; // D : 정액 T : 정량 N : 무료
|
|
unsigned char m_cBillingUser; // 0 : 개인 1 : 피시방
|
|
|
|
unsigned char m_cLoginType;
|
|
};
|
|
|
|
|
|
// 유저 로그아웃 AuthServer -> DBAgentServer
|
|
typedef struct PktULoD *LPPktULoD;
|
|
struct PktULoD : public PktDD
|
|
{
|
|
unsigned long m_dwSessionID;
|
|
unsigned long m_dwUserID;
|
|
};
|
|
|
|
// 유저 이동
|
|
typedef struct PktUMvD *LPPktUMvD;
|
|
struct PktUMvD : public PktDD
|
|
{
|
|
unsigned long m_dwSessionID;
|
|
unsigned long m_dwUserID;
|
|
};
|
|
|
|
|
|
// 세션 시작 DBAgentServer -> AuthServer
|
|
typedef struct PktSSD *LPPktSSD;
|
|
struct PktSSD : public PktDD
|
|
{
|
|
enum
|
|
{
|
|
// edith 2008.03.17 ID,PASS 길이조정
|
|
MaxName = 24,
|
|
MaxPass = 36,
|
|
};
|
|
|
|
unsigned long m_dwSessionID;
|
|
unsigned long m_dwUserID;
|
|
char m_AccountName[MaxName];
|
|
// edith 2008.01.15 패스워드 추가작업
|
|
char m_Password[MaxPass];
|
|
|
|
unsigned char m_cAgentServerType;
|
|
unsigned char m_cFirstLogin;
|
|
|
|
IN_ADDR m_Address;
|
|
};
|
|
|
|
/*
|
|
|
|
* cAgentServerType 멤버
|
|
CServerSetup::AgentServerType 의 값을 참고할 것.
|
|
|
|
Part1 = 20,
|
|
Part1Unified = 21,
|
|
Part2 = 22,
|
|
Part2Unified = 23,
|
|
Part2Selectable = 24,
|
|
|
|
* cFirstLogin 멤버
|
|
|
|
에러값이 0 이상이면 무시한다.
|
|
|
|
cAgentServerType값이 Part2Unified/Part2Selectable일 경우만 유의미한 값이다.
|
|
|
|
Part2Unified
|
|
창고 가져온 적 없다 : 0
|
|
Part1 통합에서 창고 가져온 적 있다 : 1
|
|
Part2 통합에서 창고 가져온 적 있다 : 2
|
|
|
|
Part2Selectable
|
|
|
|
로그인한 적이 없다 : 0
|
|
로그인한 적이 있다 : 2
|
|
*/
|
|
|
|
|
|
// ---------------------------------------------------------
|
|
|
|
|
|
// ---------------------------------------------------------
|
|
// 캐릭터 생성 요청 AuthServer -> DBAgentServer
|
|
typedef struct PktCCD* LPPktCCD;
|
|
struct PktCCD : public PktDD
|
|
{
|
|
unsigned long m_dwUserID;
|
|
|
|
unsigned long m_dwSlot;
|
|
unsigned long m_dwGold;
|
|
POS m_Pos;
|
|
CHAR_CREATE m_CharCreate;
|
|
|
|
unsigned short m_wSkill;
|
|
};
|
|
|
|
|
|
// 캐릭터 생성 응답 DBAgentServer -> AuthServer
|
|
typedef struct PktCCDAck* LPPktCCDAck;
|
|
struct PktCCDAck : public PktDD
|
|
{
|
|
unsigned long m_dwCharID;
|
|
unsigned long m_dwSlot;
|
|
CHAR_VIEW m_CharView;
|
|
};
|
|
// ---------------------------------------------------------
|
|
|
|
|
|
|
|
// ---------------------------------------------------------
|
|
// 캐릭터 선택 관련 (데이터)
|
|
typedef struct PktCSD* LPPktCSD;
|
|
struct PktCSD : public PktDD
|
|
{
|
|
unsigned long m_dwUserID;
|
|
unsigned long m_dwCharID;
|
|
};
|
|
|
|
typedef struct PktCSDAck* LPPktCSDAck;
|
|
struct PktCSDAck : public PktDD
|
|
{
|
|
enum { MAX_CHANNEL_NUM = 5 };
|
|
|
|
unsigned char m_cZone;
|
|
unsigned short m_wChannelNum[MAX_CHANNEL_NUM];
|
|
};
|
|
|
|
// ---------------------------------------------------------
|
|
|
|
|
|
// ---------------------------------------------------------
|
|
// 캐릭터 삭제 관련 (데이터)
|
|
typedef struct PktCDD* LPPktCDD;
|
|
struct PktCDD : public PktDD
|
|
{
|
|
unsigned long m_dwUserID;
|
|
unsigned long m_dwSlotNum;
|
|
unsigned long m_dwCharID;
|
|
};
|
|
// ---------------------------------------------------------
|
|
|
|
|
|
// WORK_LIST 2.1 계정 국적 추가
|
|
// ---------------------------------------------------------
|
|
// 계정 국적 변경 관련 (데이터)
|
|
typedef struct PktSAND* LPPktSAND;
|
|
struct PktSAND : public PktDD
|
|
{
|
|
enum eType { TYPE_SET = 1, TYPE_CHANGE = 2 };
|
|
|
|
unsigned long m_dwUserID;
|
|
unsigned char m_cType;
|
|
unsigned char m_cAccountNation;
|
|
};
|
|
|
|
// 계정 국적 변경에 따른 결과 패킷
|
|
typedef struct PktANCAck* LPPktANCAck;
|
|
struct PktANCAck : public PktDD
|
|
{
|
|
enum
|
|
{
|
|
MAX_CHAR_VIEW = 5
|
|
};
|
|
|
|
unsigned long m_dwUserID;
|
|
unsigned long m_dwGID[ MAX_CHAR_VIEW ];
|
|
unsigned long m_dwFame[ MAX_CHAR_VIEW ];
|
|
};
|
|
// ---------------------------------------------------------
|
|
|
|
// ---------------------------------------------------------
|
|
// 캐릭터 생성 아이템 관련 (데이터)
|
|
typedef struct PktCCID* LPPktCCID;
|
|
struct PktCCID : public PktDD
|
|
{
|
|
unsigned __int64 m_dwItemSerial;
|
|
unsigned long m_dwCharID;
|
|
unsigned long m_dwSize;
|
|
};
|
|
// ---------------------------------------------------------
|
|
|
|
|
|
// ---------------------------------------------------------
|
|
// 캐릭터 로그인 관련 (데이터)
|
|
typedef struct PktCLiD* LPPktCLiD;
|
|
struct PktCLiD : public PktDD
|
|
{
|
|
unsigned long m_dwUserID;
|
|
unsigned long m_dwCharID;
|
|
unsigned long m_dwSerial;
|
|
};
|
|
// ---------------------------------------------------------
|
|
|
|
#pragma pack()
|
|
|
|
#endif |