Changes

Jump to navigation Jump to search

Splatoon 2/Telemetry

17,120 bytes added, 17:26, 17 November 2018
oooops i forgot one
{{WIP}}
 
'''This page may be incomplete, as some areas may be very hard/near impossible to analyze.'''
== Play Reports/SplatNet2 ==
'''TODO:'''
 
Investigate Splatfest data
 
Investigate Turf War and Salmon Run matches with friends
 
Investigate how some events are triggered
 
More static analysis (especially on the newer events)
 
Better descriptions
 
Investigate X Rank data
 
Document "helper" functions that prepend some data to certain events
 
 
The data for this section was obtained on 4.1.0, with some 3.1.0 elements because of its inclusion of function names.
! Event ID !! Function Name !! Dumped !! Very Incomplete !! Obfuscated !! Trigger !! Notes
|-
| N/A || Cmn::PlayReport::prepareAndGetPlayReport || ✔ || 🞬 || 🞬 || N/A || This is prepended to every event unless otherwise noted|-| N/A || Cmn::PlayReport::addVersusCommonKeyValueImpl_ || ✔ || 🞬 || 🞬 || N/A || This is prepended to certain events|-| boot_ch_event || sub_7101242EFC || 🞬 || ✔ || ✔ || Boot || Appears to upload some hashes.(Anti-cheat?)|-| boot_event2 || Cmn::PlayReport::saveBootEventMain_ || ✔ || 🞬 || 🞬 || Boot || Uploads a lot of information, including settings, character, and versus statistics|-| boot_mission_detail_event || Cmn::PlayReport::saveBootEventMission_ || ✔ || 🞬 || 🞬 || Boot || Uploads mission information, such as completed levels and collectibles|-| coop_ch_event || sub_7100DC6ECC || 🞬 || ✔ || ✔ || Unknown || |-| coop_online_result_event || Game::Coop::ResultPlayReport::save || ✔ || 🞬 || 🞬 || Salmon Run results || Uploads various Salmon Run match statistics, such as rank and map|-| invalid_connection_player || sub_710116AF60 || ✔ || ✔ || 🞬 || Unknown || Possibly caused by connection errors|-| invalid_setting_event || sub_7100255370 || 🞬 || ✔ || 🞬 || Unknown || |-| match_coop_finish_event2 || Game::Coop::ResultPlayReport::save || ✔ || ✔ || 🞬 || Salmon Run results || Uploads more Salmon Run match statistics, such as eggs collected and difficulty|-| match_vs_finish_event2 || Cnet::VersusMatchmakeExe::onSendPlayReportMatchEnd || ✔ || 🞬 || 🞬 || Versus results || |-| mission_octa_stage_result_event || Game::SeqMgrMissionOcta::doPlayReport_ || ✔ || 🞬 || 🞬 || Octo Expansion station results || Uploads Octo Expansion station completion statistics, such as money, completion time, and station ID|-| mission_stage_result_event || Game::SeqMgrMission::doPlayPeport_ || ✔ || 🞬 || 🞬 || Octo Canyon stage results || Uploads Octo Canyon stage completion statistics, such as power eggs, weapon used, and upgrades|-| runtime_undisplayed_error || Cmn::SaveDataVss::UdemaeX::validate || 🞬 || ✔ || 🞬 || Unknown || |-| runtime_undisplayed_error || Cnet::Utl::tryGetNetworkServiceAccount || 🞬 || ✔ || 🞬 || Unknown || |-| runtime_undisplayed_error || Game::OnlineVersusResultExe::stateUploadXPower || 🞬 || ✔ || 🞬 || Unknown || |-| versus_ch_event || sub_7100DC6BE4 || 🞬 || ✔ || ✔ || Unknown || |-| versus_death_event2 || Game::SeqMgrVersus::savePlayReportDeathEvent_ || ✔ || 🞬 || 🞬 || Versus player death || Unknown if this only affects the current player or uploads data from other players|-| versus_other_event || sub_710117F144 || ✔ || 🞬 || 🞬 || Versus results || Uploads various match information about other players, such as score and MMR|-| versus_result_event2 || Game::SeqVersusResult::savePlayReport_ || ✔ || 🞬 || 🞬 || Versus results || Uploads various match information, such as current gear and score|} === boot_ch_event ==={| class="wikitable"! Name !! Type !! Description|-| ch0 || utf8 || Appears to be a half SHA256 hash, like mem_identity_check|-| ch1 || utf8 || Appears to be a half SHA256 hash, like mem_identity_check|-| ch2 || utf8 || Appears to be a half SHA256 hash, like mem_identity_check|-| ch3 || utf8 || Appears to be a half SHA256 hash, like mem_identity_check|-| ch4 || utf8 || Appears to be a half SHA256 hash, like mem_identity_check|} === boot_event2 ==={| class="wikitable"! Name !! Type !! Description|-| player_model_type || int || Player gender|-| player_model_hair || int || Player hair|-| player_model_bottom || int || Player pants|-| player_model_skin_color || int || Player skin color|-| player_model_eye_color || int || Player eye color|-| ctrl_option_tv_style_cam_speed_stick || float || TV/Tabletop stick sensitivity|-| ctrl_option_tv_style_cam_speed_gyro || float || TV/Tabletop gyro sensitivity|-| ctrl_option_tv_style_is_enable_gyro || bool || TV/Tabletop gyro or stick|-| ctrl_option_tv_style_is_reverse_ud || bool || TV/Tabletop vertically reversed|-| ctrl_option_tv_style_is_reverse_lr || bool || TV/Tabletop horizontally reversed|-| ctrl_option_hh_style_cam_speed_stick || float || Handheld stick sensitivity|-| ctrl_option_hh_style_cam_speed_gyro || float || Handheld gyro sensitivity|-| ctrl_option_hh_style_is_enable_gyro || bool || Handheld gyro or stick|-| ctrl_option_hh_style_is_reverse_ud || bool || Handheld vertically reversed|-| ctrl_option_hh_style_is_reverse_lr || bool || Handheld horizontally reversed|-| online_play_penalty_penalty_count || int || Number of online penalties|-| online_play_penalty_penalty_point || int || Online penalty severity|-| time_location_for_seq || utf8 || Time zone|-| money || int || |-| turban_shell || int || Super Sea Snails|-| is_enable_color_support || bool || Color Lock|-| is_disable_coconut || bool || Plaza drawings disabled|-| i_nu || array || ???|-| player_rank || int || Level|-| star_rank || int || Stars|-| udemae_cVar || int || Splat Zones rank|-| udemae_cVlf || int || Tower Control rank|-| udemae_cVgl || int || Rainmaker rank|-| udemae_cVcl || int || Clam Blitz rank|-| mmr_cRegular || float || Turf War MMR/power|-| mmr_cGachi_cVar || float || Splat Zones MMR/power|-| mmr_cGachi_cVlf || float || Tower Control MMR/power|-| mmr_cGachi_cVgl || float || Rainmaker MMR/power|-| mmr_cGachi_cVcl || float || Clam Blitz MMR/power|-| xmmr_cGachi_cVar || float || Splat Zones X Power|-| xmmr_cGachi_cVlf || float || Tower Control X Power|-| xmmr_cGachi_cVgl || float || Rainmaker X Power|-| xmmr_cGachi_cVcl || float || Clam Blitz X Power|-| rd_cRegular || float || Turf War rating deviation|-| rd_cGachi_cVar || float || Splat Zones rating deviation|-| rd_cGachi_cVlf || float || Tower Control rating deviation|-| rd_cGachi_cVgl || float || Rainmaker rating deviation|-| rd_cGachi_cVcl || float || Clam Blitz rating deviation|-| xrd_cGachi_cVar || float || Splat Zones X Rank rating deviation|-| xrd_cGachi_cVlf || float || Tower Control X Rank rating deviation|-| xrd_cGachi_cVgl || float || Rainmaker X Rank rating deviation|-| xrd_cGachi_cVcl || float || Clam Blitz X Rank rating deviation|-| inet_versus_count_total || int || Total online battles|-| inet_versus_count_cRegular || int || Total online Turf War battles|-| inet_versus_count_cGachi || int || Total ranked battles|-| inet_versus_count_cFest || int || Total Splatfest battles|-| inet_versus_count_cPrivate || int || Total Private battles|-| inet_versus_count_cLeague || int || Total League battles|-| mission_ikura_num || int || Octo Canyon Power Eggs|-| mission_is_clear_normal_map_num || int || Octo Canyon total completed stages|-| mission_is_clear_last_boss_stage || bool || Octo Canyon boss defeated|-| coop_grade || int || Salmon Run rank|-| coop_grade_point || int || Salmon Run experience|-| coop_tutorial_phase || int || Salmon Run tutorial state|-| coop_play_count || int || Total Salmon Run matches|-| mem_identity_check || utf8 || Half-SHA256 of certain RomFS files|}  === coop_ch_event ===Currently undocumented. === coop_online_result_event ==={| class="wikitable"! Name !! Type !! Description|-| grade || int || Salmon Run rank|-| grade_point || int || Salmon Run experience|-| grade_before || int || Salmon Run rank before match|-| grade_point_before || int || Salmon Run experience before match|-| difficulty || int || ???|-| stage || int || Map ID|-| result || int || ???|-| final_wave || int || Always seems to be 2|-| wave_event_[wave number] || int || Events for [wave number] (glowflies, fog, etc)|-| wave_water_[wave number] || int || Tide for [wave number]|-| wave_golden_ikura_per_[wave number] || int || ???|-| wave_dead_count_[wave number] || int || Boss kill count|-| normal_ikura_num || int || Total power eggs|-| golden_ikura_num || int || Total golden eggs|-| point || int || ???|-| total_point || int || ???|-| begin_time || utf8 || Current schedule begin time|-| uncooperative_player || bool || ???|} === invalid_connection_player ==={| class="wikitable"! Name !! Type !! Description|-| error_id || int || ???|-| frame || int || ???|-| player_idx || int || Player index (TODO: of who?)|-| my_flags || int || ???|-| other_flags || int || ???|} === invalid_setting_event ===Currently undocumented. === match_coop_finish_event2 ==={| class="wikitable"! Name !! Type !! Description|-| player_rank || int || Player level (NOT Salmon Run rank)|-| star_rank || int || Player stars|-| money || int || |-| grade || int || Salmon Run rank|-| grade_point || int || Salmon Run experience for current rank|-| match_result || int || ???|-| total_sec || int || ??? (does not appear to be match time)|-| session_id || int || Match ID|-| with_friend || int || ??? (haven't dumped a Salmon Run match with a friend yet)|-| rtt_average || int || Average round-trip time|-| rtt_median || int || Median round-trip time|-| rtt_worst || int || Worst round-trip time|-| is_coral_v2_room || bool || Voice chat|-| is_coral_v2_save || bool || ???|-| mem_identity_check || utf8 || Half-SHA256 of certain RomFS files|} === match_vs_finish_event2 ==={| class="wikitable"! Name !! Type !! Description|-| match_result || int || ???|-| total_sec || int || ??? (does not appear to be match time)|-| league_player_num || int || ??? (0 if not in league)|-| league_tag_id || int || ??? (0 if not in league)|-| league_id || int || ??? (0 if not in league)|-| fest_team || int || Splatfest team|-| fest_mode || int || Splatfest mode (?)|-| fest_heavy_weight_match || int || Normal, 10x, or 100x (?)|-| fest_regular_win_count || int || Splatfest win streak|-| fest_regular_win_count_team || int || Splatfest win streak as a team|-| fest_friends_num || int || Number of friends on team
|-
| N/A joint_session_status || Cmn::PlayReport::addVersusCommonKeyValueImpl_ int || ✔ || 🞬 || 🞬 || N/A || This is prepended to certain events.???
|-
| boot_ch_event rtt_average || sub_7101242EFC int || 🞬 || ✔ || ✔ || Boot || Appears to be some hashes.Average round-trip time
|-
| boot_event2 rtt_median || Cmn::PlayReport::saveBootEventMain_ int || ✔ || 🞬 || 🞬 || Boot || Uploads a lot of information, including settings, character, and versus statistics.Median round-trip time
|-
| boot_mission_detail_event rtt_worst || Cmn::PlayReport::saveBootEventMission_ int || Worst round-trip time|-| 🞬 network_time || 🞬 int || Boot Local Unix time|-| Uploads mission information, such as completed levels and collectibles.is_coral_v2_room || bool || Voice chat|-| is_coral_v2_save || bool || ???|-| mem_identity_check || utf8 || Half-SHA256 of certain RomFS files|-| phase_attr || int || ???
|}
 
=== mission_octa_stage_result_event ===
{| class="wikitable"
! Name !! Type !! Description
|-
| stage_no || int || Station number
|-
| weapon_id || int || Weapon/loadout used
|-
| is_clear || bool || Station already cleared or not (?)
|-
| ikura_num || int || Power eggs collected in station
|-
| play_time || float || Station completion time in seconds
|-
| weapon_clear_flag || int || ???
|-
| miss_num || int || Station death count
|-
| life_num || int || Station lives left
|-
| money || int ||
|-
| debt || int ||
|-
| is_octa_clear || bool || Normal final boss completion
|-
| medal_flag || int || Mem cake ID
|}
 
=== mission_stage_result_event ===
{| class="wikitable"
! Name !! Type !! Description
|-
| stage_no || int || Level number
|-
| weapon_id || int || Weapon used
|-
| is_clear || int || Level already cleared or not (?)
|-
| ikura_num || int || Power eggs collected in level
|-
| play_time || int || Level completion time in seconds
|-
| dead_num || int || Death count
|-
| has_document || bool || Scroll collected or not
|-
| has_parts || bool || ???
|-
| has_ticket || bool || ???
|-
| weapon_clear_flag || int || ???
|-
| main[weapon number]_level || int || [weapon number] upgrades/level
|-
| has_sub[subweapon number] || bool || [subweapon number] unlocked
|-
| tank_level || int || Tank upgrades
|}
 
=== versus_death_event2 ===
{| class="wikitable"
! Name !! Type !! Description
|-
| count_sec || int || Match time at death
|-
| death_count || int || Death count
|-
| reason_kind || int || ???
|-
| reason_id || int || ???
|-
| attacker_idx || int || Player index of attacker
|-
| attacker_pos_x || float || X position of attacker
|-
| attacker_pos_y || float || Y position of attacker
|-
| attacker_pos_z || float || Z position of attacker
|-
| victim_pos_x || float || X position of victim
|-
| victim_pos_y || float || Y position of victim
|-
| victim_pos_z || float || Z position of victim
|-
| victim_team || int || Victim team (not sure why this isn't a bool)
|}
 
=== versus_other_event ===
{| class="wikitable"
! Name !! Type !! Description
|-
| net_mode || int || Local, LAN, or online
|-
| game_mode || int || Game mode
|-
| game_rule || int || Game rules
|-
| session_id || int || Match ID
|-
| start_clock || int || ??? (doesn't appear to be Unix time)
|-
| stage_name || utf8 || Internal map name of stage
|-
| player_idx || int || Player index of target
|-
| player_model_type || int || Model type of target
|-
| player_model_hair || int || Hair model of target
|-
| player_model_bottom || int || Pants model of target
|-
| player_model_skin_color || int || Skin color of target
|-
| player_model_eye_color || int || Eye color of target
|-
| team || int || Team of target
|-
| weapon_id || int || Weapon used by target
|-
| cHead_gear_id || int || Head gear ID of target
|-
| cHead_gear_power_main || int || Head gear main ability ID of target
|-
| cHead_gear_power_sub[slot] || int || Head gear sub ability ID for [slot] of target
|-
| cClothes_gear_id || int || Clothes gear ID of target
|-
| cClothes_gear_power_main || int || Clothes gear main ability ID of target
|-
| cClothes_gear_power_sub[slot] || int || Clothes gear sub ability ID for [slot] of target
|-
| cShoes_gear_id || int || Shoes gear ID of target
|-
| cShoes_gear_power_main || int || Shoes gear main ability ID of target
|-
| cShoes_gear_power_sub[slot] || int || Shoes gear sub ability ID for [slot] of target
|-
| mmr || float || MMR/power of target
|-
| rd || float || Rating deviation of target
|-
| xmmr || float || X Power of target
|-
| xrd || float || X Rank rating deviation of target
|-
| player_rank || int || Level of target
|-
| star_rank || int || Star count of target
|-
| win_lose_diff || int || ???
|-
| is_win || bool || Target win or loss
|-
| is_minority || bool || Set if target has a disconnect on their team
|-
| personal_score_paint || int || Points of target
|-
| personal_score_kill || int || Kill count of target
|-
| personal_score_assist || int || Assist count of target
|-
| personal_score_special || int || Special count of target
|-
| personal_score_death || int || Death count of target
|-
| i_ns || array || i_ns of target
|-
| i_nu || array || i_nu of target
|-
| player_name || utf8 || Nickname of target
|-
| personal_u_score || int || ???
|-
| personal_score0 || int || ???
|-
| personal_score1 || int || ???
|-
| personal_score2 || int || ???
|-
| personal_score3 || int || ???
|-
| report_versus_count || int || ???
|}
 
=== versus_result_event2 ===
{| class="wikitable"
! Name !! Type !! Description
|-
| net_mode || int || Local, LAN, or online
|-
| game_mode || int || Game mode
|-
| game_rule || int || Game rules
|-
| session_id || int || Match ID
|-
| start_clock || int || ??? (doesn't appear to be Unix time)
|-
| stage_name || utf8 || Internal map name of stage
|-
| player_rank || int || Level
|-
| star_rank || int || Star count
|-
| udemae || int || Rank
|-
| mmr || float || MMR/power
|-
| rd || float || Rating deviation
|-
| xmmr || float || X Power
|-
| xrd || float || X Rank rating deviation
|-
| xrank || int || X Rank leaderboard position (?)
|-
| xversus_count || int || X Rank matches played
|-
| has_crown || bool || Is in X Rank top 500
|-
| season_id || int || ???
|-
| money || int ||
|-
| turban_shell || int || Super Sea Snail count
|-
| inet_versus_count_total || int || Versus match count
|-
| i_nu || array || ???
|-
| weapon_id || int || Weapon used
|-
| cHead_gear_id || int || Head gear ID
|-
| cHead_gear_power_main || int || Head gear main ability ID
|-
| cHead_gear_power_sub[slot] || int || Head gear sub ability ID for [slot]
|-
| cClothes_gear_id || int || Clothes gear ID
|-
| cClothes_gear_power_main || int || Clothes gear main ability ID
|-
| cClothes_gear_power_sub[slot] || int || Clothes gear sub ability ID for [slot]
|-
| cShoes_gear_id || int || Shoes gear ID
|-
| cShoes_gear_power_main || int || Shoes gear main ability ID
|-
| cShoes_gear_power_sub[slot] || int || Shoes gear sub ability ID for [slot]
|-
| report_versus_count || int || ???
|-
| versus_sec || int || Match length
|-
| team_score_cAlpha || int || Alpha score
|-
| team_score_cBravo || int || Bravo score
|-
| is_win || bool || Win or loss
|-
| is_minority || bool || Set if sender has a disconnect on their team
|-
| personal_score_paint || int || Points
|-
| personal_score_kill || int || Kill count
|-
| personal_score_assist || int || Assist count
|-
| personal_score_special || int || Special count
|-
| personal_score_death || int || Death count
|-
| packet_loss_rate || float || Percentage of packets lost
|-
| fest_team || int || Splatfest team
|-
| fest_mode || int || Splatfest mode (?)
|-
| fest_contribution || int || Clout added (always 0 if fest_same_team_match = 1)
|-
| fest_contribution_sum || int || Clout
|-
| fest_regular_win_count || int || Splatfest win streak
|-
| fest_regular_win_count_team || int || Splatfest win streak as a team
|-
| fest_same_team_match || bool || Playing against people on the same Splatfest team
|-
| fest_friends_num || int || Number of friends on team
|-
| fest_rank || int || Splatfest rank (0 = Fanboy/Fangirl, 1 = Fiend...)
|}
 
 
[[Category:Splatoon 2]]
44
edits

Navigation menu