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>
195 lines
3.8 KiB
C
195 lines
3.8 KiB
C
#ifndef _DBAGENT_TO_LOGIN_
|
|
#define _DBAGENT_TO_LOGIN_
|
|
|
|
#include <DB/DBDefine.h>
|
|
#include <Network/Packet/PacketBase.h>
|
|
#include <Network/Packet/PacketStruct/DataPacket.h>
|
|
|
|
|
|
#pragma pack(1)
|
|
|
|
|
|
// 핑 패킷 ( 클라이언트 -> 서버로 5초마다.. 서버 - 서버간 통신도, 연결하는 쪽에서 Ping을 준다. )
|
|
typedef struct PktSyP* LPPktSyP;
|
|
struct PktSyP : public PktBase
|
|
{
|
|
unsigned long m_dwTickTime;
|
|
};
|
|
|
|
|
|
// 서비스 로그인 요청 패킷
|
|
typedef struct PktSL* LPPktSL;
|
|
struct PktSL : public PktBase
|
|
{
|
|
unsigned long m_dwServerID;
|
|
IN_ADDR m_Address;
|
|
};
|
|
|
|
|
|
// 서비스 로그인 응답 패킷
|
|
typedef struct PktSLAck* LPPktSLAck;
|
|
struct PktSLAck : public PktBase
|
|
{
|
|
enum { PATCH_ADDRESS_LENGTH = 100 };
|
|
|
|
unsigned long m_dwServerID;
|
|
__int64 m_dlItemUID;
|
|
|
|
unsigned long m_dwClientVer;
|
|
unsigned long m_dwCheckSum;
|
|
|
|
char m_PatchAddress[PATCH_ADDRESS_LENGTH];
|
|
};
|
|
|
|
|
|
// 서비스 버전 업데이트 정보
|
|
typedef struct PktSVU* LPPktSVU;
|
|
struct PktSVU : public PktBase
|
|
{
|
|
enum { PATCH_ADDRESS_LENGTH = 100 };
|
|
|
|
unsigned long m_dwServerID;
|
|
IN_ADDR m_ServerAddr;
|
|
unsigned long m_dwClientVer;
|
|
unsigned long m_dwCheckSum;
|
|
char m_PatchAddress[PATCH_ADDRESS_LENGTH];
|
|
};
|
|
|
|
|
|
// 채널 업데이트 정보
|
|
typedef struct PktSCInfo* LPPktSCInfo;
|
|
struct PktSCInfo : public PktBase
|
|
{
|
|
enum { MAX_CHANNEL_NUM = 2 };
|
|
|
|
unsigned long m_dwServerID;
|
|
unsigned char m_wChannelNum;
|
|
unsigned short m_dwChannelClientNum[MAX_CHANNEL_NUM];
|
|
};
|
|
|
|
|
|
// ---------------------------------------------------------------------------
|
|
// 패치 정보 관련 패킷
|
|
|
|
|
|
// 패치 정보 요청 패킷
|
|
typedef struct PktSPI* LPPktSPI;
|
|
struct PktSPI : public PktBase
|
|
{
|
|
unsigned long m_dwServerID;
|
|
};
|
|
|
|
// 패치 서버 응답 패킷
|
|
typedef struct PktSPIAck* LPPktSPIAck;
|
|
struct PktSPIAck : public PktBase
|
|
{
|
|
enum { PATCH_ADDRESS_LENGTH = 100 };
|
|
unsigned long m_dwClientVer;
|
|
char m_PatchAddress[PATCH_ADDRESS_LENGTH];
|
|
};
|
|
|
|
|
|
// ---------------------------------------------------------------------------
|
|
// Zone 관련 패킷
|
|
|
|
// 서버존 선택
|
|
typedef struct PktSZ* LPPktSZ;
|
|
struct PktSZ : public PktBase
|
|
{
|
|
unsigned short m_cChannel;
|
|
unsigned char m_cZone;
|
|
};
|
|
|
|
// 서버존 선택 Ack
|
|
typedef struct PktSZAck* LPPktSZAck;
|
|
struct PktSZAck : public PktBase
|
|
{
|
|
unsigned long m_dwServerID;
|
|
IN_ADDR m_GameAddress;
|
|
};
|
|
|
|
// 서버존 이동
|
|
typedef struct PktSZMv* LPPktSZMv;
|
|
struct PktSZMv : public PktBase
|
|
{
|
|
POS m_NewPos;
|
|
char m_cZone;
|
|
};
|
|
|
|
// 서버존 선택 Ack
|
|
typedef struct PktSZMvAck* LPPktSZMvAck;
|
|
struct PktSZMvAck : public PktBase
|
|
{
|
|
enum { MAX_CHANNEL_NUM = 2 };
|
|
|
|
unsigned short m_wChannelNum[MAX_CHANNEL_NUM];
|
|
unsigned char m_cZone;
|
|
};
|
|
|
|
typedef struct PktSZMvD* LPPktSZMvD;
|
|
struct PktSZMvD : public PktDD
|
|
{
|
|
unsigned long m_dwUserID;
|
|
char m_cZone;
|
|
POS m_NewPos;
|
|
};
|
|
|
|
typedef struct PktSZMvDAck* LPPktSZMvDAck;
|
|
struct PktSZMvDAck : public PktDD
|
|
{
|
|
enum { MAX_CHANNEL_NUM = 2 };
|
|
|
|
unsigned char m_cZone;
|
|
unsigned short m_wChannelNum[MAX_CHANNEL_NUM];
|
|
};
|
|
|
|
// 서버 주소 얻기
|
|
typedef struct PktSA* LPPktSA;
|
|
struct PktSA : public PktDD
|
|
{
|
|
unsigned long m_dwUserID; // 유저 아이디
|
|
char m_cZone; // 존 번호
|
|
char m_cChannel; // 채널 번호
|
|
};
|
|
|
|
// 서버 주소 얻기 Ack
|
|
typedef struct PktSAAck* LPPktSAAck;
|
|
struct PktSAAck : public PktDD
|
|
{
|
|
unsigned long m_dwServerID;
|
|
IN_ADDR m_GameAddress;
|
|
};
|
|
|
|
// ---------------------------------------------------------------------------
|
|
// 유저 관련
|
|
|
|
// 유저 테이블 업데이트
|
|
typedef struct PktUUT *LPPktUUT;
|
|
struct PktUUT : public PktBase {
|
|
enum {
|
|
UpdateUIDTableNone = 0, // 없음
|
|
UpdateUIDTableLogin = 1, // 로그인
|
|
UpdateUIDTableLogout = 2 // 로그아웃
|
|
};
|
|
|
|
unsigned char m_cCmd;
|
|
|
|
unsigned long m_dwSessionID;
|
|
unsigned long m_dwServerID;
|
|
unsigned long m_dwUserID;
|
|
unsigned long m_dwCharID;
|
|
};
|
|
|
|
// 유저 죽이기.
|
|
typedef struct PktUK* LPPktUK;
|
|
struct PktUK : public PktBase
|
|
{
|
|
unsigned long m_dwUserID;
|
|
unsigned long m_dwCharID;
|
|
unsigned long m_dwServerID;
|
|
};
|
|
|
|
|
|
#pragma pack()
|
|
|
|
#endif |