0.2: Json schema extractor finished.
This commit is contained in:
4
database/L1A/README.md
Normal file
4
database/L1A/README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
L1A 5eplay平台网页爬虫原始数据。
|
||||||
|
ETL Step 1:
|
||||||
|
从原始json数据库提取到L1A级数据库中。
|
||||||
|
output_arena/*/iframe_network.json -> database/L1A/L1A.sqlite
|
||||||
4
database/L1B/README.md
Normal file
4
database/L1B/README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
L1B demo原始数据。
|
||||||
|
ETL Step 2:
|
||||||
|
从demoparser2提取demo原始数据到L1B级数据库中。
|
||||||
|
output_arena/*/iframe_network.json -> database/L1B/L1B.sqlite
|
||||||
564
output_reports/schema_flat.csv
Normal file
564
output_reports/schema_flat.csv
Normal file
@@ -0,0 +1,564 @@
|
|||||||
|
Category,Path,Types,Examples
|
||||||
|
ats/api/v1/activityInterface/fallActivityInfo,code,int,401
|
||||||
|
ats/api/v1/activityInterface/fallActivityInfo,message,string,User auth failed
|
||||||
|
ats/api/v1/activityInterface/fallActivityInfo,data,null,None
|
||||||
|
ats/api/v1/activityInterface/fallActivityInfo,timeStamp,int,1768931732; 1768931718; 1768931709
|
||||||
|
ats/api/v1/activityInterface/fallActivityInfo,status,bool,False
|
||||||
|
ats/api/v1/activityInterface/fallActivityInfo,traceId,string,c3d47b6d9a6bf7099b45af1b3f516370; 96e6a86453435f463f2ff8e0b0d7611b; 2e40738b400d90ea6ece7be0abe2de3c
|
||||||
|
ats/api/v1/activityInterface/fallActivityInfo,success,bool,False
|
||||||
|
ats/api/v1/activityInterface/fallActivityInfo,errcode,int,401
|
||||||
|
crane/http/api/data/match/{match_id},data.has_side_data_and_rating2,bool,True
|
||||||
|
crane/http/api/data/match/{match_id},data.main.demo_url,string,; https://hz-demo.5eplaycdn.com/pug/20260118/g161-20260118202243599083093_de_dust2.zip; https://hz-demo.5eplaycdn.com/pug/20260118/g161-20260118215640650728700_de_nuke.zip
|
||||||
|
crane/http/api/data/match/{match_id},data.main.end_time,int,1739528619; 1739526455; 1739625426
|
||||||
|
crane/http/api/data/match/{match_id},data.main.game_mode,int,6; 24; 103
|
||||||
|
crane/http/api/data/match/{match_id},data.main.game_name,string,; nspug_c; npug_c
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group1_all_score,int,10; 9; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group1_change_elo,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group1_fh_role,int,1
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group1_fh_score,int,6; 2; 7
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group1_origin_elo,"float, int",1628.1; 1616.55; 1573.79
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group1_sh_role,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group1_sh_score,int,6; 5; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group1_tid,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group1_uids,string,"14869472,14888575,1326932,14869396,14889445; 14869472,14889445,14869396,18337753,1326932; 18337753,14869472,14869396,13889539,1326932"
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group2_all_score,int,6; 5; 11
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group2_change_elo,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group2_fh_role,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group2_fh_score,int,6; 10; 7
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group2_origin_elo,"float, int",1617.02; 1594.69; 1610.97
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group2_sh_role,int,1
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group2_sh_score,int,6; 5; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group2_tid,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.main.group2_uids,string,"7866482,7976557,13918176,7998628,18857497; 12501578,20691317,17181895,19535157,13074509; 14889445,14869472,14888575,1326932,14869396"
|
||||||
|
crane/http/api/data/match/{match_id},data.main.id,int,232025624; 232016531; 232248045
|
||||||
|
crane/http/api/data/match/{match_id},data.main.knife_winner,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.main.knife_winner_role,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.main.location,string,hz; sz; cd
|
||||||
|
crane/http/api/data/match/{match_id},data.main.location_full,string,sh_pug-low; sz_pug-high; bj_pug-low_volc
|
||||||
|
crane/http/api/data/match/{match_id},data.main.map,string,de_nuke; de_ancient; de_dust2
|
||||||
|
crane/http/api/data/match/{match_id},data.main.map_desc,string,阿努比斯; 远古遗迹; 炙热沙城2
|
||||||
|
crane/http/api/data/match/{match_id},data.main.match_code,string,g161-20250215211846894242128; g161-20250214164955786323546; g161-20250214172202090993964
|
||||||
|
crane/http/api/data/match/{match_id},data.main.match_mode,int,9
|
||||||
|
crane/http/api/data/match/{match_id},data.main.match_winner,int,1; 2
|
||||||
|
crane/http/api/data/match/{match_id},data.main.most_1v2_uid,"<5eid>, int",14869396; 18337753; 16009709
|
||||||
|
crane/http/api/data/match/{match_id},data.main.most_assist_uid,"<5eid>, int",14869396; 13918176; 15820822
|
||||||
|
crane/http/api/data/match/{match_id},data.main.most_awp_uid,"<5eid>, int",12501578; 21610332; 18337753
|
||||||
|
crane/http/api/data/match/{match_id},data.main.most_end_uid,"<5eid>, int",12501578; 14889445; 14565365
|
||||||
|
crane/http/api/data/match/{match_id},data.main.most_first_kill_uid,"<5eid>, int",18337753; 19535157; 14888575
|
||||||
|
crane/http/api/data/match/{match_id},data.main.most_headshot_uid,"<5eid>, int",17181895; 1326932; 16009709
|
||||||
|
crane/http/api/data/match/{match_id},data.main.most_jump_uid,"<5eid>, int",12501578; 17746844; 17783270
|
||||||
|
crane/http/api/data/match/{match_id},data.main.mvp_uid,"<5eid>, int",19535157; 14888575; 14869472
|
||||||
|
crane/http/api/data/match/{match_id},data.main.round_total,int,24; 22; 17
|
||||||
|
crane/http/api/data/match/{match_id},data.main.season,string,2025s2; 2025s3; 2025s4
|
||||||
|
crane/http/api/data/match/{match_id},data.main.server_ip,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.main.server_port,string,27015
|
||||||
|
crane/http/api/data/match/{match_id},data.main.start_time,int,1739523090; 1739625610; 1739623308
|
||||||
|
crane/http/api/data/match/{match_id},data.main.status,int,1
|
||||||
|
crane/http/api/data/match/{match_id},data.main.waiver,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.main.year,int,2026; 2025
|
||||||
|
crane/http/api/data/match/{match_id},data.main.cs_type,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.main.priority_show_type,int,3; 1; 2
|
||||||
|
crane/http/api/data/match/{match_id},data.main.pug10m_show_type,int,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.main.credit_match_status,int,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.adr,string,106.58; 100.22; 62.39
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.assist,string,2; 4; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.awp_kill,string,2; 5; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.benefit_kill,string,6; 5; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.day,string,20250218; 20250217; 20250214
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.death,string,5; 16; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.defused_bomb,string,2; 4; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.end_1v1,string,2; 4; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.end_1v2,string,2; 1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.end_1v3,string,2; 1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.end_1v4,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.end_1v5,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.explode_bomb,string,2; 5; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.first_death,string,5; 4; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.first_kill,string,2; 7; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.flash_enemy,string,43; 7; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.flash_enemy_time,string,7; 4; 15
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.flash_team,string,5; 4; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.flash_team_time,string,21; 16; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.flash_time,string,6; 21; 7
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.game_mode,string,6; 24; 103
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.group_id,string,1; 2
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.headshot,string,2; 4; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.hold_total,string,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.id,string,1937230471; 168065372; 168065362
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.is_highlight,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.is_most_1v2,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.is_most_assist,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.is_most_awp,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.is_most_end,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.is_most_first_kill,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.is_most_headshot,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.is_most_jump,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.is_mvp,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.is_svp,string,; 1
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.is_tie,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.is_win,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.jump_total,string,64; 33; 17
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.kast,string,0.82; 0.7; 0.74
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.kill,string,14; 21; 7
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.kill_1,string,5; 4; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.kill_2,string,2; 5; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.kill_3,string,2; 5; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.kill_4,string,3; 2; 1
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.kill_5,string,2; 1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.map,string,de_nuke; de_ancient; de_dust2
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.match_code,string,g161-20250215211846894242128; g161-20250214164955786323546; g161-20250214172202090993964
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.match_mode,string,9
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.match_team_id,string,2; 4; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.match_time,string,1739625526; 1739623222; 1739522995
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.per_headshot,string,0.44; 0.29; 0.21
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.planted_bomb,string,2; 5; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.rating,string,0.89; 0.87; 1.21
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.many_assists_cnt1,string,6; 4; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.many_assists_cnt2,string,2; 4; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.many_assists_cnt3,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.many_assists_cnt4,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.many_assists_cnt5,string,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.perfect_kill,string,10; 17; 7
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.assisted_kill,string,5; 4; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.rating2,string,1.24; 1.63; 0.87
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.rating3,string,2.15; -0.53; 0.00
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.revenge_kill,string,2; 7; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.round_total,string,17; 5; 23
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.rws,string,8.41; 8.86; 6.02
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.season,string,2025s2; 2025s3; 2025s4
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.team_kill,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.throw_harm,string,120; 119; 70
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.throw_harm_enemy,string,10; 147; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.uid,"<5eid>, string",14026928; 15478597; 21610332
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].fight_any.year,string,2026; 2025
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.data_tips_detail,int,-7; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.challenge_status,int,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.map_reward_status,int,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.change_rank,int,-423964; -51338; -9561
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.origin_level_id,int,103; 108; 105
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.rank_change_type,int,5; 1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.star_num,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.origin_star_num,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.change_elo,string,-22.97; -36.73; -20.39
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.id,string,1930709265; 1930709271; 1930709266
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.level_id,string,103; 108; 104
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.match_code,string,g161-20250215211846894242128; g161-20250214164955786323546; g161-20250214172202090993964
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.match_flag,string,32; 2; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.match_mode,string,9
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.match_status,string,3; 2; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.origin_elo,string,1214.69; 1490.09; 1777.88
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.origin_match_total,string,269; 145; 63
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.placement,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.punishment,string,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.rank,string,3251068; 1410250; 2717215
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.origin_rank,string,2293251; 3241507; 1358912
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.season,string,2025s2; 2025s3; 2025s4
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.special_data,string,"; {""match_data"":[{""is_win"":-1,""match_id"":""g161-20250214164503716847890"",""match_status"":0,""change_elo"":-100.14724769911413},{""is_win"":1,""match_id"":""g161-20250214172202090993964"",""match_status"":0,""change_elo"":160.71161885810778},{""is_win"":0,""match_id"":"""",""match_status"":0,""change_elo"":0},{""is_win"":0,""match_id"":"""",""match_status"":0,""change_elo"":0},{""is_win"":0,""match_id"":"""",""match_status"":0,""change_elo"":0}]}; {""match_data"":[{""is_win"":-1,""match_id"":""g161-20250214164503716847890"",""match_status"":0,""change_elo"":-56.99773123078694},{""is_win"":1,""match_id"":""g161-20250214172202090993964"",""match_status"":0,""change_elo"":120.48283784034022},{""is_win"":0,""match_id"":"""",""match_status"":0,""change_elo"":0},{""is_win"":0,""match_id"":"""",""match_status"":0,""change_elo"":0},{""is_win"":0,""match_id"":"""",""match_status"":0,""change_elo"":0}]}"
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].sts.uid,"<5eid>, string",14026928; 15478597; 21610332
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.level_id,int,103; 108; 104
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.level_name,string,C; E-; B-
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.level_type,int,2; 1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.star_num,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.origin_star_num,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.dragon_flag,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.deduct_data.all_deduct_elo,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.deduct_data.deduct_remain_elo,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.deduct_data.deduct_elo,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.special_data[].is_win,int,1; 0; -1
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.special_data[].match_id,string,; g161-n-20250103203331443454143; g161-20250214164503716847890
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.special_data[].match_status,int,2; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.special_data[].change_elo,"float, int",-100.14724769911413; 120.48283784034022; 160.71161885810778
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.match_status,string,3; 2; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.match_flag,string,32; 2; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.change_elo,string,-22.97; -36.73; -20.39
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.origin_elo,string,1214.69; 1490.09; 1777.88
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.rank,string,3251068; 1410250; 2717215
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.origin_rank,string,; 1444425; 1444424
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.trigger_promotion,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.special_bo,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.rise_type,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.tie_status,int,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.level_elo,int,800; 1700; 1400
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.max_level,int,19; 30; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.origin_level_id,int,103; 108; 105
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.origin_match_total,int,269; 145; 63
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.star_info.change_small_star_num,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.star_info.origin_small_star_num,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.star_info.change_type,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].level_info.star_info.now_small_star_num,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.uid,"<5eid>, int",14026928; 15478597; 21610332
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.username,"<5eid>, string",Sonka; 午夜伤心忧郁玫瑰; _陆小果
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.uuid,string,e6f87d93-ea92-11ee-9ce2-ec0d9a495494; 857f1c11-49c8-11ef-ac9f-ec0d9a7185e0; 4d9e3561-c373-11ef-848e-506b4bfa3106
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.email,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.area,string,; 86; 852
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.mobile,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.createdAt,int,1711362715; 1688270111; 1676517088
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.updatedAt,int,1767921452; 1768905111; 1767770760
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.uid,"<5eid>, int",14026928; 15478597; 21610332
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.domain,"<5eid>, string",123442; 1226wi4xw0ya; 15478597ldiutg
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.nickname,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.avatarUrl,string,disguise/images/cf/b2/cfb285c3d8d1c905b648954e42dc8cb0.jpg; disguise/images/9d/94/9d94029776f802318860f1bbd19c3bca.jpg; prop/images/6f/c0/6fc0c147e94ea8b1432ed072c19b0991.png
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.avatarAuditStatus,int,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.rgbAvatarUrl,string,; rgb_avatar/20230503/1fc76fccd31807fcb709d5d119522d32.rgb; rgb_avatar/20230803/d8b7ba92df98837791082ea3bcf6292b.rgb
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.photoUrl,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.gender,int,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.birthday,int,1141315200; 904233600; 1077638400
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.countryId,string,; kr; bm
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.regionId,string,; 620000; 450000
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.cityId,string,; 360400; 451100
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.language,string,simplified-chinese;
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.recommendUrl,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.groupId,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.profile.regSource,int,5; 4; 3
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.status.uid,"<5eid>, int",14026928; 15478597; 21610332
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.status.status,int,-4; -6; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.status.expire,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.status.cancellationStatus,int,2; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.status.newUser,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.status.loginBannedTime,int,1687524902; 1733207455; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.status.anticheatType,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.status.flagStatus1,string,32; 4224; 24704
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.status.anticheatStatus,string,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.status.FlagHonor,string,65548; 93196; 2162700
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.status.PrivacyPolicyStatus,int,3; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.status.csgoFrozenExptime,int,1766231693; 1767001958; 1760438129
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.platformExp.uid,"<5eid>, int",14026928; 15478597; 21610332
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.platformExp.level,int,22; 30; 25
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.platformExp.exp,int,12641; 32004; 13776
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.steam.uid,"<5eid>, int",14026928; 15478597; 21610332
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.steam.steamId,<steamid>,76561198812383596; 76561199812085195; 76561199187871084
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.steam.steamAccount,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.steam.tradeUrl,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.steam.rentSteamId,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.trusted.uid,"<5eid>, int",14026928; 15478597; 21610332
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.trusted.credit,int,2550; 2990; 2033
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.trusted.creditLevel,int,3; 1; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.trusted.score,int,100000; 97059; 96082
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.trusted.status,int,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.trusted.creditStatus,int,1; 2
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.certify.uid,"<5eid>, int",14026928; 15478597; 21610332
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.certify.idType,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.certify.status,int,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.certify.age,int,20; 22; 25
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.certify.realName,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.certify.auditStatus,int,1
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.certify.gender,int,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.identity.uid,"<5eid>, int",14026928; 15478597; 21610332
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.identity.type,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.identity.extras,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.identity.status,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.identity.slogan,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.identity.slogan_ext,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.identity.live_url,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.identity.live_type,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.usernameAuditStatus,int,1
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.Accid,string,263d37a4e1f87bce763e0d1b8ec03982; 07809f60e739d9c47648f4acda66667d; 879462b5de38dce892033adc138dec22
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.teamID,int,99868; 132671; 117796
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.domain,"<5eid>, string",123442; 1226wi4xw0ya; 15478597ldiutg
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_data.trumpetCount,int,2; 23; 1
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.plus_info.is_plus,int,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.plus_info.plus_icon,string,images/act/e9cf57699303d9f6b18e465156fc6291.png; images/act/dae5c4cb98ceb6eeb1700f63c9ed14b7.png; images/act/09bbeb0f83a2f13419a0d75ac93e8a0c.png
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.plus_info.plus_icon_short,string,images/act/d53f3bd55c836e057af230e2a138e94a.png; images/act/b7e90458420245283d9878a1e92b3a74.png; images/act/49b525ee6f74f423f3c2f0f913289824.png
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.plus_info.vip_level,int,6; 5; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.plus_info.plus_grade,int,6; 2; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.plus_info.growth_score,int,540; 8196; 5458
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].user_info.user_avatar_frame,null,None
|
||||||
|
crane/http/api/data/match/{match_id},data.group_N[].friend_relation,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.level_list[].elo,int,1000; 800; 900
|
||||||
|
crane/http/api/data/match/{match_id},data.level_list[].remark,string,800-899; 700-799; 900-999
|
||||||
|
crane/http/api/data/match/{match_id},data.level_list[].level_id,int,2; 5; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.level_list[].level_name,string,E-; E+; N
|
||||||
|
crane/http/api/data/match/{match_id},data.level_list[].elo_type,int,9
|
||||||
|
crane/http/api/data/match/{match_id},data.level_list[].group_id,int,2; 5; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.level_list[].level_image,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.level_list[].rise_type,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.level_list[].shelves_status,int,1
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.id,string,310; 1326; 1309
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.category,string,48; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.describe,string,; PLUS1专属房间卡片; 灵动小5房间卡片
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.name,string,; PLUS1专属房间卡片; 赛博少女
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.propTemplateId,string,133841; 134304; 1001
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.getWay,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.onShelf,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.shelfAt,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.getButton,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.getUrl,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.flagAnimation,string,; https://oss-arena.5eplay.com/prop/videos/ba/23/ba2356a47ba93454a2de62c6fb817f82.avif; https://oss-arena.5eplay.com/prop/videos/59/79/59795c76433dfcadad8e6c02627e7d0f.avif
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.flagAnimationTime,string,; 2
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.flagViewUrl,string,https://oss-arena.5eplay.com/prop/images/49/36/49365bf9f2b7fe3ac6a7ded3656e092a.png; https://oss-arena.5eplay.com/prop/images/77/8c/778c698eb83d864e49e8a90bc8837a50.png; https://oss-arena.5eplay.com/prop/images/09/a9/09a93ce3f1476005f926298491188b21.png
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.flagViewVideo,string,; https://oss-arena.5eplay.com/prop/videos/6a/ae/6aaee03bbd40a093e5c00d6babe8e276.avif; https://oss-arena.5eplay.com/prop/videos/11/e8/11e8446dcd0202316605b08ab0b35466.avif
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.flagViewVideoTime,string,; 5; 2
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.getWay,string,升级至PLUS1级获取; 购买DANK1NG联名装扮获得; CS全新版本上线活动获得
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.mallJumpLink,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.matchViewUrlLeft,string,https://oss-arena.5eplay.com/prop/images/13/fd/13fdb6d3b8dfaca3e8cd4987acc45606.png; https://oss-arena.5eplay.com/prop/images/1a/3a/1a3a7725e7bcb19f5a42858160e78bf8.png; https://oss-arena.5eplay.com/prop/images/f9/36/f9366f00cf41b3609a5b52194bf3b309.png
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.matchViewUrlRight,string,https://oss-arena.5eplay.com/prop/images/a9/da/a9da623d19cff27141cf6335507071ff.png; https://oss-arena.5eplay.com/prop/images/fa/45/fa45de3775d1bb75a6456c75ea454147.png; https://oss-arena.5eplay.com/prop/images/0c/f6/0cf657f3461dbd312a1083f546db9e54.png
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.mvpSettleAnimation,string,https://oss-arena.5eplay.com/dress/room_card/9e2ab6983d4ed9a6d23637abd9cd2152.mp4; https://oss-arena.5eplay.com/prop/videos/38/3e/383ec8198005d46da7194252353e7cf4.mp4; https://oss-arena.5eplay.com/prop/videos/14/05/14055e4e7cb184edb5f9849031e97231.mp4
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.mvpSettleColor,string,#9f1dea; #1ab5c6; #c89c68
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.mvpSettleViewAnimation,string,https://oss-arena.5eplay.com/dress/room_card/9e2ab6983d4ed9a6d23637abd9cd2152.mp4; https://oss-arena.5eplay.com/prop/videos/82/52/82526d004e9d0f41f3a3e7367b253003.mp4; https://oss-arena.5eplay.com/prop/videos/d2/bc/d2bc06fcc9e997c1d826537c145ea38e.mp4
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.pcImg,string,https://oss-arena.5eplay.com/prop/images/1a/47/1a47dda552d9501004d9043f637406d5.png; https://oss-arena.5eplay.com/prop/images/a1/e6/a1e6656596228734258d74b727a1aa48.png; https://oss-arena.5eplay.com/prop/images/d5/45/d545c6caf716a99a6725d24e37098078.png
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.sort,int,1; 2
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.templateId,int,2029; 1663; 2050
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.rarityLevel,int,3; 4; 2
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.attrs.sourceId,int,3; 11; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.displayStatus,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.sysType,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.createdAt,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.room_card.updatedAt,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.round_sfui_type[],string,2; 5; 4
|
||||||
|
crane/http/api/data/match/{match_id},data.user_stats.map_level.map_exp,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.user_stats.map_level.add_exp,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.user_stats.plat_level.plat_level_exp,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.user_stats.plat_level.add_exp,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.group_1_team_info.team_id,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_1_team_info.team_name,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_1_team_info.logo_url,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_1_team_info.team_domain,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_1_team_info.team_tag,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_2_team_info.team_id,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_2_team_info.team_name,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_2_team_info.logo_url,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_2_team_info.team_domain,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.group_2_team_info.team_tag,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_id,"<5eid>, int",13048069; 21150835
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.uid,"<5eid>, int",13048069; 21150835
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.username,string,熊出没之深情熊二; Royc灬Kerat丶
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.uuid,string,c9caad5c-a9b3-11ef-848e-506b4bfa3106; 83376211-5c36-11ed-9ce2-ec0d9a495494
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.email,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.area,string,86
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.mobile,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.createdAt,int,1667562471; 1732377512
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.updatedAt,int,1768911939; 1768904695
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.uid,"<5eid>, int",13048069; 21150835
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.domain,string,13048069yf1jto; 1123rqi1bfha
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.nickname,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.avatarUrl,string,prop/images/3d/c4/3dc4259c07c31adb2439f7acbf1e565f.png; disguise/images/0e/84/0e84fdbb1da54953f1985bfb206604a5.png
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.avatarAuditStatus,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.rgbAvatarUrl,string,; rgb_avatar/20221129/f1ba34afe43c4fa38fd7dd129b0dc303.rgb
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.photoUrl,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.gender,int,1; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.birthday,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.countryId,string,; cn
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.regionId,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.cityId,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.language,string,simplified-chinese;
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.recommendUrl,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.groupId,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.profile.regSource,int,4; 0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.status.uid,"<5eid>, int",13048069; 21150835
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.status.status,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.status.expire,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.status.cancellationStatus,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.status.newUser,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.status.loginBannedTime,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.status.anticheatType,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.status.flagStatus1,string,128
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.status.anticheatStatus,string,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.status.FlagHonor,string,1178636; 65548
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.status.PrivacyPolicyStatus,int,4
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.status.csgoFrozenExptime,int,1767707372; 1765545847
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.platformExp.uid,"<5eid>, int",13048069; 21150835
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.platformExp.level,int,29
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.platformExp.exp,int,26803; 26522
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.steam.uid,"<5eid>, int",13048069; 21150835
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.steam.steamId,<steamid>,76561199192775594; 76561198290113126
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.steam.steamAccount,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.steam.tradeUrl,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.steam.rentSteamId,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.trusted.uid,"<5eid>, int",13048069; 21150835
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.trusted.credit,int,2200; 5919
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.trusted.creditLevel,int,4
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.trusted.score,int,100000
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.trusted.status,int,1
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.trusted.creditStatus,int,1
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.certify.uid,"<5eid>, int",13048069; 21150835
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.certify.idType,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.certify.status,int,1
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.certify.age,int,23; 42
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.certify.realName,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.certify.auditStatus,int,1
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.certify.gender,int,1
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.identity.uid,"<5eid>, int",13048069; 21150835
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.identity.type,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.identity.extras,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.identity.status,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.identity.slogan,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.identity.slogan_ext,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.identity.live_url,string,
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.identity.live_type,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.usernameAuditStatus,int,1
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.Accid,string,57cd6b98be64949589a6cecf7d258cd1; d0d986c392c55c5d422fd2c46e4d6318
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.teamID,int,0
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.domain,string,13048069yf1jto; 1123rqi1bfha
|
||||||
|
crane/http/api/data/match/{match_id},data.treat_info.user_data.trumpetCount,int,3; 2442
|
||||||
|
crane/http/api/data/match/{match_id},data.season_type,int,0
|
||||||
|
crane/http/api/data/match/{match_id},code,int,0
|
||||||
|
crane/http/api/data/match/{match_id},message,string,操作成功
|
||||||
|
crane/http/api/data/match/{match_id},status,bool,True
|
||||||
|
crane/http/api/data/match/{match_id},timestamp,int,1768931731; 1768931718; 1768931708
|
||||||
|
crane/http/api/data/match/{match_id},trace_id,string,8ae4feeb19cc4ed3a24a8a00f056d023; 19582ac94190e3baff795cff50c7a6f3; 87794472a94e5e40be8e12bd116dad55
|
||||||
|
crane/http/api/data/match/{match_id},success,bool,True
|
||||||
|
crane/http/api/data/match/{match_id},errcode,int,0
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},data.<steamid>.fd_ct,int,2; 4; 3
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},data.<steamid>.fd_t,int,2; 4; 3
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},data.<steamid>.kast,"float, int",0.7; 0.65; 0.48
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},data.<steamid>.awp_kill,int,2; 5; 4
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},data.<steamid>.awp_kill_ct,int,5; 4; 3
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},data.<steamid>.awp_kill_t,int,2; 5; 4
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},data.<steamid>.damage_stats,int,3; 5; 50
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},data.<steamid>.damage_receive,int,0
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},code,int,0
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},message,string,操作成功
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},status,bool,True
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},timestamp,int,1768931714; 1768931732; 1768931710
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},trace_id,string,cff29d5dcdd6285b80d11bbb4a8a7da0; 6e7c0c0590b0e561c6c4c8d935ebb02c; 97c1377302559a8f5e01aedfeb208751
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},success,bool,True
|
||||||
|
crane/http/api/data/vip_plus_match_data/{match_id},errcode,int,0
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].round,int,2; 5; 4
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].t_money_group,int,3; 1; 4
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].ct_money_group,int,3; 1; 4
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].win_reason,int,2; 5; 4
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].bron_equipment.<steamid>[].Money,int,400; 200; 2900
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].bron_equipment.<steamid>[].WeaponName,string,weapon_flashbang; weapon_tec9; weapon_hegrenade
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].bron_equipment.<steamid>[].Weapon,int,22; 33; 37
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].player_t_score.<steamid>,"float, int",-21.459999999999997; -16.640000000000004; 4
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].player_ct_score.<steamid>,"float, int",17.099999999999994; 15.120000000000001; 27.507999999999996
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].player_bron_crash.<steamid>,int,4200; 3900; 800
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].begin_ts,string,2026-01-18T19:57:29+08:00; 2026-01-18T19:59:18+08:00; 2026-01-18T19:55:55+08:00
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].sfui_event.sfui_type,int,2; 5; 4
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].sfui_event.score_ct,int,2; 5; 4
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].sfui_event.score_t,int,2; 10; 3
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].end_ts,string,2026-01-18T19:54:37+08:00; 2026-01-18T19:57:22+08:00; 2026-01-18T19:59:11+08:00
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].ts_real,string,0001-01-01T00:00:00Z; 2026-01-18T19:54:06+08:00; 2026-01-18T19:54:04+08:00
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].ts,int,45; 48; 46
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].t_num,int,2; 5; 4
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].ct_num,int,2; 5; 4
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].event_type,int,3; 1; 4
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.Ts,string,2026-01-18T19:54:06+08:00; 2026-01-18T19:54:04+08:00; 2026-01-18T19:53:57+08:00
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.Killer,<steamid>,76561199787406643; 76561199032002725; 76561199078250590
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.Victim,<steamid>,76561199388433802; 76561199032002725; 76561199250737526
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.Weapon,int,6; 7; 5
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.KillerTeam,int,1; 2
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.KillerBot,bool,False
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.VictimBot,bool,False
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.WeaponName,string,usp_silencer; deagle; famas
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.Headshot,bool,False; True
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.Penetrated,bool,False; True
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.ThroughSmoke,bool,False; True
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.NoScope,bool,False; True
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.AttackerBlind,bool,False; True
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].kill_event.Attackerinair,bool,False
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].twin,"float, int",0.143; 0.341; 0.557
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].c_twin,"float, int",0.44299999999999995; 0.471; 0.659
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].twin_change,"float, int",-0.21600000000000003; -0.19800000000000004; 0.19899999999999995
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].c_twin_change,"float, int",0.21600000000000003; 0.19800000000000004; 0.17099999999999993
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].killer_score_change.<steamid>.score,"float, int",17.099999999999994; 19.899999999999995; 19.800000000000004
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].victim_score_change.<steamid>.score,"float, int",-15.8; -19.899999999999995; -21.6
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].assist_killer_score_change.<steamid>.score,float,2.592; 6.63; 6.45
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].trade_score_change.<steamid>.score,float,2.2100000000000004; 3.16; 3.66
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].flash_assist_killer_score_change.<steamid>.score,float,1.1520000000000001; 2.9850000000000003; 1.5299999999999996
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].protect_gun_player_score_change.<steamid>.score,float,5.8999999999999995; 7.1000000000000005
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].protect_gun_enemy_score_change.<steamid>.score,float,-1.18; -1.4200000000000002
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].disconnect_player_score_change,null,None
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].disconnect_comp_score_change,null,None
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].round_end_fixed_score_change.<steamid>.score,"float, int",20; -0.6000000000000005; -100
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].show_event[].win_reason,int,2; 5; 4
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].side_info.ct[],<steamid>,76561199032002725; 76561199078250590; 76561199076109761
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_stat[].side_info.t[],<steamid>,76561199787406643; 76561199388433802; 76561199250737526
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.player_scores.<steamid>,float,12.491187500000002; 1.5764999999999993; 2.073937500000001
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.player_t_scores.<steamid>,float,19.06; 6.3349999999999955; -8.872500000000002
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.player_ct_scores.<steamid>,float,-0.009666666666665455; 10.301583333333335; -2.9330833333333324
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.round_total,int,18; 30; 21
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.leetify_data.player_round_scores.<steamid>.<round_n>,"float, int",32.347; -1.100000000000001; 20.040000000000006
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.uid,"<5eid>, int",14889445; 14869396; 14888575
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.uuid,string,13f7dc52-ea7c-11ed-9ce2-ec0d9a495494; e74f23a3-e8ae-11ed-9ce2-ec0d9a495494; 7ced32f8-ea70-11ed-9ce2-ec0d9a495494
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.username,string,刚拉; R1nging; RRRTINA
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.nickname,string,
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.reg_date,int,1683007881; 1683007342; 1683200437
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.username_spam_status,int,1
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.steamid_64,<steamid>,76561199032002725; 76561199078250590; 76561199076109761
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.avatar_url,string,disguise/images/6f/89/6f89b22633cb95df1754fd30573c5ad6.png; disguise/images/09/96/09961ea8fc45bed1c60157055a4c05c5.jpg; disguise/images/5d/41/5d4182b66a5004a974aee7501873164b.jpg
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.gender,int,1; 0
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.country_id,string,; cn
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.language,string,; simplified-chinese
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.domain,string,rrrtina; 14869396o9jm5g; dxw123452
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.credit,int,0
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.trusted_score,int,0
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.trusted_status,int,0
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.plus_info,null,None
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.region,int,0
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.province,int,0
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.province_name,string,
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.region_name,string,
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.college_id,int,0
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.status,int,0
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},data.uinfo_dict.<steamid>.identity,null,None
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},code,int,0
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},message,string,操作成功
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},status,bool,True
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},timestamp,int,1768833830; 1768833808; 1768833806
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},trace_id,string,376e200283d19770bdef6dacf260f40f; a7dd6602d3aedb3017bb37727b5be75a; dab4013545b5581fbb089fb5c273d0a9
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},success,bool,True
|
||||||
|
crane/http/api/match/leetify_rating/{match_id},errcode,int,0
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].attacker.name,string,5E-Player 我有必胜卡组; 5E-Player 青青C原懒大王w; 5E-Player xiezhongxie1
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].attacker.pos.x,int,734; 999; 1170
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].attacker.pos.y,int,125; -77; -772
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].attacker.pos.z,int,0
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].attacker.steamid_64,<steamid>,76561198330488905; 76561199032002725; 76561199076109761
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].attacker.team,int,1; 2
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].attackerblind,bool,False; True
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].headshot,bool,False; True
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].noscope,bool,False; True
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].pasttime,int,45; 20; 24
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].penetrated,bool,False; True
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].throughsmoke,bool,False; True
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].victim.name,"<5eid>, string",5E-Player 青青C原懒大王w; 5E-Player 午夜伤心忧郁玫瑰; 5E-Player RRRTINA
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].victim.pos.x,int,1218; 706; 1298
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].victim.pos.y,int,627; 587; 219
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].victim.pos.z,int,0
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].victim.steamid_64,"<steamid>, string",76561199482118960; 76561199812085195; 76561199207654712
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].victim.team,int,1; 2
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].all_kill[].weapon,string,usp_silencer; mag7; famas
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].attacker.name,string,5E-Player 我有必胜卡组; 5E-Player 青青C原懒大王w; 5E-Player xiezhongxie1
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].attacker.pos.x,int,734; 999; 397
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].attacker.pos.y,int,149; 125; -77
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].attacker.pos.z,int,0
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].attacker.steamid_64,<steamid>,76561198330488905; 76561199032002725; 76561199076109761
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].attacker.team,int,1; 2
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].attackerblind,bool,False; True
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].headshot,bool,False; True
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].noscope,bool,False; True
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].pasttime,int,24; 57; 20
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].penetrated,bool,False; True
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].throughsmoke,bool,False; True
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].victim.name,"<5eid>, string",5E-Player 青青C原懒大王w; 5E-Player 午夜伤心忧郁玫瑰; 5E-Player _陆小果
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].victim.pos.x,int,1218; 706; 1298
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].victim.pos.y,int,627; 587; 219
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].victim.pos.z,int,0
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].victim.steamid_64,"<steamid>, string",76561198812383596; 76561199812085195; 76561199187871084
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].victim.team,int,1; 2
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].kill.<steamid>[].weapon,string,usp_silencer; mag7; famas
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].c4_event[].event_name,string,planted_c4
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].c4_event[].location,string,
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].c4_event[].name,string,5E-Player 我有必胜卡组; 5E-Player RRRTINA; 5E-Player 俺有鱼鱼蒸
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].c4_event[].pasttime,int,45; 30; 31
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].c4_event[].steamid_64,<steamid>,76561198330488905; 76561199812085195; 76561199207654712
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].current_score.ct,int,2; 10; 1
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].current_score.final_round_time,int,68; 79; 63
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].current_score.pasttime,int,57; 47; 62
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].current_score.t,int,2; 5; 4
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].current_score.type,int,2; 5; 4
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].death_list[],"<steamid>, string",76561198812383596; 76561199812085195; 76561199187871084
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].equiped.<steamid>[],string,usp_silencer; kevlar(100); smokegrenade
|
||||||
|
crane/http/api/match/round/{match_id},data.round_list[].equiped.[],string,
|
||||||
|
crane/http/api/match/round/{match_id},data.weapon_list.defuser[],string,defuser
|
||||||
|
crane/http/api/match/round/{match_id},data.weapon_list.item[],string,incgrenade; flashbang; molotov
|
||||||
|
crane/http/api/match/round/{match_id},data.weapon_list.main_weapon[],string,sg556; awp; ssg08
|
||||||
|
crane/http/api/match/round/{match_id},data.weapon_list.other_item[],string,kevlar; helmet
|
||||||
|
crane/http/api/match/round/{match_id},data.weapon_list.secondary_weapon[],string,usp_silencer; deagle; glock
|
||||||
|
crane/http/api/match/round/{match_id},code,int,0
|
||||||
|
crane/http/api/match/round/{match_id},message,string,操作成功
|
||||||
|
crane/http/api/match/round/{match_id},status,bool,True
|
||||||
|
crane/http/api/match/round/{match_id},timestamp,int,1768931714; 1768931731; 1768931710
|
||||||
|
crane/http/api/match/round/{match_id},trace_id,string,c2ee4f45abd89f1c90dc1cc390d21d33; f85069de4d785710dd55301334ff03c0; 98335f4087c76de69e8aeda3ca767d6f
|
||||||
|
crane/http/api/match/round/{match_id},success,bool,True
|
||||||
|
crane/http/api/match/round/{match_id},errcode,int,0
|
||||||
|
7282
output_reports/schema_full.json
Normal file
7282
output_reports/schema_full.json
Normal file
File diff suppressed because it is too large
Load Diff
724
output_reports/schema_summary.md
Normal file
724
output_reports/schema_summary.md
Normal file
@@ -0,0 +1,724 @@
|
|||||||
|
# Schema Hierarchy Report
|
||||||
|
|
||||||
|
## Category: `ats/api/v1/activityInterface/fallActivityInfo`
|
||||||
|
**Total Requests**: 179
|
||||||
|
|
||||||
|
- **code** (int, e.g. 401)
|
||||||
|
- **message** (string, e.g. User auth failed)
|
||||||
|
- **data** (null, e.g. None)
|
||||||
|
- **timeStamp** (int, e.g. 1768931732)
|
||||||
|
- **status** (bool, e.g. False)
|
||||||
|
- **traceId** (string, e.g. c3d47b6d9a6bf7099b45af1b3f516370)
|
||||||
|
- **success** (bool, e.g. False)
|
||||||
|
- **errcode** (int, e.g. 401)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Category: `crane/http/api/data/match/{match_id}`
|
||||||
|
**Total Requests**: 179
|
||||||
|
|
||||||
|
- **data** (dict)
|
||||||
|
- **has_side_data_and_rating2** (bool, e.g. True)
|
||||||
|
- **main** (dict)
|
||||||
|
- **demo_url** (string, e.g. )
|
||||||
|
- **end_time** (int, e.g. 1739528619)
|
||||||
|
- **game_mode** (int, e.g. 6)
|
||||||
|
- **game_name** (string, e.g. )
|
||||||
|
- **group1_all_score** (int, e.g. 10)
|
||||||
|
- **group1_change_elo** (int, e.g. 0)
|
||||||
|
- **group1_fh_role** (int, e.g. 1)
|
||||||
|
- **group1_fh_score** (int, e.g. 6)
|
||||||
|
- **group1_origin_elo** (float, int, e.g. 1628.1)
|
||||||
|
- **group1_sh_role** (int, e.g. 0)
|
||||||
|
- **group1_sh_score** (int, e.g. 6)
|
||||||
|
- **group1_tid** (int, e.g. 0)
|
||||||
|
- **group1_uids** (string, e.g. 14869472,14888575,1326932,14869396,14889445)
|
||||||
|
- **group2_all_score** (int, e.g. 6)
|
||||||
|
- **group2_change_elo** (int, e.g. 0)
|
||||||
|
- **group2_fh_role** (int, e.g. 0)
|
||||||
|
- **group2_fh_score** (int, e.g. 6)
|
||||||
|
- **group2_origin_elo** (float, int, e.g. 1617.02)
|
||||||
|
- **group2_sh_role** (int, e.g. 1)
|
||||||
|
- **group2_sh_score** (int, e.g. 6)
|
||||||
|
- **group2_tid** (int, e.g. 0)
|
||||||
|
- **group2_uids** (string, e.g. 7866482,7976557,13918176,7998628,18857497)
|
||||||
|
- **id** (int, e.g. 232025624)
|
||||||
|
- **knife_winner** (int, e.g. 0)
|
||||||
|
- **knife_winner_role** (int, e.g. 0)
|
||||||
|
- **location** (string, e.g. hz)
|
||||||
|
- **location_full** (string, e.g. sh_pug-low)
|
||||||
|
- **map** (string, e.g. de_nuke)
|
||||||
|
- **map_desc** (string, e.g. 阿努比斯)
|
||||||
|
- **match_code** (string, e.g. g161-20250215211846894242128)
|
||||||
|
- **match_mode** (int, e.g. 9)
|
||||||
|
- **match_winner** (int, e.g. 1)
|
||||||
|
- **most_1v2_uid** (<5eid>, int, e.g. 14869396)
|
||||||
|
- **most_assist_uid** (<5eid>, int, e.g. 14869396)
|
||||||
|
- **most_awp_uid** (<5eid>, int, e.g. 12501578)
|
||||||
|
- **most_end_uid** (<5eid>, int, e.g. 12501578)
|
||||||
|
- **most_first_kill_uid** (<5eid>, int, e.g. 18337753)
|
||||||
|
- **most_headshot_uid** (<5eid>, int, e.g. 17181895)
|
||||||
|
- **most_jump_uid** (<5eid>, int, e.g. 12501578)
|
||||||
|
- **mvp_uid** (<5eid>, int, e.g. 19535157)
|
||||||
|
- **round_total** (int, e.g. 24)
|
||||||
|
- **season** (string, e.g. 2025s2)
|
||||||
|
- **server_ip** (string, e.g. )
|
||||||
|
- **server_port** (string, e.g. 27015)
|
||||||
|
- **start_time** (int, e.g. 1739523090)
|
||||||
|
- **status** (int, e.g. 1)
|
||||||
|
- **waiver** (int, e.g. 0)
|
||||||
|
- **year** (int, e.g. 2026)
|
||||||
|
- **cs_type** (int, e.g. 0)
|
||||||
|
- **priority_show_type** (int, e.g. 3)
|
||||||
|
- **pug10m_show_type** (int, e.g. 1)
|
||||||
|
- **credit_match_status** (int, e.g. 1)
|
||||||
|
- **group_N** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **fight_any** (dict)
|
||||||
|
- **adr** (string, e.g. 106.58)
|
||||||
|
- **assist** (string, e.g. 2)
|
||||||
|
- **awp_kill** (string, e.g. 2)
|
||||||
|
- **benefit_kill** (string, e.g. 6)
|
||||||
|
- **day** (string, e.g. 20250218)
|
||||||
|
- **death** (string, e.g. 5)
|
||||||
|
- **defused_bomb** (string, e.g. 2)
|
||||||
|
- **end_1v1** (string, e.g. 2)
|
||||||
|
- **end_1v2** (string, e.g. 2)
|
||||||
|
- **end_1v3** (string, e.g. 2)
|
||||||
|
- **end_1v4** (string, e.g. 1)
|
||||||
|
- **end_1v5** (string, e.g. 1)
|
||||||
|
- **explode_bomb** (string, e.g. 2)
|
||||||
|
- **first_death** (string, e.g. 5)
|
||||||
|
- **first_kill** (string, e.g. 2)
|
||||||
|
- **flash_enemy** (string, e.g. 43)
|
||||||
|
- **flash_enemy_time** (string, e.g. 7)
|
||||||
|
- **flash_team** (string, e.g. 5)
|
||||||
|
- **flash_team_time** (string, e.g. 21)
|
||||||
|
- **flash_time** (string, e.g. 6)
|
||||||
|
- **game_mode** (string, e.g. 6)
|
||||||
|
- **group_id** (string, e.g. 1)
|
||||||
|
- **headshot** (string, e.g. 2)
|
||||||
|
- **hold_total** (string, e.g. 0)
|
||||||
|
- **id** (string, e.g. 1937230471)
|
||||||
|
- **is_highlight** (string, e.g. 1)
|
||||||
|
- **is_most_1v2** (string, e.g. 1)
|
||||||
|
- **is_most_assist** (string, e.g. 1)
|
||||||
|
- **is_most_awp** (string, e.g. 1)
|
||||||
|
- **is_most_end** (string, e.g. 1)
|
||||||
|
- **is_most_first_kill** (string, e.g. 1)
|
||||||
|
- **is_most_headshot** (string, e.g. 1)
|
||||||
|
- **is_most_jump** (string, e.g. 1)
|
||||||
|
- **is_mvp** (string, e.g. 1)
|
||||||
|
- **is_svp** (string, e.g. )
|
||||||
|
- **is_tie** (string, e.g. 1)
|
||||||
|
- **is_win** (string, e.g. 1)
|
||||||
|
- **jump_total** (string, e.g. 64)
|
||||||
|
- **kast** (string, e.g. 0.82)
|
||||||
|
- **kill** (string, e.g. 14)
|
||||||
|
- **kill_1** (string, e.g. 5)
|
||||||
|
- **kill_2** (string, e.g. 2)
|
||||||
|
- **kill_3** (string, e.g. 2)
|
||||||
|
- **kill_4** (string, e.g. 3)
|
||||||
|
- **kill_5** (string, e.g. 2)
|
||||||
|
- **map** (string, e.g. de_nuke)
|
||||||
|
- **match_code** (string, e.g. g161-20250215211846894242128)
|
||||||
|
- **match_mode** (string, e.g. 9)
|
||||||
|
- **match_team_id** (string, e.g. 2)
|
||||||
|
- **match_time** (string, e.g. 1739625526)
|
||||||
|
- **per_headshot** (string, e.g. 0.44)
|
||||||
|
- **planted_bomb** (string, e.g. 2)
|
||||||
|
- **rating** (string, e.g. 0.89)
|
||||||
|
- **many_assists_cnt1** (string, e.g. 6)
|
||||||
|
- **many_assists_cnt2** (string, e.g. 2)
|
||||||
|
- **many_assists_cnt3** (string, e.g. 1)
|
||||||
|
- **many_assists_cnt4** (string, e.g. 1)
|
||||||
|
- **many_assists_cnt5** (string, e.g. 0)
|
||||||
|
- **perfect_kill** (string, e.g. 10)
|
||||||
|
- **assisted_kill** (string, e.g. 5)
|
||||||
|
- **rating2** (string, e.g. 1.24)
|
||||||
|
- **rating3** (string, e.g. 2.15)
|
||||||
|
- **revenge_kill** (string, e.g. 2)
|
||||||
|
- **round_total** (string, e.g. 17)
|
||||||
|
- **rws** (string, e.g. 8.41)
|
||||||
|
- **season** (string, e.g. 2025s2)
|
||||||
|
- **team_kill** (string, e.g. 1)
|
||||||
|
- **throw_harm** (string, e.g. 120)
|
||||||
|
- **throw_harm_enemy** (string, e.g. 10)
|
||||||
|
- **uid** (<5eid>, string, e.g. 14026928)
|
||||||
|
- **year** (string, e.g. 2026)
|
||||||
|
- **sts** (dict)
|
||||||
|
- **data_tips_detail** (int, e.g. -7)
|
||||||
|
- **challenge_status** (int, e.g. 1)
|
||||||
|
- **map_reward_status** (int, e.g. 1)
|
||||||
|
- **change_rank** (int, e.g. -423964)
|
||||||
|
- **origin_level_id** (int, e.g. 103)
|
||||||
|
- **rank_change_type** (int, e.g. 5)
|
||||||
|
- **star_num** (int, e.g. 0)
|
||||||
|
- **origin_star_num** (int, e.g. 0)
|
||||||
|
- **change_elo** (string, e.g. -22.97)
|
||||||
|
- **id** (string, e.g. 1930709265)
|
||||||
|
- **level_id** (string, e.g. 103)
|
||||||
|
- **match_code** (string, e.g. g161-20250215211846894242128)
|
||||||
|
- **match_flag** (string, e.g. 32)
|
||||||
|
- **match_mode** (string, e.g. 9)
|
||||||
|
- **match_status** (string, e.g. 3)
|
||||||
|
- **origin_elo** (string, e.g. 1214.69)
|
||||||
|
- **origin_match_total** (string, e.g. 269)
|
||||||
|
- **placement** (string, e.g. 1)
|
||||||
|
- **punishment** (string, e.g. 1)
|
||||||
|
- **rank** (string, e.g. 3251068)
|
||||||
|
- **origin_rank** (string, e.g. 2293251)
|
||||||
|
- **season** (string, e.g. 2025s2)
|
||||||
|
- **special_data** (string, e.g. )
|
||||||
|
- **uid** (<5eid>, string, e.g. 14026928)
|
||||||
|
- **level_info** (dict)
|
||||||
|
- **level_id** (int, e.g. 103)
|
||||||
|
- **level_name** (string, e.g. C)
|
||||||
|
- **level_type** (int, e.g. 2)
|
||||||
|
- **star_num** (int, e.g. 0)
|
||||||
|
- **origin_star_num** (int, e.g. 0)
|
||||||
|
- **dragon_flag** (int, e.g. 0)
|
||||||
|
- **deduct_data** (dict)
|
||||||
|
- **all_deduct_elo** (int, e.g. 0)
|
||||||
|
- **deduct_remain_elo** (int, e.g. 0)
|
||||||
|
- **deduct_elo** (int, e.g. 0)
|
||||||
|
- **special_data** (list, null)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **is_win** (int, e.g. 1)
|
||||||
|
- **match_id** (string, e.g. )
|
||||||
|
- **match_status** (int, e.g. 2)
|
||||||
|
- **change_elo** (float, int, e.g. -100.14724769911413)
|
||||||
|
- **match_status** (string, e.g. 3)
|
||||||
|
- **match_flag** (string, e.g. 32)
|
||||||
|
- **change_elo** (string, e.g. -22.97)
|
||||||
|
- **origin_elo** (string, e.g. 1214.69)
|
||||||
|
- **rank** (string, e.g. 3251068)
|
||||||
|
- **origin_rank** (string, e.g. )
|
||||||
|
- **trigger_promotion** (int, e.g. 0)
|
||||||
|
- **special_bo** (int, e.g. 0)
|
||||||
|
- **rise_type** (int, e.g. 0)
|
||||||
|
- **tie_status** (int, e.g. 1)
|
||||||
|
- **level_elo** (int, e.g. 800)
|
||||||
|
- **max_level** (int, e.g. 19)
|
||||||
|
- **origin_level_id** (int, e.g. 103)
|
||||||
|
- **origin_match_total** (int, e.g. 269)
|
||||||
|
- **star_info** (dict)
|
||||||
|
- **change_small_star_num** (int, e.g. 0)
|
||||||
|
- **origin_small_star_num** (int, e.g. 0)
|
||||||
|
- **change_type** (int, e.g. 0)
|
||||||
|
- **now_small_star_num** (int, e.g. 0)
|
||||||
|
- **user_info** (dict)
|
||||||
|
- **user_data** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 14026928)
|
||||||
|
- **username** (<5eid>, string, e.g. Sonka)
|
||||||
|
- **uuid** (string, e.g. e6f87d93-ea92-11ee-9ce2-ec0d9a495494)
|
||||||
|
- **email** (string, e.g. )
|
||||||
|
- **area** (string, e.g. )
|
||||||
|
- **mobile** (string, e.g. )
|
||||||
|
- **createdAt** (int, e.g. 1711362715)
|
||||||
|
- **updatedAt** (int, e.g. 1767921452)
|
||||||
|
- **profile** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 14026928)
|
||||||
|
- **domain** (<5eid>, string, e.g. 123442)
|
||||||
|
- **nickname** (string, e.g. )
|
||||||
|
- **avatarUrl** (string, e.g. disguise/images/cf/b2/cfb285c3d8d1c905b648954e42dc8cb0.jpg)
|
||||||
|
- **avatarAuditStatus** (int, e.g. 1)
|
||||||
|
- **rgbAvatarUrl** (string, e.g. )
|
||||||
|
- **photoUrl** (string, e.g. )
|
||||||
|
- **gender** (int, e.g. 1)
|
||||||
|
- **birthday** (int, e.g. 1141315200)
|
||||||
|
- **countryId** (string, e.g. )
|
||||||
|
- **regionId** (string, e.g. )
|
||||||
|
- **cityId** (string, e.g. )
|
||||||
|
- **language** (string, e.g. simplified-chinese)
|
||||||
|
- **recommendUrl** (string, e.g. )
|
||||||
|
- **groupId** (int, e.g. 0)
|
||||||
|
- **regSource** (int, e.g. 5)
|
||||||
|
- **status** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 14026928)
|
||||||
|
- **status** (int, e.g. -4)
|
||||||
|
- **expire** (int, e.g. 0)
|
||||||
|
- **cancellationStatus** (int, e.g. 2)
|
||||||
|
- **newUser** (int, e.g. 0)
|
||||||
|
- **loginBannedTime** (int, e.g. 1687524902)
|
||||||
|
- **anticheatType** (int, e.g. 0)
|
||||||
|
- **flagStatus1** (string, e.g. 32)
|
||||||
|
- **anticheatStatus** (string, e.g. 0)
|
||||||
|
- **FlagHonor** (string, e.g. 65548)
|
||||||
|
- **PrivacyPolicyStatus** (int, e.g. 3)
|
||||||
|
- **csgoFrozenExptime** (int, e.g. 1766231693)
|
||||||
|
- **platformExp** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 14026928)
|
||||||
|
- **level** (int, e.g. 22)
|
||||||
|
- **exp** (int, e.g. 12641)
|
||||||
|
- **steam** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 14026928)
|
||||||
|
- **steamId** (<steamid>, e.g. 76561198812383596)
|
||||||
|
- **steamAccount** (string, e.g. )
|
||||||
|
- **tradeUrl** (string, e.g. )
|
||||||
|
- **rentSteamId** (string, e.g. )
|
||||||
|
- **trusted** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 14026928)
|
||||||
|
- **credit** (int, e.g. 2550)
|
||||||
|
- **creditLevel** (int, e.g. 3)
|
||||||
|
- **score** (int, e.g. 100000)
|
||||||
|
- **status** (int, e.g. 1)
|
||||||
|
- **creditStatus** (int, e.g. 1)
|
||||||
|
- **certify** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 14026928)
|
||||||
|
- **idType** (int, e.g. 0)
|
||||||
|
- **status** (int, e.g. 1)
|
||||||
|
- **age** (int, e.g. 20)
|
||||||
|
- **realName** (string, e.g. )
|
||||||
|
- **uidList** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **auditStatus** (int, e.g. 1)
|
||||||
|
- **gender** (int, e.g. 1)
|
||||||
|
- **identity** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 14026928)
|
||||||
|
- **type** (int, e.g. 0)
|
||||||
|
- **extras** (string, e.g. )
|
||||||
|
- **status** (int, e.g. 0)
|
||||||
|
- **slogan** (string, e.g. )
|
||||||
|
- **identity_list** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **slogan_ext** (string, e.g. )
|
||||||
|
- **live_url** (string, e.g. )
|
||||||
|
- **live_type** (int, e.g. 0)
|
||||||
|
- **usernameAuditStatus** (int, e.g. 1)
|
||||||
|
- **Accid** (string, e.g. 263d37a4e1f87bce763e0d1b8ec03982)
|
||||||
|
- **teamID** (int, e.g. 99868)
|
||||||
|
- **domain** (<5eid>, string, e.g. 123442)
|
||||||
|
- **trumpetCount** (int, e.g. 2)
|
||||||
|
- **plus_info** (dict)
|
||||||
|
- **is_plus** (int, e.g. 1)
|
||||||
|
- **plus_icon** (string, e.g. images/act/e9cf57699303d9f6b18e465156fc6291.png)
|
||||||
|
- **plus_icon_short** (string, e.g. images/act/d53f3bd55c836e057af230e2a138e94a.png)
|
||||||
|
- **vip_level** (int, e.g. 6)
|
||||||
|
- **plus_grade** (int, e.g. 6)
|
||||||
|
- **growth_score** (int, e.g. 540)
|
||||||
|
- **user_avatar_frame** (null, e.g. None)
|
||||||
|
- **friend_relation** (int, e.g. 0)
|
||||||
|
- **level_list** (list, null)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **elo** (int, e.g. 1000)
|
||||||
|
- **remark** (string, e.g. 800-899)
|
||||||
|
- **level_id** (int, e.g. 2)
|
||||||
|
- **level_name** (string, e.g. E-)
|
||||||
|
- **elo_type** (int, e.g. 9)
|
||||||
|
- **group_id** (int, e.g. 2)
|
||||||
|
- **level_image** (string, e.g. )
|
||||||
|
- **rise_type** (int, e.g. 0)
|
||||||
|
- **shelves_status** (int, e.g. 1)
|
||||||
|
- **room_card** (dict)
|
||||||
|
- **id** (string, e.g. 310)
|
||||||
|
- **category** (string, e.g. 48)
|
||||||
|
- **describe** (string, e.g. )
|
||||||
|
- **name** (string, e.g. )
|
||||||
|
- **propTemplateId** (string, e.g. 133841)
|
||||||
|
- **getWay** (string, e.g. )
|
||||||
|
- **onShelf** (int, e.g. 0)
|
||||||
|
- **shelfAt** (string, e.g. )
|
||||||
|
- **getButton** (int, e.g. 0)
|
||||||
|
- **getUrl** (string, e.g. )
|
||||||
|
- **attrs** (dict)
|
||||||
|
- **flagAnimation** (string, e.g. )
|
||||||
|
- **flagAnimationTime** (string, e.g. )
|
||||||
|
- **flagViewUrl** (string, e.g. https://oss-arena.5eplay.com/prop/images/49/36/49365bf9f2b7fe3ac6a7ded3656e092a.png)
|
||||||
|
- **flagViewVideo** (string, e.g. )
|
||||||
|
- **flagViewVideoTime** (string, e.g. )
|
||||||
|
- **getWay** (string, e.g. 升级至PLUS1级获取)
|
||||||
|
- **mallJumpLink** (string, e.g. )
|
||||||
|
- **matchViewUrlLeft** (string, e.g. https://oss-arena.5eplay.com/prop/images/13/fd/13fdb6d3b8dfaca3e8cd4987acc45606.png)
|
||||||
|
- **matchViewUrlRight** (string, e.g. https://oss-arena.5eplay.com/prop/images/a9/da/a9da623d19cff27141cf6335507071ff.png)
|
||||||
|
- **mvpSettleAnimation** (string, e.g. https://oss-arena.5eplay.com/dress/room_card/9e2ab6983d4ed9a6d23637abd9cd2152.mp4)
|
||||||
|
- **mvpSettleColor** (string, e.g. #9f1dea)
|
||||||
|
- **mvpSettleViewAnimation** (string, e.g. https://oss-arena.5eplay.com/dress/room_card/9e2ab6983d4ed9a6d23637abd9cd2152.mp4)
|
||||||
|
- **pcImg** (string, e.g. https://oss-arena.5eplay.com/prop/images/1a/47/1a47dda552d9501004d9043f637406d5.png)
|
||||||
|
- **sort** (int, e.g. 1)
|
||||||
|
- **templateId** (int, e.g. 2029)
|
||||||
|
- **rarityLevel** (int, e.g. 3)
|
||||||
|
- **sourceId** (int, e.g. 3)
|
||||||
|
- **displayStatus** (int, e.g. 0)
|
||||||
|
- **sysType** (int, e.g. 0)
|
||||||
|
- **createdAt** (string, e.g. )
|
||||||
|
- **updatedAt** (string, e.g. )
|
||||||
|
- **round_sfui_type** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **user_stats** (dict)
|
||||||
|
- **map_level** (dict)
|
||||||
|
- **map_exp** (int, e.g. 0)
|
||||||
|
- **add_exp** (int, e.g. 0)
|
||||||
|
- **plat_level** (dict)
|
||||||
|
- **plat_level_exp** (int, e.g. 0)
|
||||||
|
- **add_exp** (int, e.g. 0)
|
||||||
|
- **group_1_team_info** (dict)
|
||||||
|
- **team_id** (string, e.g. )
|
||||||
|
- **team_name** (string, e.g. )
|
||||||
|
- **logo_url** (string, e.g. )
|
||||||
|
- **team_domain** (string, e.g. )
|
||||||
|
- **team_tag** (string, e.g. )
|
||||||
|
- **group_2_team_info** (dict)
|
||||||
|
- **team_id** (string, e.g. )
|
||||||
|
- **team_name** (string, e.g. )
|
||||||
|
- **logo_url** (string, e.g. )
|
||||||
|
- **team_domain** (string, e.g. )
|
||||||
|
- **team_tag** (string, e.g. )
|
||||||
|
- **treat_info** (dict, null)
|
||||||
|
- **user_id** (<5eid>, int, e.g. 13048069)
|
||||||
|
- **user_data** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 13048069)
|
||||||
|
- **username** (string, e.g. 熊出没之深情熊二)
|
||||||
|
- **uuid** (string, e.g. c9caad5c-a9b3-11ef-848e-506b4bfa3106)
|
||||||
|
- **email** (string, e.g. )
|
||||||
|
- **area** (string, e.g. 86)
|
||||||
|
- **mobile** (string, e.g. )
|
||||||
|
- **createdAt** (int, e.g. 1667562471)
|
||||||
|
- **updatedAt** (int, e.g. 1768911939)
|
||||||
|
- **profile** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 13048069)
|
||||||
|
- **domain** (string, e.g. 13048069yf1jto)
|
||||||
|
- **nickname** (string, e.g. )
|
||||||
|
- **avatarUrl** (string, e.g. prop/images/3d/c4/3dc4259c07c31adb2439f7acbf1e565f.png)
|
||||||
|
- **avatarAuditStatus** (int, e.g. 0)
|
||||||
|
- **rgbAvatarUrl** (string, e.g. )
|
||||||
|
- **photoUrl** (string, e.g. )
|
||||||
|
- **gender** (int, e.g. 1)
|
||||||
|
- **birthday** (int, e.g. 0)
|
||||||
|
- **countryId** (string, e.g. )
|
||||||
|
- **regionId** (string, e.g. )
|
||||||
|
- **cityId** (string, e.g. )
|
||||||
|
- **language** (string, e.g. simplified-chinese)
|
||||||
|
- **recommendUrl** (string, e.g. )
|
||||||
|
- **groupId** (int, e.g. 0)
|
||||||
|
- **regSource** (int, e.g. 4)
|
||||||
|
- **status** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 13048069)
|
||||||
|
- **status** (int, e.g. 0)
|
||||||
|
- **expire** (int, e.g. 0)
|
||||||
|
- **cancellationStatus** (int, e.g. 0)
|
||||||
|
- **newUser** (int, e.g. 0)
|
||||||
|
- **loginBannedTime** (int, e.g. 0)
|
||||||
|
- **anticheatType** (int, e.g. 0)
|
||||||
|
- **flagStatus1** (string, e.g. 128)
|
||||||
|
- **anticheatStatus** (string, e.g. 0)
|
||||||
|
- **FlagHonor** (string, e.g. 1178636)
|
||||||
|
- **PrivacyPolicyStatus** (int, e.g. 4)
|
||||||
|
- **csgoFrozenExptime** (int, e.g. 1767707372)
|
||||||
|
- **platformExp** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 13048069)
|
||||||
|
- **level** (int, e.g. 29)
|
||||||
|
- **exp** (int, e.g. 26803)
|
||||||
|
- **steam** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 13048069)
|
||||||
|
- **steamId** (<steamid>, e.g. 76561199192775594)
|
||||||
|
- **steamAccount** (string, e.g. )
|
||||||
|
- **tradeUrl** (string, e.g. )
|
||||||
|
- **rentSteamId** (string, e.g. )
|
||||||
|
- **trusted** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 13048069)
|
||||||
|
- **credit** (int, e.g. 2200)
|
||||||
|
- **creditLevel** (int, e.g. 4)
|
||||||
|
- **score** (int, e.g. 100000)
|
||||||
|
- **status** (int, e.g. 1)
|
||||||
|
- **creditStatus** (int, e.g. 1)
|
||||||
|
- **certify** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 13048069)
|
||||||
|
- **idType** (int, e.g. 0)
|
||||||
|
- **status** (int, e.g. 1)
|
||||||
|
- **age** (int, e.g. 23)
|
||||||
|
- **realName** (string, e.g. )
|
||||||
|
- **uidList** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **auditStatus** (int, e.g. 1)
|
||||||
|
- **gender** (int, e.g. 1)
|
||||||
|
- **identity** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 13048069)
|
||||||
|
- **type** (int, e.g. 0)
|
||||||
|
- **extras** (string, e.g. )
|
||||||
|
- **status** (int, e.g. 0)
|
||||||
|
- **slogan** (string, e.g. )
|
||||||
|
- **identity_list** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **slogan_ext** (string, e.g. )
|
||||||
|
- **live_url** (string, e.g. )
|
||||||
|
- **live_type** (int, e.g. 0)
|
||||||
|
- **usernameAuditStatus** (int, e.g. 1)
|
||||||
|
- **Accid** (string, e.g. 57cd6b98be64949589a6cecf7d258cd1)
|
||||||
|
- **teamID** (int, e.g. 0)
|
||||||
|
- **domain** (string, e.g. 13048069yf1jto)
|
||||||
|
- **trumpetCount** (int, e.g. 3)
|
||||||
|
- **season_type** (int, e.g. 0)
|
||||||
|
- **code** (int, e.g. 0)
|
||||||
|
- **message** (string, e.g. 操作成功)
|
||||||
|
- **status** (bool, e.g. True)
|
||||||
|
- **timestamp** (int, e.g. 1768931731)
|
||||||
|
- **ext** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **trace_id** (string, e.g. 8ae4feeb19cc4ed3a24a8a00f056d023)
|
||||||
|
- **success** (bool, e.g. True)
|
||||||
|
- **errcode** (int, e.g. 0)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Category: `crane/http/api/data/vip_plus_match_data/{match_id}`
|
||||||
|
**Total Requests**: 179
|
||||||
|
|
||||||
|
- **data** (dict)
|
||||||
|
- **<steamid>** (dict)
|
||||||
|
- **fd_ct** (int, e.g. 2)
|
||||||
|
- **fd_t** (int, e.g. 2)
|
||||||
|
- **kast** (float, int, e.g. 0.7)
|
||||||
|
- **awp_kill** (int, e.g. 2)
|
||||||
|
- **awp_kill_ct** (int, e.g. 5)
|
||||||
|
- **awp_kill_t** (int, e.g. 2)
|
||||||
|
- **damage_stats** (int, e.g. 3)
|
||||||
|
- **damage_receive** (int, e.g. 0)
|
||||||
|
- **code** (int, e.g. 0)
|
||||||
|
- **message** (string, e.g. 操作成功)
|
||||||
|
- **status** (bool, e.g. True)
|
||||||
|
- **timestamp** (int, e.g. 1768931714)
|
||||||
|
- **ext** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **trace_id** (string, e.g. cff29d5dcdd6285b80d11bbb4a8a7da0)
|
||||||
|
- **success** (bool, e.g. True)
|
||||||
|
- **errcode** (int, e.g. 0)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Category: `crane/http/api/match/leetify_rating/{match_id}`
|
||||||
|
**Total Requests**: 5
|
||||||
|
|
||||||
|
- **data** (dict)
|
||||||
|
- **leetify_data** (dict)
|
||||||
|
- **round_stat** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **round** (int, e.g. 2)
|
||||||
|
- **t_money_group** (int, e.g. 3)
|
||||||
|
- **ct_money_group** (int, e.g. 3)
|
||||||
|
- **win_reason** (int, e.g. 2)
|
||||||
|
- **bron_equipment** (dict)
|
||||||
|
- **<steamid>** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **Money** (int, e.g. 400)
|
||||||
|
- **WeaponName** (string, e.g. weapon_flashbang)
|
||||||
|
- **Weapon** (int, e.g. 22)
|
||||||
|
- **player_t_score** (dict)
|
||||||
|
- **<steamid>** (float, int, e.g. -21.459999999999997)
|
||||||
|
- **player_ct_score** (dict)
|
||||||
|
- **<steamid>** (float, int, e.g. 17.099999999999994)
|
||||||
|
- **player_bron_crash** (dict)
|
||||||
|
- **<steamid>** (int, e.g. 4200)
|
||||||
|
- **begin_ts** (string, e.g. 2026-01-18T19:57:29+08:00)
|
||||||
|
- **sfui_event** (dict)
|
||||||
|
- **sfui_type** (int, e.g. 2)
|
||||||
|
- **score_ct** (int, e.g. 2)
|
||||||
|
- **score_t** (int, e.g. 2)
|
||||||
|
- **end_ts** (string, e.g. 2026-01-18T19:54:37+08:00)
|
||||||
|
- **show_event** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **ts_real** (string, e.g. 0001-01-01T00:00:00Z)
|
||||||
|
- **ts** (int, e.g. 45)
|
||||||
|
- **t_num** (int, e.g. 2)
|
||||||
|
- **ct_num** (int, e.g. 2)
|
||||||
|
- **event_type** (int, e.g. 3)
|
||||||
|
- **kill_event** (dict, null)
|
||||||
|
- **Ts** (string, e.g. 2026-01-18T19:54:06+08:00)
|
||||||
|
- **Killer** (<steamid>, e.g. 76561199787406643)
|
||||||
|
- **Victim** (<steamid>, e.g. 76561199388433802)
|
||||||
|
- **Weapon** (int, e.g. 6)
|
||||||
|
- **KillerTeam** (int, e.g. 1)
|
||||||
|
- **KillerBot** (bool, e.g. False)
|
||||||
|
- **VictimBot** (bool, e.g. False)
|
||||||
|
- **WeaponName** (string, e.g. usp_silencer)
|
||||||
|
- **Headshot** (bool, e.g. False)
|
||||||
|
- **Penetrated** (bool, e.g. False)
|
||||||
|
- **ThroughSmoke** (bool, e.g. False)
|
||||||
|
- **NoScope** (bool, e.g. False)
|
||||||
|
- **AttackerBlind** (bool, e.g. False)
|
||||||
|
- **Attackerinair** (bool, e.g. False)
|
||||||
|
- **twin** (float, int, e.g. 0.143)
|
||||||
|
- **c_twin** (float, int, e.g. 0.44299999999999995)
|
||||||
|
- **twin_change** (float, int, e.g. -0.21600000000000003)
|
||||||
|
- **c_twin_change** (float, int, e.g. 0.21600000000000003)
|
||||||
|
- **killer_score_change** (dict, null)
|
||||||
|
- **<steamid>** (dict)
|
||||||
|
- **score** (float, int, e.g. 17.099999999999994)
|
||||||
|
- **victim_score_change** (dict, null)
|
||||||
|
- **<steamid>** (dict)
|
||||||
|
- **score** (float, int, e.g. -15.8)
|
||||||
|
- **assist_killer_score_change** (dict, null)
|
||||||
|
- **<steamid>** (dict)
|
||||||
|
- **score** (float, e.g. 2.592)
|
||||||
|
- **trade_score_change** (dict, null)
|
||||||
|
- **<steamid>** (dict)
|
||||||
|
- **score** (float, e.g. 2.2100000000000004)
|
||||||
|
- **flash_assist_killer_score_change** (dict, null)
|
||||||
|
- **<steamid>** (dict)
|
||||||
|
- **score** (float, e.g. 1.1520000000000001)
|
||||||
|
- **protect_gun_player_score_change** (dict, null)
|
||||||
|
- **<steamid>** (dict)
|
||||||
|
- **score** (float, e.g. 5.8999999999999995)
|
||||||
|
- **protect_gun_enemy_score_change** (dict, null)
|
||||||
|
- **<steamid>** (dict)
|
||||||
|
- **score** (float, e.g. -1.18)
|
||||||
|
- **disconnect_player_score_change** (null, e.g. None)
|
||||||
|
- **disconnect_comp_score_change** (null, e.g. None)
|
||||||
|
- **round_end_fixed_score_change** (dict, null)
|
||||||
|
- **<steamid>** (dict)
|
||||||
|
- **score** (float, int, e.g. 20)
|
||||||
|
- **win_reason** (int, e.g. 2)
|
||||||
|
- **side_info** (dict)
|
||||||
|
- **ct** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **t** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **player_scores** (dict)
|
||||||
|
- **<steamid>** (float, e.g. 12.491187500000002)
|
||||||
|
- **player_t_scores** (dict)
|
||||||
|
- **<steamid>** (float, e.g. 19.06)
|
||||||
|
- **player_ct_scores** (dict)
|
||||||
|
- **<steamid>** (float, e.g. -0.009666666666665455)
|
||||||
|
- **round_total** (int, e.g. 18)
|
||||||
|
- **player_round_scores** (dict)
|
||||||
|
- **<steamid>** (dict)
|
||||||
|
- **<round_n>** (float, int, e.g. 32.347)
|
||||||
|
- **uinfo_dict** (dict)
|
||||||
|
- **<steamid>** (dict)
|
||||||
|
- **uid** (<5eid>, int, e.g. 14889445)
|
||||||
|
- **uuid** (string, e.g. 13f7dc52-ea7c-11ed-9ce2-ec0d9a495494)
|
||||||
|
- **username** (string, e.g. 刚拉)
|
||||||
|
- **nickname** (string, e.g. )
|
||||||
|
- **reg_date** (int, e.g. 1683007881)
|
||||||
|
- **username_spam_status** (int, e.g. 1)
|
||||||
|
- **steamid_64** (<steamid>, e.g. 76561199032002725)
|
||||||
|
- **avatar_url** (string, e.g. disguise/images/6f/89/6f89b22633cb95df1754fd30573c5ad6.png)
|
||||||
|
- **gender** (int, e.g. 1)
|
||||||
|
- **country_id** (string, e.g. )
|
||||||
|
- **language** (string, e.g. )
|
||||||
|
- **domain** (string, e.g. rrrtina)
|
||||||
|
- **credit** (int, e.g. 0)
|
||||||
|
- **trusted_score** (int, e.g. 0)
|
||||||
|
- **trusted_status** (int, e.g. 0)
|
||||||
|
- **plus_info** (null, e.g. None)
|
||||||
|
- **region** (int, e.g. 0)
|
||||||
|
- **province** (int, e.g. 0)
|
||||||
|
- **province_name** (string, e.g. )
|
||||||
|
- **region_name** (string, e.g. )
|
||||||
|
- **college_id** (int, e.g. 0)
|
||||||
|
- **status** (int, e.g. 0)
|
||||||
|
- **identity** (null, e.g. None)
|
||||||
|
- **code** (int, e.g. 0)
|
||||||
|
- **message** (string, e.g. 操作成功)
|
||||||
|
- **status** (bool, e.g. True)
|
||||||
|
- **timestamp** (int, e.g. 1768833830)
|
||||||
|
- **ext** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **trace_id** (string, e.g. 376e200283d19770bdef6dacf260f40f)
|
||||||
|
- **success** (bool, e.g. True)
|
||||||
|
- **errcode** (int, e.g. 0)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Category: `crane/http/api/match/round/{match_id}`
|
||||||
|
**Total Requests**: 174
|
||||||
|
|
||||||
|
- **data** (dict)
|
||||||
|
- **round_list** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **all_kill** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **attacker** (dict)
|
||||||
|
- **name** (string, e.g. 5E-Player 我有必胜卡组)
|
||||||
|
- **pos** (dict)
|
||||||
|
- **x** (int, e.g. 734)
|
||||||
|
- **y** (int, e.g. 125)
|
||||||
|
- **z** (int, e.g. 0)
|
||||||
|
- **steamid_64** (<steamid>, e.g. 76561198330488905)
|
||||||
|
- **team** (int, e.g. 1)
|
||||||
|
- **attackerblind** (bool, e.g. False)
|
||||||
|
- **headshot** (bool, e.g. False)
|
||||||
|
- **noscope** (bool, e.g. False)
|
||||||
|
- **pasttime** (int, e.g. 45)
|
||||||
|
- **penetrated** (bool, e.g. False)
|
||||||
|
- **throughsmoke** (bool, e.g. False)
|
||||||
|
- **victim** (dict)
|
||||||
|
- **name** (<5eid>, string, e.g. 5E-Player 青青C原懒大王w)
|
||||||
|
- **pos** (dict)
|
||||||
|
- **x** (int, e.g. 1218)
|
||||||
|
- **y** (int, e.g. 627)
|
||||||
|
- **z** (int, e.g. 0)
|
||||||
|
- **steamid_64** (<steamid>, string, e.g. 76561199482118960)
|
||||||
|
- **team** (int, e.g. 1)
|
||||||
|
- **weapon** (string, e.g. usp_silencer)
|
||||||
|
- **kill** (dict)
|
||||||
|
- **<steamid>** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **attacker** (dict)
|
||||||
|
- **name** (string, e.g. 5E-Player 我有必胜卡组)
|
||||||
|
- **pos** (dict)
|
||||||
|
- **x** (int, e.g. 734)
|
||||||
|
- **y** (int, e.g. 149)
|
||||||
|
- **z** (int, e.g. 0)
|
||||||
|
- **steamid_64** (<steamid>, e.g. 76561198330488905)
|
||||||
|
- **team** (int, e.g. 1)
|
||||||
|
- **attackerblind** (bool, e.g. False)
|
||||||
|
- **headshot** (bool, e.g. False)
|
||||||
|
- **noscope** (bool, e.g. False)
|
||||||
|
- **pasttime** (int, e.g. 24)
|
||||||
|
- **penetrated** (bool, e.g. False)
|
||||||
|
- **throughsmoke** (bool, e.g. False)
|
||||||
|
- **victim** (dict)
|
||||||
|
- **name** (<5eid>, string, e.g. 5E-Player 青青C原懒大王w)
|
||||||
|
- **pos** (dict)
|
||||||
|
- **x** (int, e.g. 1218)
|
||||||
|
- **y** (int, e.g. 627)
|
||||||
|
- **z** (int, e.g. 0)
|
||||||
|
- **steamid_64** (<steamid>, string, e.g. 76561198812383596)
|
||||||
|
- **team** (int, e.g. 1)
|
||||||
|
- **weapon** (string, e.g. usp_silencer)
|
||||||
|
- **c4_event** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **event_name** (string, e.g. planted_c4)
|
||||||
|
- **location** (string, e.g. )
|
||||||
|
- **name** (string, e.g. 5E-Player 我有必胜卡组)
|
||||||
|
- **pasttime** (int, e.g. 45)
|
||||||
|
- **steamid_64** (<steamid>, e.g. 76561198330488905)
|
||||||
|
- **current_score** (dict)
|
||||||
|
- **ct** (int, e.g. 2)
|
||||||
|
- **final_round_time** (int, e.g. 68)
|
||||||
|
- **pasttime** (int, e.g. 57)
|
||||||
|
- **t** (int, e.g. 2)
|
||||||
|
- **type** (int, e.g. 2)
|
||||||
|
- **death_list** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **equiped** (dict)
|
||||||
|
- **<steamid>** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **round_kill_event** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **weapon_list** (dict)
|
||||||
|
- **defuser** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **item** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **main_weapon** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **other_item** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **secondary_weapon** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **code** (int, e.g. 0)
|
||||||
|
- **message** (string, e.g. 操作成功)
|
||||||
|
- **status** (bool, e.g. True)
|
||||||
|
- **timestamp** (int, e.g. 1768931714)
|
||||||
|
- **ext** (list)
|
||||||
|
- *[Array Items]*
|
||||||
|
- **trace_id** (string, e.g. c2ee4f45abd89f1c90dc1cc390d21d33)
|
||||||
|
- **success** (bool, e.g. True)
|
||||||
|
- **errcode** (int, e.g. 0)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
0
utils/__init__.py
Normal file
0
utils/__init__.py
Normal file
101
utils/json_extractor/analyze_structure.py
Normal file
101
utils/json_extractor/analyze_structure.py
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
import json
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
from collections import defaultdict
|
||||||
|
|
||||||
|
def analyze_structures(root_dir):
|
||||||
|
p = Path(root_dir)
|
||||||
|
files = list(p.rglob("iframe_network.json"))
|
||||||
|
|
||||||
|
fight_keys = set()
|
||||||
|
fight_t_keys = set()
|
||||||
|
fight_ct_keys = set()
|
||||||
|
|
||||||
|
file_categories = defaultdict(set)
|
||||||
|
|
||||||
|
for filepath in files:
|
||||||
|
try:
|
||||||
|
with open(filepath, 'r', encoding='utf-8') as f:
|
||||||
|
data = json.load(f)
|
||||||
|
except:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if not isinstance(data, list):
|
||||||
|
continue
|
||||||
|
|
||||||
|
has_round = False
|
||||||
|
has_leetify = False
|
||||||
|
|
||||||
|
for entry in data:
|
||||||
|
url = entry.get('url', '')
|
||||||
|
body = entry.get('body')
|
||||||
|
|
||||||
|
if "api/match/round/" in url:
|
||||||
|
has_round = True
|
||||||
|
if "api/match/leetify_rating/" in url:
|
||||||
|
has_leetify = True
|
||||||
|
|
||||||
|
# Check for fight structures in data/match
|
||||||
|
if "api/data/match/" in url and isinstance(body, dict):
|
||||||
|
main_data = body.get('data', {})
|
||||||
|
if isinstance(main_data, dict):
|
||||||
|
# Check group_N -> items -> fight/fight_t/fight_ct
|
||||||
|
for k, v in main_data.items():
|
||||||
|
if k.startswith('group_') and isinstance(v, list):
|
||||||
|
for player in v:
|
||||||
|
if isinstance(player, dict):
|
||||||
|
if 'fight' in player and isinstance(player['fight'], dict):
|
||||||
|
fight_keys.update(player['fight'].keys())
|
||||||
|
if 'fight_t' in player and isinstance(player['fight_t'], dict):
|
||||||
|
fight_t_keys.update(player['fight_t'].keys())
|
||||||
|
if 'fight_ct' in player and isinstance(player['fight_ct'], dict):
|
||||||
|
fight_ct_keys.update(player['fight_ct'].keys())
|
||||||
|
|
||||||
|
if has_round:
|
||||||
|
file_categories['round_only'].add(str(filepath))
|
||||||
|
if has_leetify:
|
||||||
|
file_categories['leetify_only'].add(str(filepath))
|
||||||
|
if has_round and has_leetify:
|
||||||
|
file_categories['both'].add(str(filepath))
|
||||||
|
|
||||||
|
print("Structure Analysis Results:")
|
||||||
|
print("-" * 30)
|
||||||
|
print(f"Files with Round API: {len(file_categories['round_only'])}")
|
||||||
|
print(f"Files with Leetify API: {len(file_categories['leetify_only'])}")
|
||||||
|
print(f"Files with BOTH: {len(file_categories['both'])}")
|
||||||
|
|
||||||
|
# Calculate intersections for files
|
||||||
|
round_files = file_categories['round_only']
|
||||||
|
leetify_files = file_categories['leetify_only']
|
||||||
|
intersection = round_files.intersection(leetify_files) # This should be same as 'both' logic above if set correctly, but let's be explicit
|
||||||
|
# Actually my logic above adds to sets independently.
|
||||||
|
|
||||||
|
only_round = round_files - leetify_files
|
||||||
|
only_leetify = leetify_files - round_files
|
||||||
|
both = round_files.intersection(leetify_files)
|
||||||
|
|
||||||
|
print(f"Files with ONLY Round: {len(only_round)}")
|
||||||
|
print(f"Files with ONLY Leetify: {len(only_leetify)}")
|
||||||
|
print(f"Files with BOTH: {len(both)}")
|
||||||
|
|
||||||
|
print("\nFight Structure Analysis:")
|
||||||
|
print("-" * 30)
|
||||||
|
print(f"Fight keys count: {len(fight_keys)}")
|
||||||
|
print(f"Fight_T keys count: {len(fight_t_keys)}")
|
||||||
|
print(f"Fight_CT keys count: {len(fight_ct_keys)}")
|
||||||
|
|
||||||
|
all_keys = fight_keys | fight_t_keys | fight_ct_keys
|
||||||
|
|
||||||
|
missing_in_fight = all_keys - fight_keys
|
||||||
|
missing_in_t = all_keys - fight_t_keys
|
||||||
|
missing_in_ct = all_keys - fight_ct_keys
|
||||||
|
|
||||||
|
if not missing_in_fight and not missing_in_t and not missing_in_ct:
|
||||||
|
print("PERFECT MATCH: fight, fight_t, and fight_ct have identical keys.")
|
||||||
|
else:
|
||||||
|
if missing_in_fight: print(f"Keys missing in 'fight': {missing_in_fight}")
|
||||||
|
if missing_in_t: print(f"Keys missing in 'fight_t': {missing_in_t}")
|
||||||
|
if missing_in_ct: print(f"Keys missing in 'fight_ct': {missing_in_ct}")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
analyze_structures("output_arena")
|
||||||
243
utils/json_extractor/extractor.py
Normal file
243
utils/json_extractor/extractor.py
Normal file
@@ -0,0 +1,243 @@
|
|||||||
|
import json
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
from urllib.parse import urlparse
|
||||||
|
from collections import defaultdict
|
||||||
|
from .rules import is_ignored_url, get_key_mask, get_value_type
|
||||||
|
|
||||||
|
class SchemaExtractor:
|
||||||
|
def __init__(self):
|
||||||
|
# schemas: category -> schema_node
|
||||||
|
self.schemas = {}
|
||||||
|
self.url_counts = defaultdict(int)
|
||||||
|
|
||||||
|
def get_url_category(self, url):
|
||||||
|
"""
|
||||||
|
Derives a category name from the URL.
|
||||||
|
"""
|
||||||
|
parsed = urlparse(url)
|
||||||
|
path = parsed.path
|
||||||
|
parts = path.strip('/').split('/')
|
||||||
|
cleaned_parts = []
|
||||||
|
for p in parts:
|
||||||
|
# Mask Match IDs (e.g., g161-...)
|
||||||
|
if p.startswith('g161-'):
|
||||||
|
cleaned_parts.append('{match_id}')
|
||||||
|
# Mask other long numeric IDs
|
||||||
|
elif p.isdigit() and len(p) > 4:
|
||||||
|
cleaned_parts.append('{id}')
|
||||||
|
else:
|
||||||
|
cleaned_parts.append(p)
|
||||||
|
|
||||||
|
category = "/".join(cleaned_parts)
|
||||||
|
if not category:
|
||||||
|
category = "root"
|
||||||
|
return category
|
||||||
|
|
||||||
|
def process_directory(self, root_dir):
|
||||||
|
"""
|
||||||
|
Iterates over all iframe_network.json files in the directory.
|
||||||
|
"""
|
||||||
|
p = Path(root_dir)
|
||||||
|
# Use rglob to find all iframe_network.json files
|
||||||
|
files = list(p.rglob("iframe_network.json"))
|
||||||
|
print(f"Found {len(files)} files to process.")
|
||||||
|
|
||||||
|
for i, filepath in enumerate(files):
|
||||||
|
if i % 10 == 0:
|
||||||
|
print(f"Processing {i}/{len(files)}: {filepath}")
|
||||||
|
self.process_file(filepath)
|
||||||
|
|
||||||
|
def process_file(self, filepath):
|
||||||
|
try:
|
||||||
|
with open(filepath, 'r', encoding='utf-8') as f:
|
||||||
|
data = json.load(f)
|
||||||
|
except Exception as e:
|
||||||
|
# print(f"Error reading {filepath}: {e}")
|
||||||
|
return
|
||||||
|
|
||||||
|
if not isinstance(data, list):
|
||||||
|
return
|
||||||
|
|
||||||
|
for entry in data:
|
||||||
|
url = entry.get('url', '')
|
||||||
|
if not url or is_ignored_url(url):
|
||||||
|
continue
|
||||||
|
|
||||||
|
status = entry.get('status')
|
||||||
|
if status != 200:
|
||||||
|
continue
|
||||||
|
|
||||||
|
body = entry.get('body')
|
||||||
|
# Skip empty bodies or bodies that are just empty dicts if that's not useful
|
||||||
|
if not body:
|
||||||
|
continue
|
||||||
|
|
||||||
|
category = self.get_url_category(url)
|
||||||
|
self.url_counts[category] += 1
|
||||||
|
|
||||||
|
if category not in self.schemas:
|
||||||
|
self.schemas[category] = None
|
||||||
|
|
||||||
|
self.schemas[category] = self.merge_value(self.schemas[category], body)
|
||||||
|
|
||||||
|
def merge_value(self, schema, value):
|
||||||
|
"""
|
||||||
|
Merges a value into the existing schema.
|
||||||
|
"""
|
||||||
|
val_type = get_value_type(value)
|
||||||
|
|
||||||
|
if schema is None:
|
||||||
|
schema = {
|
||||||
|
"types": {val_type},
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
schema["count"] += 1
|
||||||
|
schema["types"].add(val_type)
|
||||||
|
|
||||||
|
# Handle Dicts
|
||||||
|
if isinstance(value, dict):
|
||||||
|
if "properties" not in schema:
|
||||||
|
schema["properties"] = {}
|
||||||
|
|
||||||
|
for k, v in value.items():
|
||||||
|
masked_key = get_key_mask(k)
|
||||||
|
schema["properties"][masked_key] = self.merge_value(
|
||||||
|
schema["properties"].get(masked_key),
|
||||||
|
v
|
||||||
|
)
|
||||||
|
|
||||||
|
# Handle Lists
|
||||||
|
elif isinstance(value, list):
|
||||||
|
if "items" not in schema:
|
||||||
|
schema["items"] = None
|
||||||
|
|
||||||
|
for item in value:
|
||||||
|
schema["items"] = self.merge_value(schema["items"], item)
|
||||||
|
|
||||||
|
# Handle Primitives (Capture examples if needed, currently just tracking types)
|
||||||
|
else:
|
||||||
|
if "examples" not in schema:
|
||||||
|
schema["examples"] = set()
|
||||||
|
if len(schema["examples"]) < 5:
|
||||||
|
# Store string representation to avoid type issues in set
|
||||||
|
schema["examples"].add(str(value))
|
||||||
|
|
||||||
|
return schema
|
||||||
|
|
||||||
|
def to_serializable(self, schema):
|
||||||
|
"""
|
||||||
|
Converts the internal schema structure (with sets) to a JSON-serializable format.
|
||||||
|
"""
|
||||||
|
if schema is None:
|
||||||
|
return None
|
||||||
|
|
||||||
|
res = {
|
||||||
|
"types": list(sorted(schema["types"])),
|
||||||
|
"count": schema["count"]
|
||||||
|
}
|
||||||
|
|
||||||
|
if "properties" in schema:
|
||||||
|
res["properties"] = {
|
||||||
|
k: self.to_serializable(v)
|
||||||
|
for k, v in sorted(schema["properties"].items())
|
||||||
|
}
|
||||||
|
|
||||||
|
if "items" in schema:
|
||||||
|
res["items"] = self.to_serializable(schema["items"])
|
||||||
|
|
||||||
|
if "examples" in schema:
|
||||||
|
res["examples"] = list(sorted(schema["examples"]))
|
||||||
|
|
||||||
|
return res
|
||||||
|
|
||||||
|
def export_report(self, output_path):
|
||||||
|
report = {}
|
||||||
|
for category, schema in self.schemas.items():
|
||||||
|
report[category] = self.to_serializable(schema)
|
||||||
|
|
||||||
|
with open(output_path, 'w', encoding='utf-8') as f:
|
||||||
|
json.dump(report, f, indent=2, ensure_ascii=False)
|
||||||
|
print(f"Report saved to {output_path}")
|
||||||
|
|
||||||
|
def export_markdown_summary(self, output_path):
|
||||||
|
"""
|
||||||
|
Generates a Markdown summary of the hierarchy.
|
||||||
|
"""
|
||||||
|
with open(output_path, 'w', encoding='utf-8') as f:
|
||||||
|
f.write("# Schema Hierarchy Report\n\n")
|
||||||
|
|
||||||
|
for category, schema in sorted(self.schemas.items()):
|
||||||
|
f.write(f"## Category: `{category}`\n")
|
||||||
|
f.write(f"**Total Requests**: {self.url_counts[category]}\n\n")
|
||||||
|
|
||||||
|
self._write_markdown_schema(f, schema, level=0)
|
||||||
|
f.write("\n---\n\n")
|
||||||
|
print(f"Markdown summary saved to {output_path}")
|
||||||
|
|
||||||
|
def export_csv_summary(self, output_path):
|
||||||
|
"""
|
||||||
|
Generates a CSV summary of the flattened schema.
|
||||||
|
"""
|
||||||
|
import csv
|
||||||
|
with open(output_path, 'w', encoding='utf-8', newline='') as f:
|
||||||
|
writer = csv.writer(f)
|
||||||
|
writer.writerow(["Category", "Path", "Types", "Examples"])
|
||||||
|
|
||||||
|
for category, schema in sorted(self.schemas.items()):
|
||||||
|
self._write_csv_schema(writer, category, schema, path="")
|
||||||
|
print(f"CSV summary saved to {output_path}")
|
||||||
|
|
||||||
|
def _write_csv_schema(self, writer, category, schema, path):
|
||||||
|
if schema is None:
|
||||||
|
return
|
||||||
|
|
||||||
|
current_types = list(sorted(schema["types"]))
|
||||||
|
type_str = ", ".join(map(str, current_types))
|
||||||
|
|
||||||
|
# If it's a leaf or has no properties/items
|
||||||
|
is_leaf = "properties" not in schema and "items" not in schema
|
||||||
|
|
||||||
|
if is_leaf:
|
||||||
|
examples = list(schema.get("examples", []))
|
||||||
|
ex_str = "; ".join(examples[:3]) if examples else ""
|
||||||
|
writer.writerow([category, path, type_str, ex_str])
|
||||||
|
|
||||||
|
if "properties" in schema:
|
||||||
|
for k, v in schema["properties"].items():
|
||||||
|
new_path = f"{path}.{k}" if path else k
|
||||||
|
self._write_csv_schema(writer, category, v, new_path)
|
||||||
|
|
||||||
|
if "items" in schema:
|
||||||
|
new_path = f"{path}[]"
|
||||||
|
self._write_csv_schema(writer, category, schema["items"], new_path)
|
||||||
|
|
||||||
|
def _write_markdown_schema(self, f, schema, level=0):
|
||||||
|
if schema is None:
|
||||||
|
return
|
||||||
|
|
||||||
|
indent = " " * level
|
||||||
|
types = schema["types"]
|
||||||
|
type_str = ", ".join([str(t) for t in types])
|
||||||
|
|
||||||
|
# If it's a leaf (no props, no items)
|
||||||
|
if "properties" not in schema and "items" not in schema:
|
||||||
|
# Show examples
|
||||||
|
examples = schema.get("examples", [])
|
||||||
|
ex_str = f" (e.g., {', '.join(list(examples)[:3])})" if examples else ""
|
||||||
|
return # We handle leaf printing in the parent loop for keys, or here if it's a root/list item
|
||||||
|
|
||||||
|
if "properties" in schema:
|
||||||
|
for k, v in schema["properties"].items():
|
||||||
|
v_types = ", ".join(list(sorted(v["types"])))
|
||||||
|
v_ex = list(v.get("examples", []))
|
||||||
|
v_ex_str = f", e.g. {v_ex[0]}" if v_ex and "dict" not in v["types"] and "list" not in v["types"] else ""
|
||||||
|
|
||||||
|
f.write(f"{indent}- **{k}** ({v_types}{v_ex_str})\n")
|
||||||
|
self._write_markdown_schema(f, v, level + 1)
|
||||||
|
|
||||||
|
if "items" in schema:
|
||||||
|
f.write(f"{indent}- *[Array Items]*\n")
|
||||||
|
self._write_markdown_schema(f, schema["items"], level + 1)
|
||||||
|
|
||||||
35
utils/json_extractor/main.py
Normal file
35
utils/json_extractor/main.py
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
import sys
|
||||||
|
import os
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
# Add project root to path so we can import utils.json_extractor
|
||||||
|
current_dir = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
project_root = os.path.dirname(os.path.dirname(current_dir))
|
||||||
|
sys.path.append(project_root)
|
||||||
|
|
||||||
|
from utils.json_extractor.extractor import SchemaExtractor
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(description="Extract JSON schema from 5E Arena data.")
|
||||||
|
parser.add_argument("--input", default="output_arena", help="Input directory containing iframe_network.json files")
|
||||||
|
parser.add_argument("--output-json", default="output_reports/schema_full.json", help="Output JSON report path")
|
||||||
|
parser.add_argument("--output-md", default="output_reports/schema_summary.md", help="Output Markdown summary path")
|
||||||
|
parser.add_argument("--output-csv", default="output_reports/schema_flat.csv", help="Output CSV flat report path")
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
print(f"Starting extraction from {args.input}...")
|
||||||
|
extractor = SchemaExtractor()
|
||||||
|
extractor.process_directory(args.input)
|
||||||
|
|
||||||
|
# Ensure output directory exists
|
||||||
|
os.makedirs(os.path.dirname(args.output_json), exist_ok=True)
|
||||||
|
os.makedirs(os.path.dirname(args.output_md), exist_ok=True)
|
||||||
|
|
||||||
|
extractor.export_report(args.output_json)
|
||||||
|
extractor.export_markdown_summary(args.output_md)
|
||||||
|
extractor.export_csv_summary(args.output_csv)
|
||||||
|
print("Done.")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
81
utils/json_extractor/rules.py
Normal file
81
utils/json_extractor/rules.py
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
import re
|
||||||
|
|
||||||
|
# Regex patterns for masking sensitive/dynamic data
|
||||||
|
STEAMID_REGEX = re.compile(r"^7656\d+$")
|
||||||
|
FIVE_E_ID_REGEX = re.compile(r"^1\d{7}$") # 1 followed by 7 digits (8 digits total)
|
||||||
|
|
||||||
|
# Group merging
|
||||||
|
GROUP_KEY_REGEX = re.compile(r"^group_\d+$")
|
||||||
|
|
||||||
|
# URL Exclusion patterns
|
||||||
|
# We skip these URLs as they are analytics/auth related and not data payload
|
||||||
|
IGNORE_URL_PATTERNS = [
|
||||||
|
r"sentry_key=",
|
||||||
|
r"gate\.5eplay\.com/blacklistfront",
|
||||||
|
r"favicon\.ico",
|
||||||
|
]
|
||||||
|
|
||||||
|
# URL Inclusion/Interest patterns (Optional, if we want to be strict)
|
||||||
|
# INTEREST_URL_PATTERNS = [
|
||||||
|
# r"api/data/match",
|
||||||
|
# r"leetify",
|
||||||
|
# ]
|
||||||
|
|
||||||
|
def is_ignored_url(url):
|
||||||
|
for pattern in IGNORE_URL_PATTERNS:
|
||||||
|
if re.search(pattern, url):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def get_key_mask(key):
|
||||||
|
"""
|
||||||
|
Returns a masked key name if it matches a pattern (e.g. group_1 -> group_N).
|
||||||
|
Otherwise returns the key itself.
|
||||||
|
"""
|
||||||
|
if GROUP_KEY_REGEX.match(key):
|
||||||
|
return "group_N"
|
||||||
|
if STEAMID_REGEX.match(key):
|
||||||
|
return "<steamid>"
|
||||||
|
if FIVE_E_ID_REGEX.match(key):
|
||||||
|
return "<5eid>"
|
||||||
|
|
||||||
|
# Merge fight variants
|
||||||
|
if key in ["fight", "fight_t", "fight_ct"]:
|
||||||
|
return "fight_any"
|
||||||
|
|
||||||
|
# Merge numeric keys (likely round numbers)
|
||||||
|
if key.isdigit():
|
||||||
|
return "<round_n>"
|
||||||
|
|
||||||
|
return key
|
||||||
|
|
||||||
|
def get_value_type(value):
|
||||||
|
"""
|
||||||
|
Returns a generalized type string for a value, masking IDs.
|
||||||
|
"""
|
||||||
|
if value is None:
|
||||||
|
return "null"
|
||||||
|
if isinstance(value, bool):
|
||||||
|
return "bool"
|
||||||
|
if isinstance(value, int):
|
||||||
|
# Check for IDs
|
||||||
|
s_val = str(value)
|
||||||
|
if FIVE_E_ID_REGEX.match(s_val):
|
||||||
|
return "<5eid>"
|
||||||
|
if STEAMID_REGEX.match(s_val):
|
||||||
|
return "<steamid>"
|
||||||
|
return "int"
|
||||||
|
if isinstance(value, float):
|
||||||
|
return "float"
|
||||||
|
if isinstance(value, str):
|
||||||
|
if FIVE_E_ID_REGEX.match(value):
|
||||||
|
return "<5eid>"
|
||||||
|
if STEAMID_REGEX.match(value):
|
||||||
|
return "<steamid>"
|
||||||
|
# Heuristic for other IDs or timestamps could go here
|
||||||
|
return "string"
|
||||||
|
if isinstance(value, list):
|
||||||
|
return "list"
|
||||||
|
if isinstance(value, dict):
|
||||||
|
return "dict"
|
||||||
|
return "unknown"
|
||||||
Reference in New Issue
Block a user