// ÆÐŶ ¹ÙÀεù(Çڵ鷯 µî·Ï) Å×½ºÆ® ÄÉÀ̽º #include "stdafx.h" #include #include #include "PacketHandler/Handler_AU_AUTH.h" #include "PacketHandler/Handler_FromClient.h" #include "PacketHandler/Handler_FromDBProxy.h" #include "PacketHandler/Handler_FromGameServer.h" #include "PacketHandler/Handler_FromMasterServer.h" #include "PacketHandler/Handler_FromWorldServer.h" #include "PacketHandler/PacketHandler.h" #define VERIFY_CLIENT_HANDLER_BINDING(clazz, category, protocol, phase) \ { \ const ProtocolMatrix::sNode* binding = \ PacketHandler::GetHandler()->GetClientProtocolBinding(category, protocol); \ EXPECT_TRUE(binding != NULL); \ EXPECT_TRUE(binding->ePHASE_SHIFT_T == (ePHASE_SHIFT)phase); \ EXPECT_TRUE(binding->m_fnHandler == (PH_fnCAHandler)&##clazz##::On##protocol); \ } #define VERIFY_MOLA_HANDLER_BINDING(category, protocol, phase) \ { \ const ProtocolMatrix::sNode* binding = \ PacketHandler::GetHandler()->GetClientProtocolBinding(category, protocol); \ EXPECT_TRUE(binding != NULL); \ EXPECT_TRUE(binding->ePHASE_SHIFT_T == (ePHASE_SHIFT)phase); \ EXPECT_TRUE(binding->m_fnHandler == (PH_fnCAHandler)&Handler_CG::OnCG_SECURE_MOLACONTROL); \ } #define VERIFY_SERVER_HANDLER_BINDING(server_type, clazz, category, protocol) \ { \ const FUNC_GENERIC* binding = \ PacketHandler::GetHandler()->GetServerProtocolBinding(server_type, category, protocol); \ EXPECT_TRUE(binding != NULL); \ EXPECT_TRUE(binding->m_fnHandler == (PH_fnHandler)&##clazz##::On##protocol); \ } #define VERIFY_CA_HANDLER_BINDING(category, protocol, phase) \ VERIFY_CLIENT_HANDLER_BINDING(Handler_CG, category, protocol, phase) #define VERIFY_AG_HANDLER_BINDING(category, protocol, phase) \ VERIFY_SERVER_HANDLER_BINDING(GAME_SERVER, Handler_AG, category, protocol) #define VERIFY_AD_HANDLER_BINDING(category, protocol, phase) \ VERIFY_SERVER_HANDLER_BINDING(GAME_DBPROXY, Handler_AD, category, protocol) #define VERIFY_AW_HANDLER_BINDING(category, protocol, phase) \ VERIFY_SERVER_HANDLER_BINDING(WORLD_SERVER, Handler_AW, category, protocol) #define VERIFY_AM_HANDLER_BINDING(category, protocol, phase) \ VERIFY_SERVER_HANDLER_BINDING(MASTER_SERVER, Handler_AM, category, protocol) #define VERIFY_AU_HANDLER_BINDING(category, protocol, phase) \ VERIFY_SERVER_HANDLER_BINDING(AUTH_AGENT_SERVER, Handler_AU_AUTH, category, protocol) #define VERIFY_CG_FORWARDING(category) \ { \ for (int protocol = 0; protocol <= 0x0ff; ++protocol) { \ const ProtocolMatrix::sNode* binding = \ PacketHandler::GetHandler()->GetClientProtocolBinding(category, (BYTE)protocol); \ EXPECT_TRUE(binding != NULL); \ } \ } class PacketBindingTest : public ::testing::Test { protected: // per-test-case set-up static void SetUpTestCase() {} // per-test-case tear-down static void TearDownTestCase() {} // per-test set-up virtual void SetUp() {} // per-test tear-down virtual void TearDown() {} }; TEST(PacketBindingTest, ClientPacketBinding) { ASSERT_TRUE(PacketHandler::GetHandler().REFERENCE() != NULL); // CG_CONNECTION VERIFY_CA_HANDLER_BINDING(CG_CONNECTION, CG_CONNECTION_BACKTOCHARSELECT_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_CONNECTION, CG_CONNECTION_HEARTBEAT_SYN, PHASE_UNLIMITED); #ifdef _NA_20100802_SPEED_HACK_DETECTION VERIFY_CA_HANDLER_BINDING(CG_CONNECTION, CG_CONNECTION_TICK_QUERY_ACK, PHASE_UNLIMITED); #endif VERIFY_CA_HANDLER_BINDING(CG_CONNECTION, CG_CONNECTION_REENTERSERVER_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_CONNECTION, CG_CONNECTION_ENTERVILLAGEREQ_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_CONNECTION, CG_PREPARE_WORLD_CONNECT_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_CONNECTION, CG_CONNECTION_NOTIFY_LOGOUT_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_CONNECTION, CG_CONNECTION_CRASH_REPORT_SYN, PHASE_UNLIMITED); #ifdef __NA001334_090420_SERVER_SELECT_FACILITY__ VERIFY_CA_HANDLER_BINDING(CG_CONNECTION, CG_CONNECTION_SERVER_SELECT_REQUEST_SYN, PHASE_UNLIMITED); #endif // CG_CHARINFO VERIFY_CA_HANDLER_BINDING(CG_CHARINFO, CG_CHARINFO_CREATE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_CHARINFO, CG_CHARINFO_DESTROY_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_CHARINFO, CG_CHARINFO_RECOVER_SYN, PHASE_UNLIMITED); #ifdef __NA_001044_ADD_CUSTOM_UI VERIFY_CA_HANDLER_BINDING(CG_CHARINFO, CG_CHARINFO_CHARACTERID_CHECK_SYN, PHASE_UNLIMITED); #endif // CG_SYNC VERIFY_CA_HANDLER_BINDING(CG_SYNC, CG_SYNC_PLAYER_ENTER_SYN, PHASE_UNLIMITED); // CG_ZONE & CG_ZONE_EX VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LIST_MISSIONLOBBY_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LIST_HUNTINGLOBBY_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LIST_HUNTING_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LIST_PVPLOBBY_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LIST_CHUNTINGLOBBY_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LIST_CHUNTING_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LIST_REFRESH_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_SHORTCUT_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_FIND_ROOM_FROM_CHARID_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_FIND_ROOM_FROM_NO_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_CREATE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_CHUNTINGLOBBY_CREATE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_JOIN_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_READY_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_READY_CANCEL_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_REQUEST_INFO_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_NONBLOCKSLOTNUM_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_KICKPLAYER_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_HUNTING_CONFIG_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_PVP_CONFIG_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_CHUNTING_CONFIG_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_HUNTING_CREATE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_MISSION_CREATE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_PVP_CREATE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_CHUNTING_CREATE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_CHUNTING_MIGRATE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_HUNTING_JOIN_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_LEAVE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_MISSION_LEAVE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_HUNTING_LEAVE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_PVP_LEAVE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_CHUNTING_LEAVE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_HUNTING_RELAY_CREATE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_HUNTING_RELAY_JOIN_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_CHANGE_TEAM_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_LOBBY_CHANGE_MAP_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_PORTAL_FIELD_MOVE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_RETURN_VILLAGE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_MISSION_RELAY_CREATE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_MISSION_RELAY_JOIN_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_INSTANCE_DUNGEON_REQUEST_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE, CG_ZONE_INSTANCE_DUNGEON_LEAVE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE_EX, CG_ZONE_EX_LOBBY_NAME_CHANGE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE_EX, CG_ZONE_EX_TUTORIAL_FIELD_LEAVE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE_EX, CG_ZONE_EX_TUTORIAL_MISSION_LEAVE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE_EX, CG_ZONE_EX_CAN_CREATE_100LEVEL_QUEST_MISSION_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE_EX, CG_ZONE_EX_SSQ_JOIN_INFO_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE_EX, CG_ZONE_EX_SSQ_JOIN_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE_EX, CG_ZONE_EX_SSQ_ROOM_INFO_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE_EX, CG_ZONE_EX_SSQ_OBSERVER_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_ZONE_EX, CG_ZONE_EX_QUEST_PORTAL_ENTER_SYN, PHASE_UNLIMITED); // CG_PARTY VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_JOIN_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_JOIN_RESPONSE_ACK, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_JOIN_RESPONSE_NAK, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_LEAVE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_FORCED_EXPULSION_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_CHANGE_MASTER_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_DESTROY_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_SELECT_TARGET_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_MINIMAP_POINTING_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_ITEM_DISTRIBUTION_CHANGE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_RETURN_C2G_MEMBER_QUERY_ACK, PHASE_UNLIMITED); // ÆÄƼ¿øÀÇ °ÅºÎ °ü·Ã #ifdef _NA_20110630_BATTLE_ZONE_RENEWAL VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_CREATE_ROOM_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_CHECK_ROOM_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_BATTLE_ZONE_INFO_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_LEAVE_ROOM_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_ROOM_LIST_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_CHANGE_ROOM_OPTION_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_CHANGE_MAX_PLAYER_COUNT_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_JOIN_ROOM_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_STANDBY_ROOM_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_READY_STATE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_ROOM_FORCE_LEAVE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_ROOM_START_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_SELECT_TEAM_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_REQUEST_MEMBER_INFO_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_FIND_ROOM_BY_CHARID_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_STANDBY_PAUSE_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_REQUEST_RENDER_INFO_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_FIND_ROOM_BY_ROOMNUMBER_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_FIND_WAITING_ROOM_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_FIND_ROOM_BY_MISSION_NAME_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_INVITE_PARTY_ROOM_ANS, PHASE_UNLIMITED); #ifdef _NA_20111220_CHANGE_DISCONNECTED_USER_PROCESS VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_PARTY_RETURN_G2C_MEMBER_REMOVE_SYN, PHASE_UNLIMITED); #endif #ifdef _NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND VERIFY_CA_HANDLER_BINDING(CG_PARTY, CG_CHAOS_ZONE_PACKET, PHASE_UNLIMITED); #endif // _NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND #endif // CG_GM VERIFY_CA_HANDLER_BINDING(CG_GM, CG_GM_CHANNELINFO_SYN, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_GM, CG_GM_WARP_SYN, PHASE_UNLIMITED); // CG_ETC VERIFY_CA_HANDLER_BINDING(CG_ETC, CG_ETC_GET_BATTLE_OPEN_TIME_SYN, PHASE_UNLIMITED); // CG_EVENT VERIFY_CA_HANDLER_BINDING(CG_EVENT, CG_EVENT_INVITATEFRIEND_REWARD_LIST_SYN, PHASE_UNLIMITED); // CG_SHOP #ifdef _NA_0_20110613_GAME_SHOP_RENEWAL //.. #else #ifdef __NA000000_SHOP_USERID_50_PASSING_PROC__ VERIFY_CA_HANDLER_BINDING(CG_SHOP, CG_SHOP_SEND_GIFT_RELAY_SYN, PHASE_UNLIMITED); #else VERIFY_CA_HANDLER_BINDING(CG_SHOP, CG_SHOP_SEND_GIFT_SYN, PHASE_UNLIMITED); #endif #endif // Security VERIFY_CA_HANDLER_BINDING(CG_ARMORKIT, CG_ARMORKIT_FINDHACK, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_CRYPTOGRAPHY, CG_CRYPTOGRAPHY_ACK, PHASE_UNLIMITED); VERIFY_CA_HANDLER_BINDING(CG_CRYPTOGRAPHY, CG_CRYPTOGRAPHY_NAK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_SYNC, CG_SECURE_POLICY_PATTERN01_SIMPLEX_SNK_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_SYNC, CG_SECURE_POLICY_PATTERN02_SIMPLEX_SNK_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_ITEM, CG_SECURE_POLICY_PATTERN03_SIMPLEX_SNK_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_TRADE, CG_SECURE_POLICY_PATTERN04_SIMPLEX_SNK_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_VENDOR, CG_SECURE_POLICY_PATTERN05_QUERY_MOLA_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_WAREHOUSE, CG_SECURE_POLICY_PATTERN06_CONFIGURE_MOLA_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_PARTY, CG_SECURE_POLICY_PATTERN07_CONFIGURE_HEARTBEAT_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_STATUS, CG_SECURE_POLICY_PATTERN08_DUPLEX_SNK_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_CONNECTION, CG_SECURE_QUERY_BUILTIN_CHK_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_CONNECTION, CG_SECURE_QUERY_RESOURCE_CHK_T1_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_CHARINFO, CG_SECURE_QUERY_RESOURCE_CHK_T2_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_MAP, CG_SECURE_QUERY_RESOURCE_CHK_NTF1_SYN, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_BATTLE, CG_SECURE_QUERY_RESOURCE_CHK_T3_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_STYLE, CG_SECURE_QUERY_RESOURCE_CHK_T4_ACK, PHASE_UNLIMITED); VERIFY_MOLA_HANDLER_BINDING(CG_STYLE, CG_SECURE_QUERY_RESOURCE_CHK_NTF2_SYN, PHASE_UNLIMITED); #if USING_HACKSHIELD VERIFY_CA_HANDLER_BINDING(CG_ARMORKIT, CG_HACKSHIELD_SERVER_EX_QUERY_ACK, PHASE_UNLIMITED); #elif USING_XIGNCODE VERIFY_CA_HANDLER_BINDING(CG_ARMORKIT, CG_XIGNCODE_SERVER_QUERY_ACK, PHASE_UNLIMITED); #elif USING_FROST #endif } TEST(PacketBindingTest, ClientPacketForwarding) { ASSERT_TRUE(PacketHandler::GetHandler().REFERENCE() != NULL); VERIFY_CG_FORWARDING(CG_CONNECTION); VERIFY_CG_FORWARDING(CG_CHARINFO); VERIFY_CG_FORWARDING(CG_MAP); VERIFY_CG_FORWARDING(CG_SYNC); VERIFY_CG_FORWARDING(CG_BATTLE); VERIFY_CG_FORWARDING(CG_STYLE); VERIFY_CG_FORWARDING(CG_SKILL); VERIFY_CG_FORWARDING(CG_CONVERSATION); VERIFY_CG_FORWARDING(CG_ZONE); VERIFY_CG_FORWARDING(CG_ITEM); VERIFY_CG_FORWARDING(CG_TRADE); VERIFY_CG_FORWARDING(CG_PARTY); VERIFY_CG_FORWARDING(CG_TRIGGER); VERIFY_CG_FORWARDING(CG_GM); VERIFY_CG_FORWARDING(CG_ETC); VERIFY_CG_FORWARDING(CG_STATUS); VERIFY_CG_FORWARDING(CG_VENDOR); VERIFY_CG_FORWARDING(CG_WAREHOUSE); VERIFY_CG_FORWARDING(CG_PVP); VERIFY_CG_FORWARDING(CG_SUMMON); VERIFY_CG_FORWARDING(CG_GUILD); VERIFY_CG_FORWARDING(CG_EVENT); VERIFY_CG_FORWARDING(CG_QUEST); VERIFY_CG_FORWARDING(CG_CRYPTOGRAPHY); VERIFY_CG_FORWARDING(CG_ARMORKIT); VERIFY_CG_FORWARDING(CG_CHUNTING); VERIFY_CG_FORWARDING(CG_AREACONQUEST); VERIFY_CG_FORWARDING(CG_MISSION); VERIFY_CG_FORWARDING(CG_ZONE_EX); VERIFY_CG_FORWARDING(CG_WAYPOINT); VERIFY_CG_FORWARDING(CG_CHAO); VERIFY_CG_FORWARDING(CG_SHOP); VERIFY_CG_FORWARDING(CG_ZONE_EX); VERIFY_CG_FORWARDING(CG_COLLECT); } TEST(PacketBindingTest, GameServerPacketBinding) { ASSERT_TRUE(PacketHandler::GetHandler().REFERENCE() != NULL); VERIFY_AG_HANDLER_BINDING(AG_CHARINFO, AG_CHARINFO_CHAR_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_CONNECTION, AG_CONNECTION_UNREGISTER_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_CONNECTION, AG_CONNECTION_PACKET_BROADCASTER_ONEtoN_SYN, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_CONNECTION, AG_CONNECTION_DISCONNECT_SERVER_CMD, PHASE_UNLIMITED); #ifdef __NA001334_090420_SERVER_SELECT_FACILITY__ VERIFY_AG_HANDLER_BINDING(AG_CONNECTION, AG_CONNECTION_SERVER_SELECT_CONTROL_ACK, PHASE_UNLIMITED); #endif VERIFY_AG_HANDLER_BINDING(AG_EVENT, AG_EVENT_BUFF_EVENT_TIME_CONTROL_SYN, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_CHARINFO, AG_CHARINFO_FIELD_POS_FOR_RETURN_PARTY_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_EVENT, AG_EVENT_SYSTEMMEMO_SEND_CMD, PHASE_UNLIMITED); // AG_SYNC VERIFY_AG_HANDLER_BINDING(AG_SYNC, AG_SYNC_PLAYER_ENTER_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_SYNC, AG_SYNC_PLAYER_ENTER_NAK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_SYNC, AG_SYNC_PLAYER_WARP_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_SYNC, AG_SYNC_PLAYER_WARP_NAK, PHASE_UNLIMITED); // AG_ZONE VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_ROOM_JOIN_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_ROOM_JOIN_NAK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_ROOM_LEAVE_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_ROOM_LEAVE_NAK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_MISSION_LEAVE_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_CHUNTING_LEAVE_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_CHUNTING_COMPETITION_END_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_PORTAL_FIELD_MOVE_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_PORTAL_FIELD_MOVE_NAK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_RETURN_VILLAGE_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_RETURN_VILLAGE_NAK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_CAN_CREATE_INSTANCE_DUNGEON_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_CAN_CREATE_INSTANCE_DUNGEON_NAK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_RETURN_TO_ROOM_INFO_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_CAN_JOIN_100LEVEL_QUEST_MISSION_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_SSQ_JOIN_INFO_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_SSQ_JOIN_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_SSQ_ROOM_CTRL_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_SSQ_ROOM_INFO_BRD, PHASE_UNLIMITED); #ifdef _NA_20110630_BATTLE_ZONE_RENEWAL VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_CAN_CREATE_ROOM_OF_PARTY_ACK, PHASE_UNLIMITED); #endif // AG_PARTY VERIFY_AG_HANDLER_BINDING(AG_PARTY, AG_PARTY_JOIN_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_PARTY, AG_PARTY_JOIN_NAK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_PARTY, AG_PARTY_LEAVE_BY_GUILDRELATION_SYN, PHASE_UNLIMITED); #ifdef _NA_20110630_BATTLE_ZONE_RENEWAL VERIFY_AG_HANDLER_BINDING(AG_PARTY, AG_PARTY_CAN_CHANGE_OPTION_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_PARTY, AG_PARTY_CAN_CREATE_ROOM_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_PARTY, AG_PARTY_READY_STATE_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_PARTY, AG_PARTY_CAN_JOIN_ROOM_ACK, PHASE_UNLIMITED); #endif #ifdef _NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND VERIFY_AG_HANDLER_BINDING(AG_PARTY, AG_CHAOS_ZONE_PACKET, PHASE_UNLIMITED); #endif // _NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND //__NA001336_090514_PARTY_NAVI_SUPPORT__ VERIFY_AG_HANDLER_BINDING(AG_PARTY, AG_PARTY_NAVI_INFO_BRD, PHASE_UNLIMITED); //{__NA1279_1281_090209_TIMELINE_QUEST_BASED_MISSION__ VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_QUEST_PORTAL_REQUEST_SYN, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_QUEST_PORTAL_ENTER_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_QUEST_PORTAL_CONTROL_CMD, PHASE_UNLIMITED); //} //{__NA001281_BATTLEZONE_ENTER_CONSTRAINTS_CHANGE_IN_LOBBY__ VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_CAN_CREATE_ROOM_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_LOBBY_CREATE_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_LOBBY_JOIN_ACK, PHASE_UNLIMITED); //} //_NA_000038_20100316_VIEW_TO_JOINABLE_ROOM_IN_LOBBY VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_CHECK_MISSION_ROOM_LIST_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_DOMINATION_FIELD_INFO_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_DOMINATION_FIELD_INFO_NAK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ZONE, AG_ZONE_DOMINATION_REQ_KICK_CMD, PHASE_UNLIMITED); // AG_STATUS VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_LEVEL_UP_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_MAXHP_CHANGE_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_HP_CHANGE_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_DEAD_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_RESURRECTION_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_MP_CHANGE_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_MAXMP_CHANGE_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_CHANGE_STATE_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_PLAYING_TUTORIAL_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_INTERCEPTION_SYN, PHASE_UNLIMITED); //__NA001336_090514_PARTY_NAVI_SUPPORT__ VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_CHAR_STAT_CHANGE_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_GROUP_EXP_ACQUISITION_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_HEIM_ACQUISITION_NTF, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_HEIM_CONSUMPTION_NTF, PHASE_UNLIMITED); //__NA_001359_20090619_HEIM_LOTTO_SYSTEM = { VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_LOTTO_REWARD_ACK, PHASE_UNLIMITED); #ifdef _NA_0_20100115_HEIM_LOTTO_TICKET_PURCHASE VERIFY_AG_HANDLER_BINDING(AG_STATUS, AG_STATUS_LOTTO_TICKET_PURCHASE_ACK, PHASE_UNLIMITED); #endif // _NA_0_20100115_HEIM_LOTTO_TICKET_PURCHASE //} // AG_GM VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_WHISPER_SET_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_USERCHAT_BLOCK_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_CHAR_INFO_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_CHAR_INFO_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_ROOM_INFO_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_CHANNEL_INFO_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_CHANGE_ROOMTITLE_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_FORCE_DISCONNECT_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_SERVER_SHUTDOWN_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_GO_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_TRACKING_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_NOTICE_CMD, PHASE_UNLIMITED); //__NA_001359_20090619_HEIM_LOTTO_SYSTEM = { VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_LOTTO_NUM_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_LOTTO_SETTLE_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_LOTTO_FUND_CMD, PHASE_UNLIMITED); //} VERIFY_AG_HANDLER_BINDING(AG_GM, AG_GM_DOMINATION_INIT_CMD, PHASE_UNLIMITED); // AG_GUILD VERIFY_AG_HANDLER_BINDING(AG_GUILD, AG_GUILD_CREATE_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GUILD, AG_GUILD_DESTROY_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GUILD, AG_GUILD_JOIN_SUCCESS_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GUILD, AG_GUILD_WITHDRAW_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_GUILD, AG_GUILD_KICKPLAYER_ACK, PHASE_UNLIMITED); // AG_CHUNTING VERIFY_AG_HANDLER_BINDING(AG_CHUNTING, AG_CHUNTING_WIN_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_CHUNTING, AG_CHUNTING_START_COMPETITION_CMD, PHASE_UNLIMITED); // AG_MISSION VERIFY_AG_HANDLER_BINDING(AG_MISSION, AG_MISSION_STREAM_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_MISSION, AG_MISSION_CLEAR_CMD, PHASE_UNLIMITED); // AG_CHAO VERIFY_AG_HANDLER_BINDING(AG_CHAO, AG_CHAO_REQUEST_REVENGEINFO_SYN, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_CHAO, AG_CHAO_REMOVE_REVENGE_CHAR_SYN, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_CHAO, AG_CHAO_ADD_REVENGE_CHAR_SYN, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_CHAO, AG_CHAO_CHANGE_CHAO_STATE_CMD, PHASE_UNLIMITED); // AG_ITEM VERIFY_AG_HANDLER_BINDING(AG_ITEM, AG_ITEM_CHANGE_SPECIAL_ITEM_OWN_CMD, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ITEM, AG_ITEM_USE_DECREE_ITEM_ACK, PHASE_UNLIMITED); VERIFY_AG_HANDLER_BINDING(AG_ITEM, AG_ITEM_USE_DECREE_ITEM_NAK, PHASE_UNLIMITED); #ifdef _NA_20101011_HEIM_LOTTO_CASH_TICKET VERIFY_AG_HANDLER_BINDING(AG_ITEM, AG_ITEM_USE_HEIM_LOTTO_TICKET_SYN, PHASE_UNLIMITED); #endif } TEST(PacketBindingTest, GameDBProxyPacketBinding) { ASSERT_TRUE(PacketHandler::GetHandler().REFERENCE() != NULL); VERIFY_AD_HANDLER_BINDING(AD_CONNECTION, AD_CONNECTION_DBCONNECT_UPDATE_CMD, PHASE_UNLIMITED); VERIFY_AD_HANDLER_BINDING(AD_CHARINFO, AD_CHARINFO_CHARLISTREQ_ACK, PHASE_UNLIMITED); VERIFY_AD_HANDLER_BINDING(AD_CHARINFO, AD_CHARINFO_CHARLISTREQ_NAK, PHASE_UNLIMITED); VERIFY_AD_HANDLER_BINDING(AD_CHARINFO, AD_CHARINFO_CREATE_ACK, PHASE_UNLIMITED); VERIFY_AD_HANDLER_BINDING(AD_CHARINFO, AD_CHARINFO_CREATE_NAK, PHASE_UNLIMITED); VERIFY_AD_HANDLER_BINDING(AD_CHARINFO, AD_CHARINFO_DESTROY_ACK, PHASE_UNLIMITED); VERIFY_AD_HANDLER_BINDING(AD_CHARINFO, AD_CHARINFO_DESTROY_NAK, PHASE_UNLIMITED); VERIFY_AD_HANDLER_BINDING(AD_CHARINFO, AD_CHARINFO_RECOVER_ACK, PHASE_UNLIMITED); VERIFY_AD_HANDLER_BINDING(AD_CHARINFO, AD_CHARINFO_RECOVER_NAK, PHASE_UNLIMITED); #ifdef __NA_001044_ADD_CUSTOM_UI VERIFY_AD_HANDLER_BINDING(AD_CHARINFO, AD_CHARINFO_CHECK_CHARACTERID_ACK, PHASE_UNLIMITED); VERIFY_AD_HANDLER_BINDING(AD_CHARINFO, AD_CHARINFO_CHECK_CHARACTERID_NAK, PHASE_UNLIMITED); #endif #ifdef __NA000000_SHOP_USERID_50_PASSING_PROC__ VERIFY_AD_HANDLER_BINDING(SERVERCOMMON, SERVERCOMMON_QUERY_CHARINFO_ACK, PHASE_UNLIMITED); #endif //_KR_0_20091021_FIRENDINVITATION_EXTEND = { VERIFY_AD_HANDLER_BINDING(AD_EVENT, AD_EVENT_INVITATIONR_INSERT_CMD, PHASE_UNLIMITED); VERIFY_AD_HANDLER_BINDING(AD_EVENT, AD_EVENT_INVITATEFRIEND_REWARD_LIST_NAK, PHASE_UNLIMITED); VERIFY_AD_HANDLER_BINDING(AD_EVENT, AD_EVENT_INVITATEFRIEND_REWARD_LIST_ACK, PHASE_UNLIMITED); //} } TEST(PacketBindingTest, WorldServerPacketBinding) { ASSERT_TRUE(PacketHandler::GetHandler().REFERENCE() != NULL); VERIFY_AW_HANDLER_BINDING(AW_CONNECTION, AW_PREPARE_NEW_USER_ACK, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_CONNECTION, AW_PREPARE_NEW_USER_NAK, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_USER_STATUS, AW_USER_RESTORE_SYN, PHASE_UNLIMITED); //_KR_0_20091021_FIRENDINVITATION_EXTEND VERIFY_AW_HANDLER_BINDING(AW_FRIENDINVITATE, AW_FRIENDINVITATE_INVITATELIST_CMD, PHASE_UNLIMITED); // AW_CHAO VERIFY_AW_HANDLER_BINDING(AW_CHAO, AW_CHAO_REQUEST_REVENGEINFO_ACK, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_CHAO, AW_CHAO_REQUEST_REVENGEINFO_NAK, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_CHAO, AW_CHAO_REMOVE_REVENGE_CHAR_CMD, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_CHAO, AW_CHAO_REMOVE_REVENGE_CHAR_ACK, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_CHAO, AW_CHAO_REMOVE_REVENGE_CHAR_NAK, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_CHAO, AW_CHAO_ADD_REVENGE_CHAR_ACK, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_CHAO, AW_CHAO_ADD_REVENGE_CHAR_NAK, PHASE_UNLIMITED); // AW_ITEM VERIFY_AW_HANDLER_BINDING(AW_ITEM, AW_ITEM_CHANGE_SPECIAL_ITEM_SYN, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_ITEM, AW_ITEM_USE_DECREE_ITEM_SYN, PHASE_UNLIMITED); #ifdef _NA_20101011_HEIM_LOTTO_CASH_TICKET VERIFY_AW_HANDLER_BINDING(AW_ITEM, AW_ITEM_USE_HEIM_LOTTO_TICKET_ACK, PHASE_UNLIMITED); #endif VERIFY_AW_HANDLER_BINDING(AW_USER_STATUS, AW_USER_STATUS_INTERCEPTION_ACK, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_USER_STATUS, AW_USER_STATUS_INTERCEPTION_NAK, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_ITEM, AW_OPERATION_ROOM_CTRL_CMD, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_CONNECTION, AW_ABUSING_USER_VERIFY_QUERY_CMD, PHASE_UNLIMITED); //__KR_001355_20090608_GROUPINGSYSTEM_GW VERIFY_AW_HANDLER_BINDING(AW_USER_STATUS, AW_STATUS_GROUP_SET_MEMBERINFO_CMD, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_USER_STATUS, AW_STATUS_GROUP_ADDEXP_CMD, PHASE_UNLIMITED); VERIFY_AW_HANDLER_BINDING(AW_USER_STATUS, AW_STATUS_GROUP_ADDMONEY_CMD, PHASE_UNLIMITED); //__NA_001359_20090619_HEIM_LOTTO_SYSTEM = { VERIFY_AW_HANDLER_BINDING(AW_USER_STATUS, AW_USER_LOTTO_REWARD_SYN, PHASE_UNLIMITED); #ifdef _NA_0_20100115_HEIM_LOTTO_TICKET_PURCHASE VERIFY_AW_HANDLER_BINDING(AW_USER_STATUS, AW_USER_LOTTO_TICKET_PURCHASE_SYN, PHASE_UNLIMITED); #endif // _NA_0_20100115_HEIM_LOTTO_TICKET_PURCHASE //} VERIFY_AW_HANDLER_BINDING(AW_USER_STATUS, AW_USER_DOMINATION_RETURNHIEM_CMD, PHASE_UNLIMITED); #ifdef _NA_000068_20100419_PARTY_FINDING_SYSTEM VERIFY_AW_HANDLER_BINDING(AW_PARTY, AW_PARTY_FINDING_JOIN_SYN, PHASE_UNLIMITED); #endif // _NA_000068_20100419_PARTY_FINDING_SYSTEM } TEST(PacketBindingTest, MasterServerPacketBinding) { ASSERT_TRUE(PacketHandler::GetHandler().REFERENCE() != NULL); VERIFY_AM_HANDLER_BINDING(AM_OPERATION, AM_OPERATION_CHAR_DISCONNECT_SYN, PHASE_UNLIMITED); VERIFY_AM_HANDLER_BINDING(AM_OPERATION, AM_OPERATION_CHAR_DISCONNECT_ACK, PHASE_UNLIMITED); VERIFY_AM_HANDLER_BINDING(AM_OPERATION, AM_OPERATION_LOGIC_VIOLATION_DISCONNECT_CMD, PHASE_UNLIMITED); VERIFY_AM_HANDLER_BINDING(AM_CONNECTION, AM_CONNECTION_SERVER_INFO_CMD, PHASE_UNLIMITED); VERIFY_AM_HANDLER_BINDING(SERVERCOMMON, SERVERCOMMON_SERVERSHUTDOWN_REQ, PHASE_UNLIMITED); #ifdef __WAVERIX_SOLAR_AUTH_SERVER_IMPLEMENTATION__ // VERIFY_AM_HANDLER_BINDING(AM_CONNECTION, AM_CONNECTION_PHASE_SHIFT_CMD, PHASE_UNLIMITED); VERIFY_AM_HANDLER_BINDING(SERVERCOMMON, SERVERCOMMON_DATA_TRANSFER_PLZ_GIVEME_DATA_ACK, PHASE_UNLIMITED); VERIFY_AM_HANDLER_BINDING(SERVERCOMMON, SERVERCOMMON_DATA_TRANSFER_PLZ_GIVEME_DATA_NAK, PHASE_UNLIMITED); VERIFY_AM_HANDLER_BINDING(SERVERCOMMON, SERVERCOMMON_DATA_TRANSFER_SENDDATA_CMD, PHASE_UNLIMITED); #endif } TEST(PacketBindingTest, AuthAgentServerPacketBinding) { ASSERT_TRUE(PacketHandler::GetHandler().REFERENCE() != NULL); VERIFY_AU_HANDLER_BINDING(CATEGORY_AUTH, AG_AUTH_NEWCLIENT_TO_GAMEAGENT_SYN, PHASE_UNLIMITED); VERIFY_AU_HANDLER_BINDING(CATEGORY_AUTH, AG_AUTH_ASK_PC_LOGOUT_SYN, PHASE_UNLIMITED); VERIFY_AU_HANDLER_BINDING(CATEGORY_AUTH, AG_AUTH_BILLING_ALARM_SYN, PHASE_UNLIMITED); // ºô¸µ ¸¸·á ¾Ë¸² #ifdef __NA001334_090420_SERVER_SELECT_FACILITY__ VERIFY_AU_HANDLER_BINDING(CATEGORY_AUTH, AU_AUTH_SERVER_SELECT_ACK, PHASE_UNLIMITED); #endif #ifdef __NA000000_SHOP_USERID_50_PASSING_PROC__ VERIFY_AU_HANDLER_BINDING(CATEGORY_AUTH, AU_AUTH_COMMON_QUERY_USER_ID_ACK, PHASE_UNLIMITED); #endif #ifdef _PCBANG_POLICY_CHANGE_POST_EXPIRED VERIFY_AU_HANDLER_BINDING(CATEGORY_AUTH, AU_AUTH_BILLING_CHANGE_CONTROL_SYN, PHASE_UNLIMITED); #endif }