Files
2022-10-26 12:25:11 +08:00

382 lines
27 KiB
C

//#pragma once
#include "Protocol.h"
#include "Protocol_CG.h"
//-------------------------------------------------------------------------------------------------------
// * Prefix
// C : Client
// A : Agent Server
// G : Game Server
// W : World Server
//
// * Postfix
// SYN - Server에 요청
// ACK - 요청에 대한 허락
// NAK - 요청에 대한 거부
// CMD - Server의 명령
// BRD - Server가 동기화 관련 내용을 알림
// DBR - DBProxy에서만 사용함!
//
// * 프로토콜 Naming Rule
// Prefix_카테고리명_프로토콜명_Postfix
// ex) MAKE_PROTOCOL_INFO(CW_CONNECTION_REGISTER_SYN
//
//-------------------------------------------------------------------------------------------------------
//#if !defined(_NA000000_MAKE_PROTOCOL_INFO(CW_PROTOCOL[] = _UNIFICATION)
// Client <-> World Server
PROTOCOL_STRUCT sCW_CATEGORY[] =
{
MAKE_PROTOCOL_INFO(CW_CONNECTION , CATEGORY_GENERATOR_001),
MAKE_PROTOCOL_INFO(CW_CHAT , CATEGORY_GENERATOR_002), // 캐릭터 선택 ), 캐릭터 생성
MAKE_PROTOCOL_INFO(CW_GM , CATEGORY_GENERATOR_003), // GM 명령어
MAKE_PROTOCOL_INFO(CW_VIEWPORT , CATEGORY_GENERATOR_004), // 유저 뷰포트 상태
MAKE_PROTOCOL_INFO(CW_ARMORKIT , CATEGORY_GENERATOR_005), // ArmorKit 관련
MAKE_PROTOCOL_INFO(CW_FRIEND , CATEGORY_GENERATOR_006), // 친구 관련
MAKE_PROTOCOL_INFO(CW_GUILD , CATEGORY_GENERATOR_007), // 길드 관련
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY , CATEGORY_GENERATOR_009), // 보안 관련
MAKE_PROTOCOL_INFO(CW_COMMUNITY , CATEGORY_GENERATOR_010), // 기타 커뮤니티 관련
MAKE_PROTOCOL_INFO(CW_REVENGE , CATEGORY_GENERATOR_011), // 리벤지(나쁜친구) 세팅 관련
MAKE_PROTOCOL_INFO(CW_MEMO , CATEGORY_GENERATOR_012), // 쪽지 관련
//MAKE_PROTOCOL_INFO(CW_SYNC , CATEGORY_GENERATOR_013),
MAKE_PROTOCOL_INFO(CW_GROUP , CATEGORY_GENERATOR_014), // 그룹 맺기 시스템 관련 프로토콜
MAKE_PROTOCOL_INFO(CW_LOTTO , CATEGORY_GENERATOR_015), // 하임 로또 관련
MAKE_PROTOCOL_INFO(CW_PARTY , CATEGORY_GENERATOR_016), // 파티 관련 프로토콜
MAKE_PROTOCOL_INFO_EOR() };
//#endif
PROTOCOL_STRUCT sCW_CONNECTION_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_HEARTBEAT , PROTOCOL_GENERATOR_001),
MAKE_PROTOCOL_INFO(CW_ENTER_SERVER_SYN , PROTOCOL_GENERATOR_002),
MAKE_PROTOCOL_INFO(CW_ENTER_READY_BRD , PROTOCOL_GENERATOR_003), // 접속 받자마자 알려준다
MAKE_PROTOCOL_INFO_EOR() };
PROTOCOL_STRUCT sCW_CHAT_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_WHISPER_SYN , PROTOCOL_GENERATOR_001), // 귓속말
MAKE_PROTOCOL_INFO(CW_WHISPER_ACK , PROTOCOL_GENERATOR_002),
MAKE_PROTOCOL_INFO(CW_WHISPER_NAK , PROTOCOL_GENERATOR_003),
MAKE_PROTOCOL_INFO(CW_NOTICE_SYN , PROTOCOL_GENERATOR_004), // 공지
MAKE_PROTOCOL_INFO(CW_NOTICE_BRD , PROTOCOL_GENERATOR_005),
MAKE_PROTOCOL_INFO(CW_WHISPER_SET_SYN , PROTOCOL_GENERATOR_006), // 귓말 켬/끔
MAKE_PROTOCOL_INFO(CW_WHISPER_SET_ACK , PROTOCOL_GENERATOR_007),
MAKE_PROTOCOL_INFO(CW_WHISPER_SET_NAK , PROTOCOL_GENERATOR_008),
MAKE_PROTOCOL_INFO(CW_CHAT_NORMAL_SYN , PROTOCOL_GENERATOR_009), // 일반 채팅 요청
MAKE_PROTOCOL_INFO(CW_CHAT_NORMAL_BRD , PROTOCOL_GENERATOR_010), // 일반 채팅 브로드 캐스팅
MAKE_PROTOCOL_INFO(CW_CHAT_SHOUT_SYN , PROTOCOL_GENERATOR_011), // 외치기 요청
MAKE_PROTOCOL_INFO(CW_CHAT_SHOUT_BRD , PROTOCOL_GENERATOR_012), // 외치기 내용 브로드 캐스팅
MAKE_PROTOCOL_INFO(CW_CHAT_PARTY_SYN , PROTOCOL_GENERATOR_013), // 파티 채팅(차후 필요할 것을 예상하여 미리 예약-20060215)
MAKE_PROTOCOL_INFO(CW_CHAT_PARTY_BRD , PROTOCOL_GENERATOR_014), // 파티 채팅 브로드 캐스팅
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_REQUEST_SYN , PROTOCOL_GENERATOR_015), // 음성 채팅 신청(C->W)
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_REQUEST_BRD , PROTOCOL_GENERATOR_016), // 음성 채팅 신청됐음(W->C)
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_REQUEST_NAK , PROTOCOL_GENERATOR_017), // 음성 채팅 신청 실패(W->C)
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_ACCEPT_SYN , PROTOCOL_GENERATOR_018), // 음성 채팅 수락(C->W)
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_ACCEPT_BRD , PROTOCOL_GENERATOR_019), // 음성 채팅 수락됐음(W->C)
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_ACCEPT_NAK , PROTOCOL_GENERATOR_020), // 음성 채팅 수락 실패(W->C)
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_REJECT_SYN , PROTOCOL_GENERATOR_021), // 음성 채팅 거절(C->W)
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_REJECT_BRD , PROTOCOL_GENERATOR_022), // 음성 채팅 거절됐음(W->C)
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_DISCONNECT_SYN , PROTOCOL_GENERATOR_023), // 음성 채팅 종료 요청(C->W)
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_DISCONNECT_BRD , PROTOCOL_GENERATOR_024), // 음성 채팅 종료(W->C)
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_DISCONNECT_NAK , PROTOCOL_GENERATOR_025), // 음성 채팅 종료 실패(W->C)
MAKE_PROTOCOL_INFO(CW_CHAT_NORMAL_NAK , PROTOCOL_GENERATOR_026), // 일반 채팅 실패
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_MIC_STATUS_SYN , PROTOCOL_GENERATOR_027), // 음성 채팅 마이크 ON/OFF (C->W)
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_MIC_STATUS_BRD , PROTOCOL_GENERATOR_028), // 음성 채팅 마이크 ON/OFF 브로드(W->C)
MAKE_PROTOCOL_INFO(CW_CHAT_VOICE_MIC_STATUS_NAK , PROTOCOL_GENERATOR_029), // 음성 채팅 마이크 ON/OFF 실패(W->C)
MAKE_PROTOCOL_INFO(CW_CHAT_SHOUT_NAK , PROTOCOL_GENERATOR_030), // 외치기 실패
MAKE_PROTOCOL_INFO(CW_CHAT_PARTY_MIC_STATUS_REQ , PROTOCOL_GENERATOR_031), // 파티 가입했을 때 기존 파티원들 음성 채팅 정보 요청(C->W)
MAKE_PROTOCOL_INFO(CW_CHAT_PARTY_MIC_STATUS_ANS , PROTOCOL_GENERATOR_032), // 기존 파티원들 음성 채팅 정보 전송(W->C)
MAKE_PROTOCOL_INFO(CW_CHAT_PARTY_MIC_STATUS_NAK , PROTOCOL_GENERATOR_033), // 기존 파티원들 음성 채팅 정보 전송 실패(W->C)
MAKE_PROTOCOL_INFO(CW_CHAT_PLAYER_MIC_STATUS_REQ , PROTOCOL_GENERATOR_034), // 다른 캐릭터 음성 채팅 on/off 상태 확인 요청(C->W)
MAKE_PROTOCOL_INFO(CW_CHAT_PLAYER_MIC_STATUS_ANS , PROTOCOL_GENERATOR_035), // 다른 캐릭터 음성 채팅 on/off 상태 확인 전송(W->C)
MAKE_PROTOCOL_INFO(CW_CHAT_BLOCKED_CMD , PROTOCOL_GENERATOR_036), // 채팅 금지 당했다고 알려줌
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_JOIN_SYN , PROTOCOL_GENERATOR_037), // 채널 채팅방 입장 요청
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_JOIN_ACK , PROTOCOL_GENERATOR_038), // 채널 채팅방 입장 성공(생성 여부도 표시)
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_JOIN_NAK , PROTOCOL_GENERATOR_039), // 채널 채팅방 입장 실패
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_JOIN_BRD , PROTOCOL_GENERATOR_040), // 채널 채팅방에 누가 들어왔음
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_SEND_SYN , PROTOCOL_GENERATOR_041), // 채널 채팅방에서 채팅
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_SEND_BRD , PROTOCOL_GENERATOR_042), // 채널 채팅방에서 채팅
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_SEND_NAK , PROTOCOL_GENERATOR_043), // 채널 채팅방에서 채팅 실패
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_INVITE_SYN , PROTOCOL_GENERATOR_044), // 채널 채팅방에 상대 초대
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_INVITE_ACK , PROTOCOL_GENERATOR_045), // 채널 채팅방에 상대 초대 성공
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_INVITE_NAK , PROTOCOL_GENERATOR_046), // 채널 채팅방에 상대 초대 실패
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_INVITE_CMD , PROTOCOL_GENERATOR_047), // 채널 채팅방에 상대가 초대했음
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_OUT_SYN , PROTOCOL_GENERATOR_048), // 채널 채팅방에서 퇴장
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_OUT_ACK , PROTOCOL_GENERATOR_049), // 채널 채팅방에서 퇴장 성공
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_OUT_NAK , PROTOCOL_GENERATOR_050), // 채널 채팅방에서 퇴장 실패
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_OUT_BRD , PROTOCOL_GENERATOR_051), // 채널 채팅방에서 누군가 퇴장했음
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_INFO_REQ , PROTOCOL_GENERATOR_052), // 채널 채팅방 정보 요청(인원), 이름)
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_INFO_ANS , PROTOCOL_GENERATOR_053), // 채널 채팅방 정보
MAKE_PROTOCOL_INFO(CW_CHAT_CHANNEL_INFO_NAK , PROTOCOL_GENERATOR_054), // 채널 채팅방 정보 요청 실패
MAKE_PROTOCOL_INFO_EOR() };
PROTOCOL_STRUCT sCW_GM_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_GM_NOTICE_SYN , PROTOCOL_GENERATOR_001), // 공지
MAKE_PROTOCOL_INFO(CW_GM_NOTICE_NAK , PROTOCOL_GENERATOR_002), // 공지 실패(공지가 성공하면 자신도 받기 때문에 ACK가 필요없음)
MAKE_PROTOCOL_INFO(CW_GM_STRING_CMD_SYN , PROTOCOL_GENERATOR_004), // 스트링으로 명령어 전송 요청(서버쪽에서 명령어 파싱해서 처리할 경우 사용)
MAKE_PROTOCOL_INFO(CW_GM_STRING_CMD_NAK , PROTOCOL_GENERATOR_005),
MAKE_PROTOCOL_INFO(CW_GM_WHISPER_SET_ACK , PROTOCOL_GENERATOR_007), // GM귓속말 켬/끔 성공
MAKE_PROTOCOL_INFO(CW_GM_WHISPER_SET_NAK , PROTOCOL_GENERATOR_008), // GM귓속말 켬/끔 실패
MAKE_PROTOCOL_INFO(CW_GM_USERCHAT_BLOCK_ACK , PROTOCOL_GENERATOR_009), // 유저 채팅금지/허용 성공
MAKE_PROTOCOL_INFO(CW_GM_USERCHAT_BLOCK_NAK , PROTOCOL_GENERATOR_010), // 유저 채팅금지/허용 실패
MAKE_PROTOCOL_INFO_EOR() };
PROTOCOL_STRUCT sCW_VIEWPORT_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_VIEWPORT_CHARSTATE , PROTOCOL_GENERATOR_001), // 캐릭터 위치 정보
MAKE_PROTOCOL_INFO_EOR() };
PROTOCOL_STRUCT sCW_ARMORKIT_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_ARMORKIT_FINDHACK , PROTOCOL_GENERATOR_001), // 해킹 시도 발견
MAKE_PROTOCOL_INFO_EOR() };
PROTOCOL_STRUCT sCW_FRIEND_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_FRIEND_NEWLIST_SYN , PROTOCOL_GENERATOR_001), // 처음 접속할 때 친구/차단 목록 요청
MAKE_PROTOCOL_INFO(CW_FRIEND_FRIENDLIST_ACK , PROTOCOL_GENERATOR_002), // 친구 목록
MAKE_PROTOCOL_INFO(CW_FRIEND_BLOCKLIST_ACK , PROTOCOL_GENERATOR_003), // 차단 목록
MAKE_PROTOCOL_INFO(CW_FRIEND_NEWLIST_NAK , PROTOCOL_GENERATOR_004), // 친구/차단 목록 요청 실패
MAKE_PROTOCOL_INFO(CW_FRIEND_LOGIN_BRD , PROTOCOL_GENERATOR_005), // 접속 중에 친구 로그온
MAKE_PROTOCOL_INFO(CW_FRIEND_LOGOUT_BRD , PROTOCOL_GENERATOR_006),
// MAKE_PROTOCOL_INFO(CW_FRIEND_CHGSTATE_BRD , PROTOCOL_GENERATOR_007), // 접속 중에 친구 상태 바뀜
MAKE_PROTOCOL_INFO(CW_FRIEND_ADD_SYN , PROTOCOL_GENERATOR_008), // 친구 추가
MAKE_PROTOCOL_INFO(CW_FRIEND_ADD_ACK , PROTOCOL_GENERATOR_009), // 친구 추가 성공
MAKE_PROTOCOL_INFO(CW_FRIEND_ADD_NAK , PROTOCOL_GENERATOR_010), // 친구 추가 실패
MAKE_PROTOCOL_INFO(CW_FRIEND_DEL_SYN , PROTOCOL_GENERATOR_011), // 친구 삭제 요청
MAKE_PROTOCOL_INFO(CW_FRIEND_DEL_ACK , PROTOCOL_GENERATOR_012), // 친구 삭제 성공
MAKE_PROTOCOL_INFO(CW_FRIEND_DEL_NAK , PROTOCOL_GENERATOR_013), // 친구 삭제 실패
MAKE_PROTOCOL_INFO(CW_FRIEND_BLOCK_SYN , PROTOCOL_GENERATOR_014), // 차단 요청
MAKE_PROTOCOL_INFO(CW_FRIEND_BLOCK_ACK , PROTOCOL_GENERATOR_015), // 차단 허용
MAKE_PROTOCOL_INFO(CW_FRIEND_BLOCK_NAK , PROTOCOL_GENERATOR_016), // 차단 실패
MAKE_PROTOCOL_INFO(CW_FRIEND_BLOCK_FREE_SYN , PROTOCOL_GENERATOR_017), // 차단 삭제 요청
MAKE_PROTOCOL_INFO(CW_FRIEND_BLOCK_FREE_ACK , PROTOCOL_GENERATOR_018), // 차단 삭제 허용
MAKE_PROTOCOL_INFO(CW_FRIEND_BLOCK_FREE_NAK , PROTOCOL_GENERATOR_019), // 차단 삭제 실패
MAKE_PROTOCOL_INFO(CW_FRIEND_CHAT_SYN , PROTOCOL_GENERATOR_020), // 친구 채팅(메신저 채팅)
MAKE_PROTOCOL_INFO(CW_FRIEND_CHAT_BRD , PROTOCOL_GENERATOR_021), // 친구가 나에게 채팅을 시도해옴
MAKE_PROTOCOL_INFO(CW_FRIEND_CHAT_NAK , PROTOCOL_GENERATOR_022), // 친구 채팅 실패
MAKE_PROTOCOL_INFO(CW_FRIEND_CHATBLOCK_SYN , PROTOCOL_GENERATOR_023), // 메신저 채팅 거부 요청
MAKE_PROTOCOL_INFO(CW_FRIEND_CHATBLOCK_ACK , PROTOCOL_GENERATOR_024), // 메신저 채팅 거부 성공
MAKE_PROTOCOL_INFO(CW_FRIEND_CHATBLOCK_NAK , PROTOCOL_GENERATOR_025), // 메신저 채팅 거부 실패
// MAKE_PROTOCOL_INFO(CW_FRIEND_CHAT_INVITE_SYN , PROTOCOL_GENERATOR_026), // 친구 채팅 초대(차단되지 않았다면 자동으로 대화 참여)
// MAKE_PROTOCOL_INFO(CW_FRIEND_CHAT_INVITE_BRD , PROTOCOL_GENERATOR_027), // 친구 채팅 초대 참여
// MAKE_PROTOCOL_INFO(CW_FRIEND_CHAT_INVITE_NAK , PROTOCOL_GENERATOR_028), // 친구 채팅 초대 실패
MAKE_PROTOCOL_INFO(CW_FRIEND_LEVELUP_BRD , PROTOCOL_GENERATOR_029), // 친구 레벨업
MAKE_PROTOCOL_INFO(CW_FRIEND_STATUS_REQ , PROTOCOL_GENERATOR_030), // 친구 상세정보
MAKE_PROTOCOL_INFO(CW_FRIEND_STATUS_ANS , PROTOCOL_GENERATOR_031),
MAKE_PROTOCOL_INFO(CW_FRIEND_STATUS_NAK , PROTOCOL_GENERATOR_032),
MAKE_PROTOCOL_INFO(CW_FRIEND_STATUS_JOIN_SYN , PROTOCOL_GENERATOR_033), // 친구와 게임 같이하기
MAKE_PROTOCOL_INFO(CW_FRIEND_STATUS_JOIN_ACK , PROTOCOL_GENERATOR_034),
MAKE_PROTOCOL_INFO(CW_FRIEND_STATUS_JOIN_NAK , PROTOCOL_GENERATOR_035),
MAKE_PROTOCOL_INFO(CW_FRIENDINVITATE_INVITATELIST_CMD , PROTOCOL_GENERATOR_036), //_KR_0_20091021_FIRENDINVITATION_EXTEND
//_NA_0_20100527_ADD_CHAR_RELATION_MEMO
MAKE_PROTOCOL_INFO(CW_FRIEND_MEMO_UPDATE_SYN , PROTOCOL_GENERATOR_037),
MAKE_PROTOCOL_INFO(CW_FRIEND_MEMO_UPDATE_ACK , PROTOCOL_GENERATOR_038),
MAKE_PROTOCOL_INFO(CW_FRIEND_MEMO_UPDATE_NAK , PROTOCOL_GENERATOR_039),
MAKE_PROTOCOL_INFO_EOR() };
PROTOCOL_STRUCT sCW_GUILD_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_GUILD_CHAT_SYN , PROTOCOL_GENERATOR_003), // 길드 채팅 요청
MAKE_PROTOCOL_INFO(CW_GUILD_CHAT_BRD , PROTOCOL_GENERATOR_004), // 길드 채팅
MAKE_PROTOCOL_INFO(CW_GUILD_CHAT_NAK , PROTOCOL_GENERATOR_005), // 길드 채팅 실패
MAKE_PROTOCOL_INFO(CW_GUILD_RELATION_BRD , PROTOCOL_GENERATOR_015), // 길드 관계
MAKE_PROTOCOL_INFO(CW_GUILD_RELATION_DELETE_BRD , PROTOCOL_GENERATOR_016), // 길드 관계 삭제
MAKE_PROTOCOL_INFO(CW_GUILD_RELATION_BOTH_AGAINST_BRD , PROTOCOL_GENERATOR_017), // 쌍방 적대로 변경
MAKE_PROTOCOL_INFO(CW_GUILD_RELATION_MOVE_BRD , PROTOCOL_GENERATOR_018), // 길드 관계 이동
//MAKE_PROTOCOL_INFO(CW_GUILD_CHANGE_DUTY_BRD , PROTOCOL_GENERATOR_019), // 길드 직책
//MAKE_PROTOCOL_INFO(CW_GUILD_CHANGE_DUTY_CMD , PROTOCOL_GENERATOR_020), // 길드 직책
//MAKE_PROTOCOL_INFO(CW_GUILD_RIGHT_DELEGATION_CMD , PROTOCOL_GENERATOR_021), // 길드 권한 위임
//MAKE_PROTOCOL_INFO(CW_GUILD_CHANGE_MASTER_BRD , PROTOCOL_GENERATOR_022), // 길드 마스터 변경
MAKE_PROTOCOL_INFO(CW_GUILD_RECOVERY_GUILD_BRD , PROTOCOL_GENERATOR_023), //길드 복구
MAKE_PROTOCOL_INFO(CW_GUILD_GUILDMARK_REGISTER_BRD , PROTOCOL_GENERATOR_025),
MAKE_PROTOCOL_INFO(CW_GUILD_GUILDMARK_DELETE_BRD , PROTOCOL_GENERATOR_026),
MAKE_PROTOCOL_INFO(CW_GUILD_ALLPLAYERS_GUILD_INFO_CMD , PROTOCOL_GENERATOR_029), // 필드 길드 렌더 정보 전송
MAKE_PROTOCOL_INFO(CW_GUILD_VILLAGE_ALLPLAYERS_GUILD_INFO_CMD , PROTOCOL_GENERATOR_030), // 마을 길드 렌더 정보 전송
MAKE_PROTOCOL_INFO(CW_GUILD_PLAYER_GUILD_INFO_BRD , PROTOCOL_GENERATOR_031), // 자신의 길드 정보 전송
//40번대 대역폭 길드 군단 작업 관련 사용.
//MAKE_PROTOCOL_INFO(CW_GUILD_CREATE_CORPS_BRD , PROTOCOL_GENERATOR_040), // 길드 군단 생성
//MAKE_PROTOCOL_INFO(CW_GUILD_DESTROY_CORPS_BRD , PROTOCOL_GENERATOR_041), // 길드 군단 해산
//MAKE_PROTOCOL_INFO(CW_GUILD_CHANGE_COMMANDER_BRD , PROTOCOL_GENERATOR_042), // 길드 군단장 변경
//MAKE_PROTOCOL_INFO(CW_GUILD_CHANGE_CORPS_BRD , PROTOCOL_GENERATOR_043), // 길드 군단 이동
//MAKE_PROTOCOL_INFO(CW_GUILD_CREATE_REAR_CAMP_BRD , PROTOCOL_GENERATOR_044), // 길드 군단 훈련캠프 생성
//MAKE_PROTOCOL_INFO(CW_GUILD_DESTROY_REAR_CAMP_BRD , PROTOCOL_GENERATOR_045), // 길드 군단 훈련캠프 해산
MAKE_PROTOCOL_INFO(CW_GUILD_WAREHOUSE_LOGLIST_REQ , PROTOCOL_GENERATOR_050), // 길드 창고 로그 요청
MAKE_PROTOCOL_INFO(CW_GUILD_WAREHOUSE_LOGLIST_ANS , PROTOCOL_GENERATOR_051),
MAKE_PROTOCOL_INFO(CW_GUILD_WAREHOUSE_LOGLIST_NAK , PROTOCOL_GENERATOR_052),
MAKE_PROTOCOL_INFO(CW_GUILD_CHANGE_NOTICE_SYN , PROTOCOL_GENERATOR_055), // 길드 공지 변경
MAKE_PROTOCOL_INFO(CW_GUILD_CHANGE_NOTICE_BRD , PROTOCOL_GENERATOR_056),
MAKE_PROTOCOL_INFO(CW_GUILD_CHANGE_NOTICE_NAK , PROTOCOL_GENERATOR_057),
MAKE_PROTOCOL_INFO(CW_GUILD_NOTICE_CMD , PROTOCOL_GENERATOR_058), // 길드 공지를 보낼때( 길드 가입시나 로그인시 날려줌. )
MAKE_PROTOCOL_INFO(CW_GUILD_SELECT_NOTICE_SYN , PROTOCOL_GENERATOR_059),
MAKE_PROTOCOL_INFO(CW_GUILD_SELECT_NOTICE_ACK , PROTOCOL_GENERATOR_060),
MAKE_PROTOCOL_INFO(CW_GUILD_SELECT_NOTICE_NAK , PROTOCOL_GENERATOR_061),
//_KR_001385_20091202_DOMINATION_RETURN_HEIM
MAKE_PROTOCOL_INFO(CW_DOMINATION_RETURN_HEIM_CMD , PROTOCOL_GENERATOR_062), //지역 점령전 관련 하임 보상및 환급 요청
MAKE_PROTOCOL_INFO_EOR() };
// <Cryptography>
PROTOCOL_STRUCT sCW_CRYPTOGRAPHY_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_KEY , PROTOCOL_GENERATOR_001), // 패킷 암호화 키 교환(W->C)
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_ACK , PROTOCOL_GENERATOR_002), // 패킷 암호화 키 설정 성공(C->W)
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_NAK , PROTOCOL_GENERATOR_003), // 패킷 암호화 키 설정 실패(C->W)
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_CMD , PROTOCOL_GENERATOR_004), // 패킷 암호화 키 사용하도록 명령(W->C)
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_PACKET_ENCODED , PROTOCOL_GENERATOR_005),
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_PACKET_ENCODING , PROTOCOL_GENERATOR_006),
// , PROTOCOL_GENERATOR_007),
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_INFO_TYPE0_SUB_CMD , PROTOCOL_GENERATOR_008), // 144 + n
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_INFO_TYPE1_SUB_CMD , PROTOCOL_GENERATOR_009),
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_INFO_TYPE2_SUB_CMD , PROTOCOL_GENERATOR_010),
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_INFO_TYPE3_SUB_CMD , PROTOCOL_GENERATOR_011),
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_INFO_TYPE4_SUB_CMD , PROTOCOL_GENERATOR_012),
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_INFO_TYPE5_SUB_CMD , PROTOCOL_GENERATOR_013),
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_INFO_TYPE6_SUB_CMD , PROTOCOL_GENERATOR_014),
MAKE_PROTOCOL_INFO(CW_CRYPTOGRAPHY_INFO_TYPE7_SUB_CMD , PROTOCOL_GENERATOR_015),
MAKE_PROTOCOL_INFO_EOR() };
PROTOCOL_STRUCT sCW_COMMUNITY_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_COMM_USERID_REQ , PROTOCOL_GENERATOR_001), // 다른 사용자의 UserID 요청(웹 접근 위해)
MAKE_PROTOCOL_INFO(CW_COMM_USERID_ACK , PROTOCOL_GENERATOR_002),
MAKE_PROTOCOL_INFO(CW_COMM_USERID_NAK , PROTOCOL_GENERATOR_003),
MAKE_PROTOCOL_INFO_EOR() };
PROTOCOL_STRUCT sCW_REVENGE_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_REVENGE_ADD_CMD , PROTOCOL_GENERATOR_001), // Revenge User Added
MAKE_PROTOCOL_INFO(CW_REVENGE_DEL_SYN , PROTOCOL_GENERATOR_002), // 리벤지 리스트에서 삭제
MAKE_PROTOCOL_INFO(CW_REVENGE_DEL_ACK , PROTOCOL_GENERATOR_003),
MAKE_PROTOCOL_INFO(CW_REVENGE_DEL_NAK , PROTOCOL_GENERATOR_004),
MAKE_PROTOCOL_INFO(CW_REVENGE_LIST_CMD , PROTOCOL_GENERATOR_005), // 리벤지 리스트
MAKE_PROTOCOL_INFO(CW_REVENGE_LOGIN_BRD , PROTOCOL_GENERATOR_006), // 리벤지 대상 로그인
MAKE_PROTOCOL_INFO(CW_REVENGE_LOGOUT_BRD , PROTOCOL_GENERATOR_007), // 리벤지 대상 로그아웃
MAKE_PROTOCOL_INFO(CW_REVENGE_LEVELUP_BRD , PROTOCOL_GENERATOR_008), // 리벤지 대상 레벨업
MAKE_PROTOCOL_INFO_EOR() };
PROTOCOL_STRUCT sCW_MEMO_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_MEMO_SEND_SYN , PROTOCOL_GENERATOR_001), // 쪽지 전송
MAKE_PROTOCOL_INFO(CW_MEMO_SEND_ACK , PROTOCOL_GENERATOR_002),
MAKE_PROTOCOL_INFO(CW_MEMO_SEND_NAK , PROTOCOL_GENERATOR_003),
MAKE_PROTOCOL_INFO(CW_MEMO_LIST_REQ , PROTOCOL_GENERATOR_005), // 쪽지 목록
MAKE_PROTOCOL_INFO(CW_MEMO_LIST_ANS , PROTOCOL_GENERATOR_006),
MAKE_PROTOCOL_INFO(CW_MEMO_LIST_NAK , PROTOCOL_GENERATOR_007),
MAKE_PROTOCOL_INFO(CW_MEMO_VIEW_REQ , PROTOCOL_GENERATOR_009), // 쪽지 확인
MAKE_PROTOCOL_INFO(CW_MEMO_VIEW_ANS , PROTOCOL_GENERATOR_010),
MAKE_PROTOCOL_INFO(CW_MEMO_VIEW_NAK , PROTOCOL_GENERATOR_011),
MAKE_PROTOCOL_INFO(CW_MEMO_DELETE_SYN , PROTOCOL_GENERATOR_013), // 쪽지 삭제
MAKE_PROTOCOL_INFO(CW_MEMO_DELETE_ACK , PROTOCOL_GENERATOR_014),
MAKE_PROTOCOL_INFO(CW_MEMO_DELETE_NAK , PROTOCOL_GENERATOR_015),
MAKE_PROTOCOL_INFO(CW_MEMO_NEWMEMO_BRD , PROTOCOL_GENERATOR_017),
MAKE_PROTOCOL_INFO_EOR() };
//__KR_001355_20090608_GROUPINGSYSTEM_CW
PROTOCOL_STRUCT sCW_GROUP_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_GROUP_LOGIN_BRD , PROTOCOL_GENERATOR_001), //접속 중에 그룹맴버 로그온 통보
MAKE_PROTOCOL_INFO(CW_GROUP_LOGOUT_BRD , PROTOCOL_GENERATOR_002), //접속 중에 그룹맴버 로그아웃 통보
MAKE_PROTOCOL_INFO(CW_GROUP_LEVELUP_BRD , PROTOCOL_GENERATOR_003), //그룹 멤버 레벨업 통보
MAKE_PROTOCOL_INFO(CW_GROUP_ACCUMEXP_BRD , PROTOCOL_GENERATOR_004), //하위 멤버가 쌓아 놓은 경험치를 받았음을 통보
MAKE_PROTOCOL_INFO(CW_GROUP_BONUSMONEY_BRD , PROTOCOL_GENERATOR_005), //그룹 보너스 하임 통보
MAKE_PROTOCOL_INFO(CW_GROUP_BONUSEXP_BRD , PROTOCOL_GENERATOR_006), //그룹 보너스 경험치 통보
MAKE_PROTOCOL_INFO(CW_GROUP_DEL_BRD , PROTOCOL_GENERATOR_007), //그룹 맴버 삭제 통보
MAKE_PROTOCOL_INFO(CW_GROUP_RESTOR_CMD , PROTOCOL_GENERATOR_008), //그룹 정보 재요청
MAKE_PROTOCOL_INFO(CW_GROUP_GROUPLIST_REQ , PROTOCOL_GENERATOR_009), //그룹 목록 요청
MAKE_PROTOCOL_INFO(CW_GROUP_GROUPLIST_ANS , PROTOCOL_GENERATOR_010), //그룹 목록 성공
MAKE_PROTOCOL_INFO(CW_GROUP_GROUPLIST_NAK , PROTOCOL_GENERATOR_011), //그룹 목록 실패
MAKE_PROTOCOL_INFO(CW_GROUP_ADD_SYN , PROTOCOL_GENERATOR_012), //그룹 멤버 추가 작업 요청
MAKE_PROTOCOL_INFO(CW_GROUP_ADD_ACK , PROTOCOL_GENERATOR_013), //그룹 멤버 추가 성공
MAKE_PROTOCOL_INFO(CW_GROUP_ADD_NAK , PROTOCOL_GENERATOR_014), //그룹 멤버 추가 실패
MAKE_PROTOCOL_INFO(CW_GROUP_ADD_RESPONSE_SYN , PROTOCOL_GENERATOR_015), //그룹 멤버 추가 작업 응답
MAKE_PROTOCOL_INFO(CW_GROUP_ADD_RESPONSE_ACK , PROTOCOL_GENERATOR_016), //그룹 멤버 추가 성공
MAKE_PROTOCOL_INFO(CW_GROUP_ADD_RESPONSE_NAK , PROTOCOL_GENERATOR_017), //그룹 멤버 추가 실패
MAKE_PROTOCOL_INFO(CW_GROUP_DEL_SYN , PROTOCOL_GENERATOR_018), //그룹 멤버 삭제 작업 요청
MAKE_PROTOCOL_INFO(CW_GROUP_DEL_ACK , PROTOCOL_GENERATOR_019), //그룹 멤버 삭제 성공
MAKE_PROTOCOL_INFO(CW_GROUP_DEL_NAK , PROTOCOL_GENERATOR_020), //그룹 멤버 삭제 실패
// 삭제 _NA_0_20100527_ADD_CHAR_RELATION_MEMO
// 기존 상세 정보 요청으로 통합
MAKE_PROTOCOL_INFO(CW_GROUP_STATUS_REQ , PROTOCOL_GENERATOR_021), //그룹 멤버 상세정보 요청
MAKE_PROTOCOL_INFO(CW_GROUP_STATUS_ANS , PROTOCOL_GENERATOR_022), //그룹 멤버 상세정보 결과
MAKE_PROTOCOL_INFO(CW_GROUP_STATUS_NAK , PROTOCOL_GENERATOR_023), //그룹 멤버 상세정보 실패
MAKE_PROTOCOL_INFO(CW_GROUP_ADDBLOCK_SYN , PROTOCOL_GENERATOR_024), //맴버 추가 거부 토글 요청
MAKE_PROTOCOL_INFO(CW_GROUP_ADDBLOCK_ACK , PROTOCOL_GENERATOR_025), //맴버 추가 거부 토글 요청 성공
MAKE_PROTOCOL_INFO(CW_GROUP_ADDBLOCK_NAK , PROTOCOL_GENERATOR_026), //맴버 추가 거부 토글 요청 실패
//그룹 맴버 추가 관련 버그 수정
MAKE_PROTOCOL_INFO(CW_GROUP_REWARD_FAIL_CMD , PROTOCOL_GENERATOR_027), //그룹 맴버가 6명 이상일 경우에 실패 처리를 해준다.
MAKE_PROTOCOL_INFO_EOR() };
//__NA_001359_20090619_HEIM_LOTTO_SYSTEM , {
PROTOCOL_STRUCT sCW_LOTTO_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_LOTTO_START_BRD , PROTOCOL_GENERATOR_001), // 하임 로또 응모 시작 공지
MAKE_PROTOCOL_INFO(CW_LOTTO_INFO_SYN , PROTOCOL_GENERATOR_002), // (내) 하임 로또 정보 요청
MAKE_PROTOCOL_INFO(CW_LOTTO_INFO_ACK , PROTOCOL_GENERATOR_003), // (내) 하임 로또 정보 응답
MAKE_PROTOCOL_INFO(CW_LOTTO_INFO_NAK , PROTOCOL_GENERATOR_004), // (내) 하임 로또 정보 오류 응답
MAKE_PROTOCOL_INFO(CW_LOTTO_TICKET_NTF , PROTOCOL_GENERATOR_005), // 하임 로또 용지 획득 알림 : 복권용지 직접 구입 기능을 사용하지 않을 때
MAKE_PROTOCOL_INFO(CW_LOTTO_ENTRY_SYN , PROTOCOL_GENERATOR_006), // 하임 로또 응모 요청 : 복권용지 직접 구입 기능 사용시 구매 포함
MAKE_PROTOCOL_INFO(CW_LOTTO_ENTRY_ACK , PROTOCOL_GENERATOR_007), // 하임 로또 응모 정상 응답
MAKE_PROTOCOL_INFO(CW_LOTTO_ENTRY_NAK , PROTOCOL_GENERATOR_008), // 하임 로또 응모 오류 응답
MAKE_PROTOCOL_INFO(CW_LOTTO_ACCUM_BRD , PROTOCOL_GENERATOR_009), // 하임 로또 적립액 갱신 공지
MAKE_PROTOCOL_INFO(CW_LOTTO_COUNTDOWN_BRD , PROTOCOL_GENERATOR_010), // 하임 로또 추첨 카운트다운 공지
MAKE_PROTOCOL_INFO(CW_LOTTO_FINISH_BRD , PROTOCOL_GENERATOR_011), // 하임 로또 추첨/종료 공지
MAKE_PROTOCOL_INFO(CW_LOTTO_NOTICE_ALM , PROTOCOL_GENERATOR_012), // 당첨 안내 쪽지 도착 알림
MAKE_PROTOCOL_INFO(CW_LOTTO_NOTICE_NTF , PROTOCOL_GENERATOR_013), // 당첨 안내 쪽지 통보
MAKE_PROTOCOL_INFO(CW_LOTTO_NOTICE_LIST_SYN , PROTOCOL_GENERATOR_014), // 당첨 안내 쪽지 목록 요청
MAKE_PROTOCOL_INFO(CW_LOTTO_NOTICE_LIST_ACK , PROTOCOL_GENERATOR_015), // 당첨 안내 쪽지 목록 응답
MAKE_PROTOCOL_INFO(CW_LOTTO_NOTICE_CONFIRM , PROTOCOL_GENERATOR_016), // 당첨 안내 쪽지 읽음 확인
MAKE_PROTOCOL_INFO_EOR() };
//}
////////////////////////////////////////////////////////////////////////////////////////////////////
//#ifdef _NA_000068_20100419_PARTY_FINDING_SYSTEM
// 파티 관련 프로토콜
PROTOCOL_STRUCT sCW_PARTY_PROTOCOL[] =
{
MAKE_PROTOCOL_INFO(CW_PARTY_FINDING_REGISTER_SYN , PROTOCOL_GENERATOR_001), // 파티 모집 등록/갱신 요청
MAKE_PROTOCOL_INFO(CW_PARTY_FINDING_GET_LIST_SYN , PROTOCOL_GENERATOR_002), // 파티 모집 목록 요청
MAKE_PROTOCOL_INFO(CW_PARTY_FINDING_GET_LIST_ACK , PROTOCOL_GENERATOR_003), // 파티 모집 목록 응답
MAKE_PROTOCOL_INFO(CW_PARTY_FINDING_JOIN_REQUEST_SYN , PROTOCOL_GENERATOR_004), // 파티 모집 참가 신청 요청
MAKE_PROTOCOL_INFO(CW_PARTY_FINDING_JOIN_RESPONSE_CMD , PROTOCOL_GENERATOR_005), // 파티 모집 참가 신청에 대한 응답 요청
MAKE_PROTOCOL_INFO(CW_PARTY_FINDING_JOIN_RESPONSE_RESULT_ACK , PROTOCOL_GENERATOR_006), // 파티 모집 참가 신청에 대한 응답
MAKE_PROTOCOL_INFO(CW_PARTY_FINDING_CANCEL_SYN , PROTOCOL_GENERATOR_007), // 파티 모집 취소 요청
MAKE_PROTOCOL_INFO(CW_PARTY_FINDING_RESULT_ACK , PROTOCOL_GENERATOR_008), // 파티 모집 등록/수정/참가/취소 요청에 대한 응답
MAKE_PROTOCOL_INFO_EOR() }; // eMAKE_PROTOCOL_INFO(CW_PARTY_PROTOCOL[] =
//#endif // _NA_000068_20100419_PARTY_FINDING_SYSTEM
////////////////////////////////////////////////////////////////////////////////////////////////////