Files
Client/Server/AdminTool/AdminToolClient/PacketManager.h
LGram16 dd97ddec92 Restructure repository to include all source folders
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>
2025-11-29 20:17:20 +09:00

127 lines
9.3 KiB
C++

#ifndef _PACKET_MANAGER_H_
#define _PACKET_MANAGER_H_
#include < Item/Item.h >
#include < Pattern/Singleton.h >
#include < Network/Protocol/RYL_AdminMgrProtocol.h >
#include < Stream/Buffer/BufferFactory.h >
class CSingleSession;
class CBuffer;
class CPacketMgr
{
public:
static CPacketMgr* GetInstance();
CPacketMgr();
void SetSession(CSingleSession* pSession);
// 툴 운영자 관련-----------------------------------------------------------------------------------------
bool SendLogin(CString Account, CString Password);
bool RequestAdminList();
bool SendNewAdmin(CString szAccount, CString szPassword, CString szName, CString szLevel, CString szIP);
bool SendUpdateLevel(CString szAccount, CString szLevel);
bool SendUpdateIP(CString szAccount, CString szIP);
bool SendUpdatePassword(CString szAccount, CString szPassword);
bool SendDeleteAdmin(CString szAccount);
bool SendLogList(TCHAR* szAccount);
bool SendExitLog(CString szExitLog);
bool SendDetailLog(unsigned int LogID);
bool SendBeforeAfter(unsigned int DetailLogID);
// 유저 및 캐릭터 관련------------------------------------------------------------------------------------
bool SendSearchID(unsigned char sSearchType, unsigned long dwServerGroup, unsigned long SearchID, unsigned int nOldServerID = 100);
bool SendSearchName(unsigned char sSearchType, unsigned long dwServerGroup, CString SearchName, unsigned int nOldServerID = 100);
bool SendUpdateStatus(unsigned long dwServerGroup, unsigned long dwCID, unsigned long dwUID, unsigned long dwRequestKey, PktAdminMgr::CHAR_STATUS_ST stStatus);
bool SendInvenGold(unsigned long dwUID, unsigned long dwCID, unsigned long dwServerGroup, unsigned long dwRequestKey, unsigned long dwGold);
bool SendStoreGoldUpdate(unsigned long dwUID, unsigned long dwCID, unsigned long dwServerGroup, unsigned long dwRequestKey, unsigned long dwGold);
bool SendPktSkillEdit(unsigned long dwUID, unsigned long dwCID, unsigned long dwServerGroup, unsigned long dwRequest, unsigned short SkillID, char cLevel, char cLockCount, unsigned char cType);
bool SendPktBlockUser(unsigned char cServerGroup, unsigned long dwUID, TCHAR* szCharacterName, unsigned char cBlockTarget, unsigned char cBlockTerm, TCHAR* szFinishDate, TCHAR* szDescription);
bool SendDelBlockUser(unsigned char cServerGroup, unsigned long nidx, TCHAR* szCharName);
bool SendPktSearchBlock(unsigned long dwServerGroup);
bool SendPktDepositPwd(unsigned long dwUID, unsigned long dwCID, unsigned long dwServerGroup, unsigned long dwRequestKey, TCHAR* szPasswd);
bool SendPktCheckName(unsigned long dwServerGroup, unsigned long dwRequestKey, TCHAR* szName);
bool SendPktChangeName(unsigned long dwUID, unsigned long dwCID, unsigned long dwServerGroup, unsigned long dwRequestKey, TCHAR* szName);
bool SendDelCharHistory(unsigned char cType, unsigned long dwServerGroup, unsigned long dwValue);
bool SendPktCharRestore(unsigned long dwUID, unsigned long dwCID, unsigned char cNewServerGroupID, unsigned char cOldServerGroupID, unsigned long dwServerGroup);
bool SendPktDelCharacter(unsigned long dwUID, unsigned long dwCID, unsigned long dwServerGroup, unsigned long dwRequestKey);
bool SendCreateItem(unsigned long dwServerGroup, unsigned long dwCID, unsigned long dwUID, unsigned long dwRequestKey, PktAdminMgr::CreateItemInfo stCreateItemInfo);
bool SendUpdateItem(unsigned long dwServerGroup, unsigned long dwCID, unsigned long dwUID, unsigned long dwRequestKey, unsigned __int64 dwItemSerial, unsigned short dwItemProtoType, PktAdminMgr::CreateItemInfo stUpdateItemInfo);
bool SendRemoveItem(unsigned long dwServerGroup, unsigned long dwCID, unsigned long dwUID, unsigned long dwRequestKey, unsigned __int64 dwItemSerial, unsigned short dwItemProtoType, Item::ItemPos stItemPos);
bool SendItemContainerReset(unsigned long dwServerGroup, unsigned long dwUID, unsigned long dwCID, unsigned long dwRequest, unsigned char cTakePos);
bool SendPktChangePos(unsigned long dwServer, unsigned long dwRequest, unsigned long dwUID, unsigned long dwCID, char cZone, float fPosX, float fPosY, float fPosZ);
bool SendPktUserNation(unsigned long dwRequestKey, unsigned long dwServerGroup, unsigned long dwUID, unsigned long dwCID);
bool SendPktStoreTabEdit(unsigned long dwRequestKey, unsigned long dwServerGroup, unsigned long dwCID, unsigned int nTabNum);
bool SendPktNameChangeCount(unsigned long dwServerGroup, unsigned long dwCID, unsigned char cNameChangeCount);
// 퀘스트 관련
bool SendCancelExecuteQuest(unsigned long dwRequestKey, unsigned long dwServerGroup, unsigned long dwCID, unsigned short wQuestID); // 수행중인 퀘스트 취소
bool SendDeleteHistoryQuest(unsigned long dwRequestKey, unsigned long dwServerGroup, unsigned long dwCID, unsigned short wQuestID); // 완료한 퀘스트 목록에서 제거
// 캐릭터 정보 얻기와 닫기
bool SendSelCharacter(TCHAR* CharName, unsigned long dwServerGroup, unsigned char cOldServerGroupID, unsigned long dwUID, unsigned long dwCID, unsigned long dwRequestKey);
bool SendCloseCharacter(unsigned long m_dwServerGroup, unsigned long m_dwCID, unsigned int dwDocKey);
// 캐릭터 정보 최후 저장
bool SendSetCharacter(unsigned long dwServerGroup, unsigned long dwCID, unsigned long dwUID, unsigned long dwRequestKey, unsigned char cOldServerGroupID = 0);
// 길드 관련----------------------------------------------------------------------------------------------
bool SendGuildSearch(unsigned char cSearchType, unsigned long dwServerGroup, TCHAR* szSearchValue);
bool SendRequestGuildMemberList(unsigned long dwGID, unsigned long dwServerGroup);
bool SendGuildRestoreDataList(bool bAllGroupChk, unsigned long dwServerGroup = 0);
bool SendPktGuildRight(unsigned long dwServerGroup, unsigned long dwGID);
bool SendPktGuildMemberEdit(unsigned long dwServerGroup, unsigned long dwGID, unsigned long dwCID, unsigned char cPosition, unsigned char cType);
// 요새 관련----------------------------------------------------------------------------------------------
bool SendFortSearch(unsigned char cSearchType, unsigned long dwServerGroup, unsigned long dwZoneGroup, TCHAR* szSearchValue);
bool SendMiningCamp(unsigned long dwServerGroup, unsigned long dwCampID);
bool SendShopCamp(unsigned long dwServerGroup, unsigned long dwCampID);
bool SendShopCampGold(unsigned long dwServerGroup, unsigned long dwCampID, unsigned long dwTempMoney);
bool SendShopCampTax(unsigned long dwServerGroup, unsigned long dwCampID, unsigned long dwTax);
// 공성 관련----------------------------------------------------------------------------------------------
bool SendCastleSearch(unsigned char cSearchType, unsigned long dwServerGroup, unsigned long dwZoneGroup, TCHAR* szSearchValue);
bool SendCastleCreature(unsigned long dwServerGroup, unsigned long dwCastleID);
// 운영창고-----------------------------------------------------------------------------------------------
bool SendPktAdminStoreInsert(unsigned char cServerGroup, TCHAR* szOwnerName, TCHAR* szItemName, char* ItemInfo);
bool SendPktAdminStoreDelete(unsigned long dwStoreUID);
bool SendPktGetAdminStoreItem(unsigned char cType, unsigned long dwStoreUID);
bool SendPktUpdateAdminStore();
// 서버 통합 관련-----------------------------------------------------------------------------------------
bool SendPktUnifiedCharInfo(unsigned char cPktType, unsigned long dwServerGroup, unsigned int nOldServerGroup, char* szSearchValue);
bool SendPktUnifiedGuildInfo(unsigned char cPktType, unsigned long dwServerGroup, unsigned int nOldServerGroup);
bool SendPktDetailCharInfo(unsigned long dwServerGroup, unsigned long dwCID);
// 기타---------------------------------------------------------------------------------------------------
bool SendPktSetZoneList();
bool SendForcedDis(unsigned long dwUID);
bool SendItemQtyControlData(unsigned char cType, unsigned char cServerGroup, unsigned long dwItemTypeID = 0, time_t tStartTime = 0, time_t tEndTime = 0, unsigned long dwItemQty = 0);
bool SendUserBillingLogRequest(unsigned char cSearchType, CString strSearchValue, COleDateTime tStartTime, COleDateTime tEndTime);
bool SendGameAdmin(unsigned char cPktType, unsigned long dwServerGroup, unsigned long dwUID = 0, unsigned int nAdminLV = 0, TCHAR* szStartIP = 0, TCHAR* szEndIP = 0);
bool SendConnectAllServerz(void);
bool SendRefrechConnectedServerList(void);
bool SendPktInterestedUser(unsigned char cPktType, TCHAR* szAccount = 0, TCHAR* szReason = 0);
bool SendPktConnectionChk(unsigned char cPktType, TCHAR* szAccount);
bool ReqConnectedUserList(void);
bool SendSearchDupItem(unsigned long dwServerGroup, bool bIsChk = false);
bool SendChkDupItem(unsigned long dwUID, unsigned long dwCID, unsigned long dwServerGroup, unsigned __int64 i64ItemSerial);
bool SendPktItemDistribute(const PktAdminMgr::CreateItemInfo& stCreateItemInfo, PktAdminMgr::DstUserInfo* lpDstUserInfo, unsigned char cDstUserInfoNum);
bool SendPktShiftToUID(unsigned char cPktType, const char* szAccount, unsigned long dwUID);
bool SendPktAmountOfGold(unsigned long dwServerGroup);
bool SendPktGMLogMsg(unsigned char cPktType, unsigned long dwServerGroup, unsigned long dwUID, unsigned long dwCID = 0, unsigned long dwLogID = 0, const char* szLogMsg = "");
bool SendSearchCharInfoTime(unsigned char sSearchType, unsigned long dwServerGroup, CString strSearchValue);
private:
CSingleSession* m_lpSession;
CDefaultBufferFactory m_DefaultBufferFactory;
bool StreamSend(CBuffer* pSendBuffer);
};
#endif