完善客户端协议

This commit is contained in:
flswld
2023-01-19 19:29:52 +08:00
parent a00bee14d0
commit 2983c16272
3254 changed files with 57101 additions and 93258 deletions

View File

@@ -0,0 +1,48 @@
syntax = "proto3";
package proto_log;
enum AntiCheatActionType {
ANTI_CHEAT_ACTION_NONE = 0;
ANTI_CHEAT_ACTION_AI_HASH = 1;
ANTI_CHEAT_ACTION_MTP = 2;
ANTI_CHEAT_ACTION_CHECKSUM_INVALID = 3;
ANTI_CHEAT_SKILL_CD_WRONG = 4;
ANTI_CHEAT_ACTION_MOVE_SPEED_OVER_LIMIT = 5;
ANTI_CHEAT_ACTION_ANTI_OFFLINE_RESULT = 6;
ANTI_CHEAT_ACTION_ELITE_MONSTER_ABNORMAL_DIE = 7;
ANTI_CHEAT_ACTION_ABILITY_HASH = 8;
ANTI_CHEAT_ACTION_EQUIP_AFFIX_CD_WRONG = 9;
ANTI_CHEAT_ACTION_REPORT = 10;
ANTI_CHEAT_ACTION_SEGMENT_CRC_CHECK_FAIL = 11;
ANTI_CHEAT_ACTION_MONSTER_DIE = 12;
ANTI_CHEAT_ACTION_USE_NOT_ALLOWED_SKILL = 13;
ANTI_CHEAT_ACTION_CLIENT_SPEED_UP_TIME = 14;
ANTI_CHEAT_ACTION_COMBAT_HASH = 15;
ANTI_CHEAT_ACTION_GADGET_INTERACT_BEYOND_DISTANCE = 16;
ANTI_CHEAT_ACTION_SAFE_FLOAT_EXCEPTION = 17;
ANTI_CHEAT_ACTION_ENVIRONMENT_ERROR = 18;
ANTI_CHEAT_ACTION_SCENE_TIME_MOVE_SPEED_OVER_LIMIT = 20;
ANTI_CHEAT_ACTION_DAMAGE_OVER_LIMIT = 21;
ANTI_CHEAT_ACTION_CLIENT_REPORT_MOVE_SPEED_OVER_LIMIT = 22;
ANTI_CHEAT_ACTION_AVATAR_EXCEL_HASH = 23;
ANTI_CHEAT_ACTION_CLIENT_LOADING_COSTUME_VERIFICATION = 24;
ANTI_CHEAT_ACTION_QIANDAOGUA_CHECK_FAIL = 25;
ANTI_CHEAT_ACTION_MOUSE_MACRO_CLIENT_REPORT = 26;
ANTI_CHEAT_ACTION_CLIENT_TICK_TIME_CHECK_FAIL = 27;
ANTI_CHEAT_ACTION_CLIENT_SGV_CHECK_FAIL = 28;
ANTI_CHEAT_ACTION_STAMINA_CHECK_FAIL = 29;
ANTI_CHEAT_ACTION_CLIENT_FIGHT_REPORT = 30;
ANTI_CHEAT_ACTION_CLIENT_PROTO_ERROR = 31;
ANTI_CHEAT_ACTION_UNION_EXCEED_FREQ = 32;
ANTI_CHEAT_ACTION_RELIQUARY_UPGRADE_ERROR = 33;
ANTI_CHEAT_ACTION_PACKET_COST_TIME_EXCEED_LIMIT = 34;
ANTI_CHEAT_ACTION_RECV_PACKET_FREQ_EXCEED_LIMIT = 35;
ANTI_CHEAT_ACTION_SINGLE_PACKET_FREQ_EXCEED_LIMIT = 36;
ANTI_CHEAT_ACTION_GADGET_INTERACT_BEYOND_CHECK_DISTANCE = 37;
ANTI_CHEAT_ACTION_LUA_SHELL_CLIENT_NOTIFY_TIMEOUT = 38;
ANTI_CHEAT_ACTION_PACKET_COST_TIME_PERCENT_EXCEED_LIMIT = 39;
ANTI_CHEAT_ACTION_SECURITY_LIBRARY_MD5_ERROR = 40;
ANTI_CHEAT_ACTION_AVATAR_ATTACK_AVATAR_DAMAGE = 41;
ANTI_CHEAT_ACTION_FORBID_LOGIN = 42;
}

View File

@@ -0,0 +1,462 @@
syntax = "proto3";
package proto_log;
import "server_only/log/player/player_body_custom.proto";
enum AntiOfflineResultType {
ANTI_OFFLINE_RESULT_NONE = 0;
ANTI_OFFLINE_RESULT_SUCC = 1;
ANTI_OFFLINE_RESULT_EMPTY = 2;
ANTI_OFFLINE_RESULT_DECRYPT_FAIL = 3;
ANTI_OFFLINE_RESULT_VERIFY_FAIL = 4;
}
enum ForbidLoginReason {
FORBID_LOGIN_NONE = 0;
FORBID_LOGIN_CHECKSUM = 1;
FORBID_LOGIN_ANTI_OFFLINE = 2;
FORBID_LOGIN_ENVIRONMENT_ERROR_CODE = 3;
FORBID_LOGIN_SECURITY_LIBRARY = 4;
}
message SecurityChannelLog {
uint32 uid = 1;
int32 ret = 2;
uint64 expect_salt = 3;
uint64 actual_salt = 4;
string trans_no = 5;
string report = 6;
}
message AntiCheatBodyAIHash {
uint32 monster_id = 1;
int32 client_hash_value = 2;
int32 server_hash_value = 3;
}
message AntiCheatBodyMTP {
string report_type = 1;
uint32 report_value = 2;
}
message AntiCheatBodyChecksumInvalid {
string system_version = 1;
string device_uuid = 2;
string cloud_client_ip = 3;
string platform = 4;
uint32 account_type = 5;
string client_version = 6;
string device_name = 7;
string checksum = 8;
uint32 channel_id = 9;
uint32 sub_channel_id = 10;
}
message AntiCheatBodySkillCdWrong {
uint32 avatar_id = 1;
uint32 skill_id = 2;
float skill_cd = 3;
float skill_pass_time = 4;
uint32 max_charge_count = 5;
uint32 cd_list_len = 6;
string ability_name = 7;
string modifier_name = 8;
EntityLog source_entity = 9;
EntityLog target_entity = 10;
uint32 from_player_uid = 11;
}
message AntiCheatBodyMoveSpeedOverLimit {
enum MoveType {
MOVE_NORMAL = 0;
MOVE_DASH = 1;
MOVE_SWIM = 2;
MOVE_FLY = 3;
MOVE_POWER_FLY = 4;
MOVE_SKIFF_DASH = 5;
MOVE_SKIFF_POWER_DASH = 6;
}
uint32 avatar_id = 1;
uint32 move_type = 2;
float move_speed = 3;
float move_speed_limit = 4;
float pre_x = 5;
float pre_y = 6;
float pre_z = 7;
float cur_x = 8;
float cur_y = 9;
float cur_z = 10;
uint32 is_only_record_move_count = 11;
uint32 last_refresh_force_move_time = 12;
uint32 force_drag_move_count = 13;
uint32 total_move_count = 14;
uint32 is_kicked_out = 15;
uint32 is_draged_back = 16;
uint32 motion_state = 17;
uint32 record_time = 18;
uint32 record_count = 19;
}
message AntiCheatBodySceneTimeMoveSpeedOverLimit {
uint32 avatar_id = 1;
float move_speed = 2;
float move_speed_limit = 3;
float pre_x = 4;
float pre_y = 5;
float pre_z = 6;
float cur_x = 7;
float cur_y = 8;
float cur_z = 9;
uint32 is_kicked_out = 10;
uint32 is_draged_back = 11;
uint32 motion_state = 12;
uint32 record_scene_time = 13;
uint32 record_time = 14;
uint32 record_count = 15;
}
message AntiCheatBodyAntiOfflineResult {
uint32 result_type = 1;
int32 check_result = 2;
int32 verify_result = 3;
uint32 old_security_level = 4;
uint32 cur_security_level = 5;
uint32 succ_num = 6;
uint32 empty_num = 7;
uint32 decrypt_fail_num = 8;
uint32 verify_fail_num = 9;
uint32 cur_succ_num = 10;
uint32 cur_fail_num = 11;
uint32 account_type = 12;
string account_uid = 13;
uint32 platform_type = 14;
string client_version = 15;
string system_version = 16;
string device_name = 17;
string device_uuid = 18;
uint32 is_editor = 19;
uint32 language_type = 20;
string platform = 21;
string device_info = 22;
uint32 is_guest = 23;
uint32 cloud_client_ip = 24;
string online_id = 25;
string player_login_req_str = 26;
string get_player_token_rsp_str = 27;
uint32 is_in_whitelist = 28;
string psn_id = 29;
}
message AntiCheatBodyEliteMonsterAbnormalDie {
uint32 scene_id = 1;
EntityLog monster_log = 2;
uint32 reason = 3;
string combat_transaction = 4;
}
message AntiCheatBodyAbilityHash {
uint32 entity_type = 1;
uint32 id = 2;
uint32 group_id = 3;
uint32 config_id = 4;
int32 client_hash_value = 5;
int32 server_hash_value = 6;
repeated string ability_name_list = 7;
int32 prev_server_hash_value = 8;
uint32 entity_id = 9;
uint32 job_id = 10;
}
message AntiCheatBodyEquipAffixCdWrong {
uint32 avatar_id = 1;
uint32 affix_id = 2;
uint32 affix_cd = 3;
uint32 affix_pass_time = 4;
}
message AntiCheatBodyPlayerReport {
uint32 target_uid = 1;
uint32 report_type = 2;
string report_reason = 3;
uint32 reporter_language = 4;
uint32 target_home_module_id = 5;
string target_home_module_name = 6;
}
message AntiCheatBodySegmentCrcCheckFail {
uint32 crc_module_type = 1;
uint32 offset = 2;
uint32 size = 3;
string crc = 4;
string client_version = 6;
uint32 channel_id = 7;
uint32 sub_channel_id = 8;
}
message AntiCheatBodyMonsterDie {
uint32 scene_id = 1;
EntityLog monster_log = 2;
uint32 reason = 3;
repeated uint32 forbid_die_types = 4;
string combat_transaction = 5;
}
message AntiCheatBodyUseNotAllowedSkill {
uint32 avatar_id = 1;
uint32 skill_id = 2;
uint32 last_used_skill_id = 3;
string ability_name = 4;
string modifier_name = 5;
EntityLog source_entity = 6;
EntityLog target_entity = 7;
uint32 from_player_uid = 8;
}
message AntiCheatBodyClientSpeedUpTime {
uint64 last_sent_ms = 1;
float last_unity_engine_time = 2;
uint64 sent_ms = 3;
float unity_engine_time = 4;
float timescale = 5;
float timescale_limit = 6;
}
message AntiCheatBodyCombatHash {
EntityLog entity_log = 1;
int32 client_hash_value = 2;
int32 server_hash_value = 3;
}
message AntiCheatBodyGadgetInteractBeyondDistance {
EntityLog gadget_entity = 1;
uint32 avatar_id = 2;
PositionLog avatar_position = 3;
uint32 gadget_entity_id = 4;
uint32 op_type = 5;
uint32 resin_cost_type = 6;
float distance = 7;
float check_distance = 8;
uint32 record_time = 9;
uint32 record_count = 10;
}
message AntiCheatBodySafeFloatException {
string report_type = 1;
string report_value = 2;
}
message AntiCheatBodyEnvironmentError {
string code_str = 1;
bool is_kick = 2;
string player_login_req_str = 3;
}
message AntiCheatBodyDamageOverLimit {
AttackEntityLog attack_entity = 1;
AttackEntityLog defense_entity = 2;
string attack_tag = 3;
string ability_name = 4;
string modifier_name = 5;
float damage_percentage = 6;
float damage_percentage_ratio = 7;
float damage_extra = 8;
float damage = 9;
float critical_hurt = 10;
float amplify_ratio = 11;
}
message BriefMotionLog {
uint32 brief_motion_state = 1;
uint32 brief_speed = 2;
}
message AntiCheatBodyClientReportMoveSpeedOverLimit {
repeated BriefMotionLog brief_motion_list = 1;
PositionLog pos = 2;
uint32 motion_state = 3;
repeated uint32 brief_motion_state_list = 4;
repeated uint32 brief_speed_list = 5;
uint32 brief_motion_state = 6;
uint32 brief_speed = 7;
uint32 brief_acc = 8;
}
message AntiCheatBodyAvatarExcelHash {
uint32 avatar_id = 1;
string hash_str = 2;
int32 server_hash = 3;
int32 client_hash = 4;
}
message AntiCheatBodyClientLoadingCostumeVerification {
uint32 uid = 1;
uint64 guid = 2;
uint32 avatar_type = 3;
uint32 avatar_id = 4;
uint32 costume_id = 5;
uint32 cur_costume_id = 6;
bool is_has_costume = 7;
uint64 prefab_hash = 8;
uint64 server_hash = 9;
}
message AntiCheatBodyQiandaoguaCheckFail {
uint32 attack_count = 1;
uint32 frame_num = 2;
uint32 attack_id = 3;
EntityLog source_entity = 4;
EntityLog target_entity = 5;
uint32 gadget_damage_action_idx = 7;
string anim_event_id = 8;
string ability_name = 9;
string modifier_name = 10;
int32 local_id = 11;
string attack_tag = 12;
EntityLog ability_owner = 13;
}
message AntiCheatBodyMouseMacroClientReport {
uint32 param = 1;
}
message AntiCheatBodyClientTickTimeCheckFail {
uint64 pivot_client_time = 1;
uint64 pivot_unix_time = 2;
uint64 client_total_tick_time = 3;
uint64 unix_time = 4;
uint64 total_tick_max_delay_time = 5;
int64 delta_server_time = 6;
int64 delta_client_time = 7;
}
message AntiCheatBodyClientSgvCheckFail {
EntityLog entity_log = 1;
uint32 entity_id = 2;
string sgv = 3;
uint32 last_enable_time = 4;
uint32 timeout_seconds = 5;
}
message AntiCheatBodyStaminaCheckFail {
EntityLog entity_log = 1;
int32 stamina = 2;
uint32 change_type = 3;
uint32 motion_state = 4;
uint32 skill_id = 5;
string ability_name = 6;
string modifier_name = 7;
int32 local_id = 8;
uint32 prop_change_reason = 9;
}
message AntiCheatBodyClientFightReport {
uint32 cheat_type = 1;
uint32 cheat_count = 2;
}
message AntiCheatBodyClientProtoError {
uint32 proto_error_type = 1;
}
message AntiCheatBodyUnionExceedFreq {
uint32 union_notify_freq = 1;
uint32 combat_notify_freq = 2;
uint32 sub_total_union_freq = 3;
uint32 cheat_count = 4;
bool is_kick = 5;
}
message AntiCheatBodyReliquaryUpgradeError {
uint64 guid = 1;
uint32 item_id = 2;
uint32 level = 3;
}
message AntiCheatBodyPacketCostTimeExceedLimit {
uint32 cmd_id = 1;
string cmd_name = 2;
int32 retcode = 3;
uint32 packet_cost_time_us = 4;
uint32 cost_time_limit_us = 5;
}
message PacketCountInfoLog {
uint32 cmd_id = 1;
string cmd_name = 2;
uint32 cmd_count = 3;
}
message AntiCheatBodyRecvPacketFreqExceedLimit {
uint32 packet_count = 1;
uint32 time_interval_ms = 2;
repeated PacketCountInfoLog packet_list = 3;
uint32 packet_recv_max_count = 4;
uint32 packet_recv_check_interval_ms = 5;
}
message AntiCheatBodySinglePacketFreqExceedLimit {
uint32 cmd_id = 1;
string cmd_name = 2;
uint32 packet_count = 3;
uint32 time_interval_ms = 4;
float config_freq_limit = 5;
}
message AntiCheatBodyGadgetInteractBeyondCheckDistance {
float min_distance = 1;
float max_distance = 2;
float check_distance = 3;
uint32 record_time = 4;
uint32 record_count = 5;
}
message AntiCheatBodyLuaShellClientNotifyTimeout {
uint32 use_type = 1;
uint32 lua_shell_id = 2;
bool is_kick = 3;
string check_json_key = 4;
}
message AntiCheatBodyPacketCostTimePercentExceedLimit {
uint64 check_interval_ms = 1;
uint64 config_check_interval_ms = 2;
uint64 config_cost_time_percent = 3;
uint64 accumulate_packet_cost_time_ms = 4;
uint32 config_is_enable_kick = 5;
uint32 config_kick_time_percent = 6;
bool is_kick = 7;
uint32 trigger_kick_count = 8;
}
message AntiCheatBodySecurityLibraryMd5Error {
enum CheckResultType {
RESULT_NONE = 0;
RESULT_INVALID_VERSION = 1;
RESULT_VERSION_DISABLED = 2;
RESULT_INVALID_MD5 = 3;
}
int32 check_result = 1;
bool is_kick = 2;
string report_version_str = 3;
string report_md5_str = 4;
}
message AntiCheatBodyAvatarAttackAvatarDamage {
AttackEntityLog attack_entity = 1;
AttackEntityLog defense_entity = 2;
string attack_tag = 3;
string ability_name = 4;
string modifier_name = 5;
uint32 target_type = 6;
string anim_event_id = 7;
float client_damage = 8;
float ori_server_damage = 9;
float final_server_damage = 10;
}
message AntiCheatBodyForbidLogin {
uint32 reason = 1;
}

View File

@@ -0,0 +1,18 @@
syntax = "proto3";
package proto_log;
message AntiCheatLogHead {
string time = 1;
uint32 action_id = 2;
string region_name = 3;
string game_version = 4;
uint32 uid = 5;
uint32 level = 6;
uint64 vip_point = 7;
uint32 vip_level = 8;
bool is_in_mp = 9;
repeated uint32 mp_teammate_list = 10;
uint32 scene_id = 11;
uint32 tag = 12;
}