cs2-exploit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cs2-exploit might be problematic. Click here for more details.

Files changed (396) hide show
  1. package/.github/workflows/npm-publish-github-packages.yml +36 -0
  2. package/README.md +25 -0
  3. package/config.json +6 -0
  4. package/helpers/Coordinator.js +157 -0
  5. package/helpers/Helper.js +171 -0
  6. package/helpers/Lobby.js +396 -0
  7. package/helpers/Protos.js +47 -0
  8. package/helpers/VDF.js +140 -0
  9. package/index.js +137 -0
  10. package/package.json +25 -0
  11. package/protobufs/.gitattributes +1 -0
  12. package/protobufs/LICENSE +24 -0
  13. package/protobufs/README.md +7 -0
  14. package/protobufs/artifact/base_gcmessages.proto +532 -0
  15. package/protobufs/artifact/c_peer2peer_netmessages.proto +57 -0
  16. package/protobufs/artifact/clientmessages.proto +51 -0
  17. package/protobufs/artifact/connectionless_netmessages.proto +21 -0
  18. package/protobufs/artifact/dcg_gamemessages.proto +638 -0
  19. package/protobufs/artifact/dcg_gcmessages_client.proto +1590 -0
  20. package/protobufs/artifact/dcg_gcmessages_common.proto +617 -0
  21. package/protobufs/artifact/dcg_gcmessages_server.proto +395 -0
  22. package/protobufs/artifact/demo.proto +149 -0
  23. package/protobufs/artifact/econ_gcmessages.proto +1033 -0
  24. package/protobufs/artifact/econ_shared_enums.proto +47 -0
  25. package/protobufs/artifact/gameevents.proto +121 -0
  26. package/protobufs/artifact/gametoolevents.proto +78 -0
  27. package/protobufs/artifact/gcsdk_gcmessages.proto +391 -0
  28. package/protobufs/artifact/gcsystemmsgs.proto +28 -0
  29. package/protobufs/artifact/netmessages.proto +551 -0
  30. package/protobufs/artifact/network_connection.proto +117 -0
  31. package/protobufs/artifact/networkbasetypes.proto +206 -0
  32. package/protobufs/artifact/networksystem_protomessages.proto +19 -0
  33. package/protobufs/artifact/steamdatagram_messages_auth.proto +38 -0
  34. package/protobufs/artifact/steamdatagram_messages_sdr.proto +441 -0
  35. package/protobufs/artifact/steammessages.proto +636 -0
  36. package/protobufs/artifact/steammessages_base.proto +83 -0
  37. package/protobufs/artifact/steammessages_cloud.steamworkssdk.proto +68 -0
  38. package/protobufs/artifact/steammessages_oauth.steamworkssdk.proto +18 -0
  39. package/protobufs/artifact/steammessages_publishedfile.steamworkssdk.proto +233 -0
  40. package/protobufs/artifact/steammessages_unified_base.steamworkssdk.proto +30 -0
  41. package/protobufs/artifact/steamnetworkingsockets_messages.proto +113 -0
  42. package/protobufs/artifact/steamnetworkingsockets_messages_certs.proto +32 -0
  43. package/protobufs/artifact/steamnetworkingsockets_messages_udp.proto +76 -0
  44. package/protobufs/artifact/te.proto +257 -0
  45. package/protobufs/artifact/uifontfile_format.proto +16 -0
  46. package/protobufs/artifact/usermessages.proto +473 -0
  47. package/protobufs/csgo/base_gcmessages_csgo.proto +547 -0
  48. package/protobufs/csgo/c_peer2peer_netmessages.proto +55 -0
  49. package/protobufs/csgo/clientmessages.proto +48 -0
  50. package/protobufs/csgo/connectionless_netmessages.proto +17 -0
  51. package/protobufs/csgo/cs_gameevents.proto +35 -0
  52. package/protobufs/csgo/cs_usercmd.proto +54 -0
  53. package/protobufs/csgo/cstrike15_gcmessages.proto +1415 -0
  54. package/protobufs/csgo/cstrike15_usermessages.proto +596 -0
  55. package/protobufs/csgo/demo.proto +160 -0
  56. package/protobufs/csgo/econ_gcmessages.proto +228 -0
  57. package/protobufs/csgo/engine_gcmessages.proto +14 -0
  58. package/protobufs/csgo/enums_clientserver.proto +1529 -0
  59. package/protobufs/csgo/fatdemo.proto +125 -0
  60. package/protobufs/csgo/gameevents.proto +120 -0
  61. package/protobufs/csgo/gcsdk_gcmessages.proto +323 -0
  62. package/protobufs/csgo/gcsystemmsgs.proto +242 -0
  63. package/protobufs/csgo/netmessages.proto +607 -0
  64. package/protobufs/csgo/network_connection.proto +126 -0
  65. package/protobufs/csgo/networkbasetypes.proto +244 -0
  66. package/protobufs/csgo/networksystem_protomessages.proto +17 -0
  67. package/protobufs/csgo/steamdatagram_messages_auth.proto +65 -0
  68. package/protobufs/csgo/steamdatagram_messages_sdr.proto +534 -0
  69. package/protobufs/csgo/steammessages.proto +597 -0
  70. package/protobufs/csgo/steammessages_base.proto +301 -0
  71. package/protobufs/csgo/steammessages_cloud.steamworkssdk.proto +68 -0
  72. package/protobufs/csgo/steammessages_gamenetworkingui.proto +61 -0
  73. package/protobufs/csgo/steammessages_helprequest.steamworkssdk.proto +22 -0
  74. package/protobufs/csgo/steammessages_oauth.steamworkssdk.proto +18 -0
  75. package/protobufs/csgo/steammessages_player.steamworkssdk.proto +254 -0
  76. package/protobufs/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -0
  77. package/protobufs/csgo/steammessages_unified_base.steamworkssdk.proto +30 -0
  78. package/protobufs/csgo/steamnetworkingsockets_messages.proto +205 -0
  79. package/protobufs/csgo/steamnetworkingsockets_messages_certs.proto +39 -0
  80. package/protobufs/csgo/steamnetworkingsockets_messages_udp.proto +75 -0
  81. package/protobufs/csgo/te.proto +259 -0
  82. package/protobufs/csgo/uifontfile_format.proto +13 -0
  83. package/protobufs/csgo/usercmd.proto +37 -0
  84. package/protobufs/csgo/usermessages.proto +742 -0
  85. package/protobufs/csgo/valveextensions.proto +17 -0
  86. package/protobufs/dota2/base_gcmessages.proto +400 -0
  87. package/protobufs/dota2/c_peer2peer_netmessages.proto +55 -0
  88. package/protobufs/dota2/clientmessages.proto +48 -0
  89. package/protobufs/dota2/connectionless_netmessages.proto +19 -0
  90. package/protobufs/dota2/demo.proto +160 -0
  91. package/protobufs/dota2/dota_broadcastmessages.proto +29 -0
  92. package/protobufs/dota2/dota_client_enums.proto +93 -0
  93. package/protobufs/dota2/dota_clientmessages.proto +573 -0
  94. package/protobufs/dota2/dota_commonmessages.proto +146 -0
  95. package/protobufs/dota2/dota_gcmessages_client.proto +3336 -0
  96. package/protobufs/dota2/dota_gcmessages_client_battle_report.proto +393 -0
  97. package/protobufs/dota2/dota_gcmessages_client_bingo.proto +108 -0
  98. package/protobufs/dota2/dota_gcmessages_client_candy_shop.proto +302 -0
  99. package/protobufs/dota2/dota_gcmessages_client_chat.proto +239 -0
  100. package/protobufs/dota2/dota_gcmessages_client_coaching.proto +376 -0
  101. package/protobufs/dota2/dota_gcmessages_client_fantasy.proto +564 -0
  102. package/protobufs/dota2/dota_gcmessages_client_guild.proto +651 -0
  103. package/protobufs/dota2/dota_gcmessages_client_guild_events.proto +231 -0
  104. package/protobufs/dota2/dota_gcmessages_client_match_management.proto +468 -0
  105. package/protobufs/dota2/dota_gcmessages_client_showcase.proto +528 -0
  106. package/protobufs/dota2/dota_gcmessages_client_team.proto +275 -0
  107. package/protobufs/dota2/dota_gcmessages_client_tournament.proto +173 -0
  108. package/protobufs/dota2/dota_gcmessages_client_watch.proto +205 -0
  109. package/protobufs/dota2/dota_gcmessages_common.proto +1667 -0
  110. package/protobufs/dota2/dota_gcmessages_common_bot_script.proto +294 -0
  111. package/protobufs/dota2/dota_gcmessages_common_league.proto +351 -0
  112. package/protobufs/dota2/dota_gcmessages_common_lobby.proto +391 -0
  113. package/protobufs/dota2/dota_gcmessages_common_match_management.proto +488 -0
  114. package/protobufs/dota2/dota_gcmessages_msgid.proto +890 -0
  115. package/protobufs/dota2/dota_gcmessages_server.proto +1495 -0
  116. package/protobufs/dota2/dota_gcmessages_webapi.proto +376 -0
  117. package/protobufs/dota2/dota_hud_types.proto +33 -0
  118. package/protobufs/dota2/dota_match_metadata.proto +346 -0
  119. package/protobufs/dota2/dota_messages_mlbot.proto +62 -0
  120. package/protobufs/dota2/dota_modifiers.proto +53 -0
  121. package/protobufs/dota2/dota_scenariomessages.proto +226 -0
  122. package/protobufs/dota2/dota_shared_enums.proto +820 -0
  123. package/protobufs/dota2/dota_usercmd.proto +15 -0
  124. package/protobufs/dota2/dota_usermessages.proto +1655 -0
  125. package/protobufs/dota2/econ_gcmessages.proto +997 -0
  126. package/protobufs/dota2/econ_shared_enums.proto +37 -0
  127. package/protobufs/dota2/engine_gcmessages.proto +14 -0
  128. package/protobufs/dota2/enums_clientserver.proto +1547 -0
  129. package/protobufs/dota2/gameevents.proto +120 -0
  130. package/protobufs/dota2/gametoolevents.proto +78 -0
  131. package/protobufs/dota2/gcsdk_gcmessages.proto +488 -0
  132. package/protobufs/dota2/gcsystemmsgs.proto +26 -0
  133. package/protobufs/dota2/netmessages.proto +604 -0
  134. package/protobufs/dota2/network_connection.proto +126 -0
  135. package/protobufs/dota2/networkbasetypes.proto +244 -0
  136. package/protobufs/dota2/networksystem_protomessages.proto +17 -0
  137. package/protobufs/dota2/steamdatagram_messages_auth.proto +65 -0
  138. package/protobufs/dota2/steamdatagram_messages_sdr.proto +533 -0
  139. package/protobufs/dota2/steammessages.proto +108 -0
  140. package/protobufs/dota2/steammessages_base.proto +332 -0
  141. package/protobufs/dota2/steammessages_clientserver_login.proto +155 -0
  142. package/protobufs/dota2/steammessages_cloud.steamworkssdk.proto +68 -0
  143. package/protobufs/dota2/steammessages_gamenetworkingui.proto +42 -0
  144. package/protobufs/dota2/steammessages_helprequest.steamworkssdk.proto +22 -0
  145. package/protobufs/dota2/steammessages_int.proto +628 -0
  146. package/protobufs/dota2/steammessages_oauth.steamworkssdk.proto +18 -0
  147. package/protobufs/dota2/steammessages_player.steamworkssdk.proto +254 -0
  148. package/protobufs/dota2/steammessages_publishedfile.steamworkssdk.proto +233 -0
  149. package/protobufs/dota2/steammessages_steamlearn.steamworkssdk.proto +360 -0
  150. package/protobufs/dota2/steammessages_unified_base.steamworkssdk.proto +30 -0
  151. package/protobufs/dota2/steamnetworkingsockets_messages.proto +205 -0
  152. package/protobufs/dota2/steamnetworkingsockets_messages_certs.proto +39 -0
  153. package/protobufs/dota2/steamnetworkingsockets_messages_udp.proto +75 -0
  154. package/protobufs/dota2/te.proto +259 -0
  155. package/protobufs/dota2/uifontfile_format.proto +13 -0
  156. package/protobufs/dota2/usercmd.proto +38 -0
  157. package/protobufs/dota2/usermessages.proto +721 -0
  158. package/protobufs/dota2/valveextensions.proto +17 -0
  159. package/protobufs/google/protobuf/descriptor.proto +281 -0
  160. package/protobufs/steam/clientmetrics.proto +45 -0
  161. package/protobufs/steam/content_manifest.proto +62 -0
  162. package/protobufs/steam/contenthubs.proto +41 -0
  163. package/protobufs/steam/encrypted_app_ticket.proto +10 -0
  164. package/protobufs/steam/enums.proto +482 -0
  165. package/protobufs/steam/enums_clientserver.proto +1525 -0
  166. package/protobufs/steam/enums_productinfo.proto +13 -0
  167. package/protobufs/steam/htmlmessages.proto +1031 -0
  168. package/protobufs/steam/offline_ticket.proto +8 -0
  169. package/protobufs/steam/steamdatagram_messages_auth.proto +65 -0
  170. package/protobufs/steam/steamdatagram_messages_sdr.proto +534 -0
  171. package/protobufs/steam/steammessages_accounthardware.steamclient.proto +167 -0
  172. package/protobufs/steam/steammessages_appoverview.proto +202 -0
  173. package/protobufs/steam/steammessages_auth.steamclient.proto +375 -0
  174. package/protobufs/steam/steammessages_base.proto +335 -0
  175. package/protobufs/steam/steammessages_broadcast.steamclient.proto +619 -0
  176. package/protobufs/steam/steammessages_chat.steamclient.proto +1070 -0
  177. package/protobufs/steam/steammessages_client_objects.proto +648 -0
  178. package/protobufs/steam/steammessages_clientlanp2p.proto +43 -0
  179. package/protobufs/steam/steammessages_clientmetrics.steamclient.proto +192 -0
  180. package/protobufs/steam/steammessages_clientnotificationtypes.proto +242 -0
  181. package/protobufs/steam/steammessages_clientserver.proto +392 -0
  182. package/protobufs/steam/steammessages_clientserver_2.proto +771 -0
  183. package/protobufs/steam/steammessages_clientserver_appinfo.proto +131 -0
  184. package/protobufs/steam/steammessages_clientserver_friends.proto +260 -0
  185. package/protobufs/steam/steammessages_clientserver_gameservers.proto +159 -0
  186. package/protobufs/steam/steammessages_clientserver_lbs.proto +70 -0
  187. package/protobufs/steam/steammessages_clientserver_login.proto +167 -0
  188. package/protobufs/steam/steammessages_clientserver_mms.proto +228 -0
  189. package/protobufs/steam/steammessages_clientserver_ucm.proto +206 -0
  190. package/protobufs/steam/steammessages_clientserver_uds.proto +125 -0
  191. package/protobufs/steam/steammessages_clientserver_ufs.proto +172 -0
  192. package/protobufs/steam/steammessages_clientserver_userstats.proto +80 -0
  193. package/protobufs/steam/steammessages_clientsettings.proto +184 -0
  194. package/protobufs/steam/steammessages_cloud.steamclient.proto +422 -0
  195. package/protobufs/steam/steammessages_contentsystem.steamclient.proto +123 -0
  196. package/protobufs/steam/steammessages_credentials.steamclient.proto +96 -0
  197. package/protobufs/steam/steammessages_datapublisher.steamclient.proto +102 -0
  198. package/protobufs/steam/steammessages_depotbuilder.steamclient.proto +99 -0
  199. package/protobufs/steam/steammessages_deviceauth.steamclient.proto +169 -0
  200. package/protobufs/steam/steammessages_econ.steamclient.proto +137 -0
  201. package/protobufs/steam/steammessages_familygroups.steamclient.proto +389 -0
  202. package/protobufs/steam/steammessages_friendmessages.steamclient.proto +141 -0
  203. package/protobufs/steam/steammessages_gamenetworking.steamclient.proto +25 -0
  204. package/protobufs/steam/steammessages_gamenetworkingui.proto +61 -0
  205. package/protobufs/steam/steammessages_gamenotifications.steamclient.proto +131 -0
  206. package/protobufs/steam/steammessages_gameservers.steamclient.proto +136 -0
  207. package/protobufs/steam/steammessages_hiddevices.proto +157 -0
  208. package/protobufs/steam/steammessages_inventory.steamclient.proto +172 -0
  209. package/protobufs/steam/steammessages_linkfilter.steamclient.proto +39 -0
  210. package/protobufs/steam/steammessages_lobbymatchmaking.steamclient.proto +29 -0
  211. package/protobufs/steam/steammessages_market.steamclient.proto +22 -0
  212. package/protobufs/steam/steammessages_marketingmessages.steamclient.proto +264 -0
  213. package/protobufs/steam/steammessages_offline.steamclient.proto +33 -0
  214. package/protobufs/steam/steammessages_parental.steamclient.proto +260 -0
  215. package/protobufs/steam/steammessages_parties.steamclient.proto +75 -0
  216. package/protobufs/steam/steammessages_partnerapps.steamclient.proto +106 -0
  217. package/protobufs/steam/steammessages_player.steamclient.proto +897 -0
  218. package/protobufs/steam/steammessages_publishedfile.steamclient.proto +734 -0
  219. package/protobufs/steam/steammessages_qms.steamclient.proto +111 -0
  220. package/protobufs/steam/steammessages_remoteclient.proto +99 -0
  221. package/protobufs/steam/steammessages_remoteclient_discovery.proto +243 -0
  222. package/protobufs/steam/steammessages_remoteclient_service.steamclient.proto +31 -0
  223. package/protobufs/steam/steammessages_remoteclient_service_messages.proto +217 -0
  224. package/protobufs/steam/steammessages_remoteplay.proto +976 -0
  225. package/protobufs/steam/steammessages_secrets.steamclient.proto +35 -0
  226. package/protobufs/steam/steammessages_shader.steamclient.proto +89 -0
  227. package/protobufs/steam/steammessages_site_license.steamclient.proto +103 -0
  228. package/protobufs/steam/steammessages_sitelicenseclient.proto +38 -0
  229. package/protobufs/steam/steammessages_siteserverui.proto +130 -0
  230. package/protobufs/steam/steammessages_star.steamclient.proto +60 -0
  231. package/protobufs/steam/steammessages_steamtv.steamclient.proto +533 -0
  232. package/protobufs/steam/steammessages_store.steamclient.proto +404 -0
  233. package/protobufs/steam/steammessages_storebrowse.steamclient.proto +430 -0
  234. package/protobufs/steam/steammessages_timedtrial.steamclient.proto +40 -0
  235. package/protobufs/steam/steammessages_twofactor.steamclient.proto +157 -0
  236. package/protobufs/steam/steammessages_unified_base.steamclient.proto +33 -0
  237. package/protobufs/steam/steammessages_unified_test.steamclient.proto +51 -0
  238. package/protobufs/steam/steammessages_useraccount.steamclient.proto +207 -0
  239. package/protobufs/steam/steammessages_vac.steamclient.proto +37 -0
  240. package/protobufs/steam/steammessages_video.steamclient.proto +68 -0
  241. package/protobufs/steam/steammessages_virtualcontroller.proto +138 -0
  242. package/protobufs/steam/steammessages_workshop.steamclient.proto +19 -0
  243. package/protobufs/steam/steamnetworkingsockets_messages.proto +205 -0
  244. package/protobufs/steam/steamnetworkingsockets_messages_certs.proto +39 -0
  245. package/protobufs/steam/steamnetworkingsockets_messages_udp.proto +75 -0
  246. package/protobufs/steam/webuimessages_achievements.proto +29 -0
  247. package/protobufs/steam/webuimessages_base.proto +24 -0
  248. package/protobufs/steam/webuimessages_gamenotes.proto +21 -0
  249. package/protobufs/steam/webuimessages_gamescope.proto +54 -0
  250. package/protobufs/steam/webuimessages_steamengine.proto +41 -0
  251. package/protobufs/steam/webuimessages_steamos.proto +114 -0
  252. package/protobufs/steam/webuimessages_storagedevicemanager.proto +110 -0
  253. package/protobufs/steam/webuimessages_systemmanager.proto +17 -0
  254. package/protobufs/steam/webuimessages_transport.proto +18 -0
  255. package/protobufs/steam/webuimessages_transportvalidation.proto +111 -0
  256. package/protobufs/tf2/base_gcmessages.proto +561 -0
  257. package/protobufs/tf2/econ_gcmessages.proto +368 -0
  258. package/protobufs/tf2/gcsdk_gcmessages.proto +186 -0
  259. package/protobufs/tf2/gcsystemmsgs.proto +178 -0
  260. package/protobufs/tf2/steamdatagram_auth_messages.proto +50 -0
  261. package/protobufs/tf2/steamdatagram_messages.proto +598 -0
  262. package/protobufs/tf2/steamdatagram_messages_auth.proto +65 -0
  263. package/protobufs/tf2/steamdatagram_messages_sdr.proto +518 -0
  264. package/protobufs/tf2/steammessages.proto +577 -0
  265. package/protobufs/tf2/steammessages_gamenetworkingui.proto +42 -0
  266. package/protobufs/tf2/steamnetworkingsockets_messages.proto +204 -0
  267. package/protobufs/tf2/steamnetworkingsockets_messages_certs.proto +38 -0
  268. package/protobufs/tf2/steamnetworkingsockets_messages_udp.proto +75 -0
  269. package/protobufs/tf2/tf_gcmessages.proto +1624 -0
  270. package/protobufs/tf2/tf_proto_def_messages.proto +598 -0
  271. package/protobufs/underlords/base_gcmessages.proto +532 -0
  272. package/protobufs/underlords/c_peer2peer_netmessages.proto +57 -0
  273. package/protobufs/underlords/clientmessages.proto +51 -0
  274. package/protobufs/underlords/connectionless_netmessages.proto +21 -0
  275. package/protobufs/underlords/dac_gamemessages.proto +1376 -0
  276. package/protobufs/underlords/dac_gcmessages_client.proto +1518 -0
  277. package/protobufs/underlords/dac_gcmessages_common.proto +377 -0
  278. package/protobufs/underlords/dac_gcmessages_server.proto +417 -0
  279. package/protobufs/underlords/demo.proto +149 -0
  280. package/protobufs/underlords/econ_gcmessages.proto +1063 -0
  281. package/protobufs/underlords/econ_shared_enums.proto +47 -0
  282. package/protobufs/underlords/enums_clientserver.proto +1538 -0
  283. package/protobufs/underlords/gameevents.proto +121 -0
  284. package/protobufs/underlords/gametoolevents.proto +78 -0
  285. package/protobufs/underlords/gcsdk_gcmessages.proto +448 -0
  286. package/protobufs/underlords/gcsystemmsgs.proto +29 -0
  287. package/protobufs/underlords/netmessages.proto +553 -0
  288. package/protobufs/underlords/network_connection.proto +117 -0
  289. package/protobufs/underlords/networkbasetypes.proto +219 -0
  290. package/protobufs/underlords/networksystem_protomessages.proto +19 -0
  291. package/protobufs/underlords/steamdatagram_messages_auth.proto +64 -0
  292. package/protobufs/underlords/steamdatagram_messages_sdr.proto +482 -0
  293. package/protobufs/underlords/steammessages.proto +701 -0
  294. package/protobufs/underlords/steammessages_base.proto +243 -0
  295. package/protobufs/underlords/steammessages_clientserver_login.proto +155 -0
  296. package/protobufs/underlords/steammessages_cloud.steamworkssdk.proto +68 -0
  297. package/protobufs/underlords/steammessages_helprequest.steamworkssdk.proto +22 -0
  298. package/protobufs/underlords/steammessages_oauth.steamworkssdk.proto +18 -0
  299. package/protobufs/underlords/steammessages_player.steamworkssdk.proto +254 -0
  300. package/protobufs/underlords/steammessages_publishedfile.steamworkssdk.proto +233 -0
  301. package/protobufs/underlords/steammessages_unified_base.steamworkssdk.proto +30 -0
  302. package/protobufs/underlords/steamnetworkingsockets_messages.proto +165 -0
  303. package/protobufs/underlords/steamnetworkingsockets_messages_certs.proto +38 -0
  304. package/protobufs/underlords/steamnetworkingsockets_messages_udp.proto +74 -0
  305. package/protobufs/underlords/te.proto +259 -0
  306. package/protobufs/underlords/uifontfile_format.proto +16 -0
  307. package/protobufs/underlords/usermessages.proto +511 -0
  308. package/protobufs/underlords/valveextensions.proto +11 -0
  309. package/protobufs/update.sh +13 -0
  310. package/protobufs/webui/common.proto +3998 -0
  311. package/protobufs/webui/common_base.proto +27 -0
  312. package/protobufs/webui/service_accountcart.proto +153 -0
  313. package/protobufs/webui/service_accountlinking.proto +27 -0
  314. package/protobufs/webui/service_accountprivacy.proto +42 -0
  315. package/protobufs/webui/service_accountprivateapps.proto +34 -0
  316. package/protobufs/webui/service_auction.proto +97 -0
  317. package/protobufs/webui/service_authentication.proto +222 -0
  318. package/protobufs/webui/service_authenticationsupport.proto +74 -0
  319. package/protobufs/webui/service_broadcast.proto +562 -0
  320. package/protobufs/webui/service_chat.proto +11 -0
  321. package/protobufs/webui/service_chatroom.proto +810 -0
  322. package/protobufs/webui/service_chatusability.proto +107 -0
  323. package/protobufs/webui/service_checkout.proto +83 -0
  324. package/protobufs/webui/service_clan.proto +41 -0
  325. package/protobufs/webui/service_clanchatrooms.proto +25 -0
  326. package/protobufs/webui/service_clanfaqs.proto +202 -0
  327. package/protobufs/webui/service_clientcomm.proto +151 -0
  328. package/protobufs/webui/service_clientmetrics.proto +22 -0
  329. package/protobufs/webui/service_cloud.proto +222 -0
  330. package/protobufs/webui/service_cloudconfigstore.proto +51 -0
  331. package/protobufs/webui/service_cloudgaming.proto +30 -0
  332. package/protobufs/webui/service_community.proto +365 -0
  333. package/protobufs/webui/service_dailydeal.proto +66 -0
  334. package/protobufs/webui/service_econ.proto +134 -0
  335. package/protobufs/webui/service_embedded.proto +24 -0
  336. package/protobufs/webui/service_experimentservice.proto +6 -0
  337. package/protobufs/webui/service_familygroups.proto +329 -0
  338. package/protobufs/webui/service_fovasvideo.proto +15 -0
  339. package/protobufs/webui/service_friendmessages.proto +133 -0
  340. package/protobufs/webui/service_friendslist.proto +70 -0
  341. package/protobufs/webui/service_gamenotes.proto +15 -0
  342. package/protobufs/webui/service_gamerecording.proto +259 -0
  343. package/protobufs/webui/service_gamerecordingclip.proto +83 -0
  344. package/protobufs/webui/service_gamerecordingdebug.proto +52 -0
  345. package/protobufs/webui/service_helprequestlogs.proto +16 -0
  346. package/protobufs/webui/service_loyaltyrewards.proto +252 -0
  347. package/protobufs/webui/service_marketingmessages.proto +215 -0
  348. package/protobufs/webui/service_mobileapp.proto +18 -0
  349. package/protobufs/webui/service_mobileauth.proto +24 -0
  350. package/protobufs/webui/service_mobiledevice.proto +26 -0
  351. package/protobufs/webui/service_mobileperaccount.proto +31 -0
  352. package/protobufs/webui/service_news.proto +110 -0
  353. package/protobufs/webui/service_parental.proto +256 -0
  354. package/protobufs/webui/service_partnermembershipinvite.proto +34 -0
  355. package/protobufs/webui/service_partnerstorebrowse.proto +28 -0
  356. package/protobufs/webui/service_phone.proto +51 -0
  357. package/protobufs/webui/service_physicalgoods.proto +15 -0
  358. package/protobufs/webui/service_player.proto +917 -0
  359. package/protobufs/webui/service_promotioneventinvites.proto +109 -0
  360. package/protobufs/webui/service_promotionplanning.proto +172 -0
  361. package/protobufs/webui/service_publishedfile.proto +711 -0
  362. package/protobufs/webui/service_publishing.proto +183 -0
  363. package/protobufs/webui/service_quest.proto +127 -0
  364. package/protobufs/webui/service_salefeature.proto +357 -0
  365. package/protobufs/webui/service_saleitemrewards.proto +54 -0
  366. package/protobufs/webui/service_shoppingcart.proto +152 -0
  367. package/protobufs/webui/service_steamawards.proto +76 -0
  368. package/protobufs/webui/service_steamcharts.proto +75 -0
  369. package/protobufs/webui/service_steamengine.proto +36 -0
  370. package/protobufs/webui/service_steamlearn.proto +780 -0
  371. package/protobufs/webui/service_steamnotification.proto +73 -0
  372. package/protobufs/webui/service_steamtv.proto +495 -0
  373. package/protobufs/webui/service_steamvrvoicechat.proto +67 -0
  374. package/protobufs/webui/service_steamvrwebrtc.proto +48 -0
  375. package/protobufs/webui/service_storagedevicemanager.proto +104 -0
  376. package/protobufs/webui/service_store.proto +359 -0
  377. package/protobufs/webui/service_storeappsimilarity.proto +76 -0
  378. package/protobufs/webui/service_storebrowse.proto +102 -0
  379. package/protobufs/webui/service_storemarketing.proto +41 -0
  380. package/protobufs/webui/service_storequery.proto +103 -0
  381. package/protobufs/webui/service_storesales.proto +87 -0
  382. package/protobufs/webui/service_storetopsellers.proto +44 -0
  383. package/protobufs/webui/service_systemmanager.proto +11 -0
  384. package/protobufs/webui/service_test_transporterror.proto +6 -0
  385. package/protobufs/webui/service_transportauth.proto +12 -0
  386. package/protobufs/webui/service_transportvalidation.proto +69 -0
  387. package/protobufs/webui/service_twofactor.proto +170 -0
  388. package/protobufs/webui/service_useraccount.proto +138 -0
  389. package/protobufs/webui/service_usergameactivity.proto +34 -0
  390. package/protobufs/webui/service_usergamenotes.proto +70 -0
  391. package/protobufs/webui/service_usernews.proto +68 -0
  392. package/protobufs/webui/service_userreviews.proto +96 -0
  393. package/protobufs/webui/service_video.proto +50 -0
  394. package/protobufs/webui/service_videoclip.proto +48 -0
  395. package/protobufs/webui/service_voicechat.proto +139 -0
  396. package/protobufs/webui/service_webrtc.proto +52 -0
@@ -0,0 +1,3336 @@
1
+ import "steammessages.proto";
2
+ import "dota_shared_enums.proto";
3
+ import "dota_gcmessages_common.proto";
4
+ import "dota_gcmessages_webapi.proto";
5
+ import "gcsdk_gcmessages.proto";
6
+ import "dota_gcmessages_common_lobby.proto";
7
+ import "dota_gcmessages_common_match_management.proto";
8
+ import "base_gcmessages.proto";
9
+ import "econ_gcmessages.proto";
10
+ import "valveextensions.proto";
11
+
12
+ enum CMsgDOTARequestMatches_SkillLevel {
13
+ CMsgDOTARequestMatches_SkillLevel_Any = 0;
14
+ CMsgDOTARequestMatches_SkillLevel_Normal = 1;
15
+ CMsgDOTARequestMatches_SkillLevel_High = 2;
16
+ CMsgDOTARequestMatches_SkillLevel_VeryHigh = 3;
17
+ }
18
+
19
+ enum DOTA_WatchReplayType {
20
+ DOTA_WATCH_REPLAY_NORMAL = 0;
21
+ DOTA_WATCH_REPLAY_HIGHLIGHTS = 1;
22
+ }
23
+
24
+ enum EItemEditorReservationResult {
25
+ k_EItemEditorReservationResult_OK = 1;
26
+ k_EItemEditorReservationResult_AlreadyExists = 2;
27
+ k_EItemEditorReservationResult_Reserved = 3;
28
+ k_EItemEditorReservationResult_TimedOut = 4;
29
+ }
30
+
31
+ enum EWeekendTourneyRichPresenceEvent {
32
+ k_EWeekendTourneyRichPresenceEvent_None = 0;
33
+ k_EWeekendTourneyRichPresenceEvent_StartedMatch = 1;
34
+ k_EWeekendTourneyRichPresenceEvent_WonMatch = 2;
35
+ k_EWeekendTourneyRichPresenceEvent_Eliminated = 3;
36
+ }
37
+
38
+ enum EDOTATriviaAnswerResult {
39
+ k_EDOTATriviaAnswerResult_Success = 0;
40
+ k_EDOTATriviaAnswerResult_InvalidQuestion = 1;
41
+ k_EDOTATriviaAnswerResult_InvalidAnswer = 2;
42
+ k_EDOTATriviaAnswerResult_QuestionLocked = 3;
43
+ k_EDOTATriviaAnswerResult_AlreadyAnswered = 4;
44
+ k_EDOTATriviaAnswerResult_TriviaDisabled = 5;
45
+ }
46
+
47
+ enum EPurchaseHeroRelicResult {
48
+ k_EPurchaseHeroRelicResult_Success = 0;
49
+ k_EPurchaseHeroRelicResult_FailedToSend = 1;
50
+ k_EPurchaseHeroRelicResult_NotEnoughPoints = 2;
51
+ k_EPurchaseHeroRelicResult_InternalServerError = 3;
52
+ k_EPurchaseHeroRelicResult_PurchaseNotAllowed = 4;
53
+ k_EPurchaseHeroRelicResult_InvalidRelic = 5;
54
+ k_EPurchaseHeroRelicResult_AlreadyOwned = 6;
55
+ k_EPurchaseHeroRelicResult_InvalidRarity = 7;
56
+ }
57
+
58
+ enum EDevEventRequestResult {
59
+ k_EDevEventRequestResult_Success = 0;
60
+ k_EDevEventRequestResult_NotAllowed = 1;
61
+ k_EDevEventRequestResult_InvalidEvent = 2;
62
+ k_EDevEventRequestResult_SqlFailure = 3;
63
+ k_EDevEventRequestResult_Timeout = 4;
64
+ k_EDevEventRequestResult_LockFailure = 5;
65
+ k_EDevEventRequestResult_SDOLoadFailure = 6;
66
+ }
67
+
68
+ enum ESupportEventRequestResult {
69
+ k_ESupportEventRequestResult_Success = 0;
70
+ k_ESupportEventRequestResult_Timeout = 1;
71
+ k_ESupportEventRequestResult_CantLockSOCache = 2;
72
+ k_ESupportEventRequestResult_ItemNotInInventory = 3;
73
+ k_ESupportEventRequestResult_InvalidItemDef = 4;
74
+ k_ESupportEventRequestResult_InvalidEvent = 5;
75
+ k_ESupportEventRequestResult_EventExpired = 6;
76
+ k_ESupportEventRequestResult_InvalidSupportAccount = 7;
77
+ k_ESupportEventRequestResult_InvalidSupportMessage = 8;
78
+ k_ESupportEventRequestResult_InvalidEventPoints = 9;
79
+ k_ESupportEventRequestResult_InvalidPremiumPoints = 10;
80
+ k_ESupportEventRequestResult_InvalidActionID = 11;
81
+ k_ESupportEventRequestResult_InvalidActionScore = 12;
82
+ k_ESupportEventRequestResult_TransactionFailed = 13;
83
+ }
84
+
85
+ enum EUnderDraftResponse {
86
+ k_eInternalError = 0;
87
+ k_eSuccess = 1;
88
+ k_eNoGold = 2;
89
+ k_eInvalidSlot = 3;
90
+ k_eNoBenchSpace = 4;
91
+ k_eNoTickets = 5;
92
+ k_eEventNotOwned = 6;
93
+ k_eInvalidReward = 7;
94
+ k_eHasBigReward = 8;
95
+ k_eNoGCConnection = 9;
96
+ k_eTooBusy = 10;
97
+ k_eCantRollBack = 11;
98
+ }
99
+
100
+ enum EDOTADraftTriviaAnswerResult {
101
+ k_EDOTADraftTriviaAnswerResult_Success = 0;
102
+ k_EDOTADraftTriviaAnswerResult_InvalidMatchID = 1;
103
+ k_EDOTADraftTriviaAnswerResult_AlreadyAnswered = 2;
104
+ k_EDOTADraftTriviaAnswerResult_InternalError = 3;
105
+ k_EDOTADraftTriviaAnswerResult_TriviaDisabled = 4;
106
+ k_EDOTADraftTriviaAnswerResult_GCDown = 5;
107
+ }
108
+
109
+ message CMsgClientSuspended {
110
+ optional uint32 time_end = 1;
111
+ }
112
+
113
+ message CMsgBalancedShuffleLobby {
114
+ }
115
+
116
+ message CMsgInitialQuestionnaireResponse {
117
+ optional uint32 initial_skill = 1;
118
+ }
119
+
120
+ message CMsgDOTARequestMatchesResponse {
121
+ message Series {
122
+ repeated .CMsgDOTAMatch matches = 1;
123
+ optional uint32 series_id = 2;
124
+ optional uint32 series_type = 3;
125
+ }
126
+
127
+ repeated .CMsgDOTAMatch matches = 1;
128
+ repeated .CMsgDOTARequestMatchesResponse.Series series = 2;
129
+ optional uint32 request_id = 3;
130
+ optional uint32 total_results = 4;
131
+ optional uint32 results_remaining = 5;
132
+ }
133
+
134
+ message CMsgDOTAPopup {
135
+ enum PopupID {
136
+ NONE = -1;
137
+ KICKED_FROM_LOBBY = 0;
138
+ KICKED_FROM_PARTY = 1;
139
+ KICKED_FROM_TEAM = 2;
140
+ TEAM_WAS_DISBANDED = 3;
141
+ TEAM_MATCHMAKE_ALREADY_MATCH = 4;
142
+ TEAM_MATCHMAKE_ALREADY_FINDING = 5;
143
+ TEAM_MATCHMAKE_FULL = 6;
144
+ TEAM_MATCHMAKE_FAIL_ADD = 7;
145
+ TEAM_MATCHMAKE_FAIL_ADD_CURRENT = 8;
146
+ TEAM_MATCHMAKE_FAILED_TEAM_MEMBER = 9;
147
+ TEAM_MATCHMAKE_ALREADY_GAME = 10;
148
+ TEAM_MATCHMAKE_FAIL_GET_PARTY = 11;
149
+ MATCHMAKING_DISABLED = 12;
150
+ INVITE_DENIED = 13;
151
+ PARTY_FULL = 14;
152
+ MADE_ADMIN = 15;
153
+ NEED_TO_PURCHASE = 16;
154
+ SIGNON_MESSAGE = 17;
155
+ MATCHMAKING_REGION_OFFLINE = 19;
156
+ TOURNAMENT_GAME_NOT_FOUND = 21;
157
+ TOURNAMENT_GAME_HAS_LOBBY_ID = 22;
158
+ TOURNAMENT_GAME_HAS_MATCH_ID = 23;
159
+ TOURNAMENT_GAME_HAS_NO_RADIANT_TEAM = 24;
160
+ TOURNAMENT_GAME_HAS_NO_DIRE_TEAM = 25;
161
+ TOURNAMENT_GAME_SQL_UPDATE_FAILED = 26;
162
+ NOT_LEAGUE_ADMIN = 27;
163
+ IN_ANOTHER_GAME = 29;
164
+ PARTY_MEMBER_IN_ANOTHER_GAME = 30;
165
+ PARTY_MEMBER_IN_LOW_PRIORITY = 31;
166
+ CLIENT_OUT_OF_DATE = 32;
167
+ SAVE_GAME_CORRUPT = 38;
168
+ INSUFFICIENT_INGOTS = 39;
169
+ COMPETITIVE_MM_NOT_ENOUGH_PLAY_TIME_PLAY_MORE_CASUAL = 42;
170
+ PARTY_LEADER_JOINED_LOBBY = 44;
171
+ WEEKEND_TOURNEY_UNMATCHED = 48;
172
+ POST_MATCH_SURVEY = 49;
173
+ TROPHY_AWARDED = 50;
174
+ TROPHY_LEVEL_UP = 51;
175
+ ALL_HERO_CHALLENGE_PROGRESS = 52;
176
+ NEED_INITIAL_SKILL = 53;
177
+ NEED_INITIAL_SKILL_IN_PARTY = 54;
178
+ TARGET_ENGINE_MISMATCH = 55;
179
+ VAC_NOT_VERIFIED = 56;
180
+ KICKED_FROM_QUEUE_EVENT_STARTING = 57;
181
+ KICKED_FROM_QUEUE_EVENT_ENDING = 58;
182
+ LOBBY_FULL = 62;
183
+ EVENT_POINTS_EARNED = 63;
184
+ CUSTOM_GAME_INCORRECT_VERSION = 64;
185
+ LIMITED_USER_CHAT = 66;
186
+ EVENT_PREMIUM_POINTS_EARNED = 67;
187
+ LOBBY_MVP_AWARDED = 68;
188
+ LOW_BADGE_LEVEL_CHAT = 71;
189
+ LOW_WINS_CHAT = 72;
190
+ UNVERIFIED_USER_CHAT = 73;
191
+ PARTY_STARTED_FINDING_EVENT_MATCH = 74;
192
+ GENERIC_INFO = 69;
193
+ GENERIC_ERROR = 70;
194
+ RANK_TIER_UPDATED = 75;
195
+ CUSTOM_GAME_COOLDOWN_RESTRICTED = 76;
196
+ CREATE_LOBBY_FAILED_TOO_MUCH_PLAYTIME = 77;
197
+ CUSTOM_GAME_TOO_FEW_GAMES = 78;
198
+ COMM_SCORE_TOO_LOW = 79;
199
+ }
200
+
201
+ optional .CMsgDOTAPopup.PopupID id = 1 [default = NONE];
202
+ optional string custom_text = 2;
203
+ optional sint32 int_data = 3;
204
+ optional bytes popup_data = 4;
205
+ optional string loc_token_header = 5;
206
+ optional string loc_token_msg = 6;
207
+ repeated string var_names = 7;
208
+ repeated string var_values = 8;
209
+ optional string debug_text = 9;
210
+ }
211
+
212
+ message CMsgDOTAReportsRemainingRequest {
213
+ }
214
+
215
+ message CMsgDOTAReportsRemainingResponse {
216
+ optional uint32 num_positive_reports_remaining = 1;
217
+ optional uint32 num_negative_reports_remaining = 2;
218
+ optional uint32 num_positive_reports_total = 3;
219
+ optional uint32 num_negative_reports_total = 4;
220
+ optional uint32 num_comms_reports_remaining = 5;
221
+ optional uint32 num_comms_reports_total = 6;
222
+ }
223
+
224
+ message CMsgDOTASubmitPlayerReport {
225
+ optional uint32 target_account_id = 1;
226
+ optional uint32 report_flags = 2;
227
+ optional uint64 lobby_id = 4;
228
+ optional string comment = 5;
229
+ }
230
+
231
+ message CMsgDOTASubmitPlayerReportResponse {
232
+ enum EResult {
233
+ k_eInternalError = 0;
234
+ k_eSuccess = 1;
235
+ k_eDuplicateReport = 2;
236
+ k_eMixedReportFlags = 3;
237
+ k_eTooLate = 4;
238
+ k_eInvalidPregameReport = 5;
239
+ k_eHasntChatted = 6;
240
+ k_eInvalid = 7;
241
+ k_eOwnership = 8;
242
+ k_eMissingRequirements = 9;
243
+ k_eInvalidRoleReport = 10;
244
+ k_eInvalidCoachReport = 11;
245
+ k_eNoRemainingReports = 12;
246
+ k_eInvalidMember = 13;
247
+ }
248
+
249
+ optional uint32 target_account_id = 1;
250
+ optional uint32 report_flags = 2;
251
+ optional string debug_message = 4;
252
+ optional .CMsgDOTASubmitPlayerReportResponse.EResult enum_result = 5 [default = k_eInternalError];
253
+ }
254
+
255
+ message CMsgDOTASubmitPlayerAvoidRequest {
256
+ optional uint32 target_account_id = 1;
257
+ optional uint64 lobby_id = 4;
258
+ optional string user_note = 5;
259
+ }
260
+
261
+ message CMsgDOTASubmitPlayerAvoidRequestResponse {
262
+ optional uint32 target_account_id = 1;
263
+ optional uint32 result = 2;
264
+ optional string debug_message = 3;
265
+ }
266
+
267
+ message CMsgDOTASubmitPlayerReportV2 {
268
+ optional uint32 target_account_id = 1;
269
+ repeated uint32 report_reason = 2;
270
+ optional uint64 lobby_id = 3;
271
+ optional float game_time = 4;
272
+ optional uint32 debug_slot = 5;
273
+ optional fixed64 debug_match_id = 6;
274
+ }
275
+
276
+ message CMsgDOTASubmitPlayerReportResponseV2 {
277
+ enum EResult {
278
+ k_eInternalError = 0;
279
+ k_eSuccess = 1;
280
+ k_eDuplicateReport = 2;
281
+ k_eMixedReportFlags = 3;
282
+ k_eTooLate = 4;
283
+ k_eInvalidPregameReport = 5;
284
+ k_eHasntChatted = 6;
285
+ k_eInvalid = 7;
286
+ k_eOwnership = 8;
287
+ k_eMissingRequirements = 9;
288
+ k_eInvalidRoleReport = 10;
289
+ k_eInvalidCoachReport = 11;
290
+ k_eNoRemainingReports = 12;
291
+ k_eInvalidMember = 13;
292
+ k_eCannotReportPartyMember = 14;
293
+ }
294
+
295
+ optional uint32 target_account_id = 1;
296
+ repeated uint32 report_reason = 2;
297
+ optional string debug_message = 4;
298
+ optional .CMsgDOTASubmitPlayerReportResponseV2.EResult enum_result = 5 [default = k_eInternalError];
299
+ }
300
+
301
+ message CMsgDOTASubmitLobbyMVPVote {
302
+ optional uint32 target_account_id = 1;
303
+ }
304
+
305
+ message CMsgDOTASubmitLobbyMVPVoteResponse {
306
+ optional uint32 target_account_id = 1;
307
+ optional uint32 eresult = 2;
308
+ }
309
+
310
+ message CMsgDOTALobbyMVPAwarded {
311
+ optional uint64 match_id = 1;
312
+ repeated uint32 mvp_account_id = 2;
313
+ }
314
+
315
+ message CMsgDOTAKickedFromMatchmakingQueue {
316
+ optional .MatchType match_type = 1 [default = MATCH_TYPE_CASUAL];
317
+ }
318
+
319
+ message CMsgGCMatchDetailsRequest {
320
+ optional uint64 match_id = 1;
321
+ }
322
+
323
+ message CMsgGCMatchDetailsResponse {
324
+ optional uint32 result = 1;
325
+ optional .CMsgDOTAMatch match = 2;
326
+ optional .DOTAMatchVote vote = 3 [default = DOTAMatchVote_INVALID];
327
+ }
328
+
329
+ message CMsgDOTAProfileTickets {
330
+ message LeaguePass {
331
+ optional uint32 league_id = 1;
332
+ optional uint32 item_def = 2;
333
+ }
334
+
335
+ optional uint32 result = 1;
336
+ optional uint32 account_id = 2;
337
+ repeated .CMsgDOTAProfileTickets.LeaguePass league_passes = 3;
338
+ }
339
+
340
+ message CMsgClientToGCGetProfileTickets {
341
+ optional uint32 account_id = 1;
342
+ }
343
+
344
+ message CMsgGCToClientPartySearchInvites {
345
+ repeated .CMsgGCToClientPartySearchInvite invites = 1;
346
+ }
347
+
348
+ message CMsgDOTAWelcome {
349
+ message CExtraMsg {
350
+ optional uint32 id = 1;
351
+ optional bytes contents = 2;
352
+ }
353
+
354
+ optional uint32 store_item_hash = 5;
355
+ optional uint32 timeplayedconsecutively = 6;
356
+ optional bool allow_3rd_party_match_history = 7;
357
+ optional uint32 last_ip_address = 13;
358
+ optional bool profile_private = 17;
359
+ optional uint32 currency = 18;
360
+ optional bool should_request_player_origin = 20;
361
+ optional uint32 gc_socache_file_version = 22;
362
+ optional bool is_perfect_world_test_account = 24;
363
+ repeated .CMsgDOTAWelcome.CExtraMsg extra_messages = 26;
364
+ optional uint64 minimum_recent_item_id = 27;
365
+ optional .EEvent active_event = 28 [default = EVENT_ID_NONE];
366
+ optional uint32 additional_user_message = 29;
367
+ optional uint32 custom_game_whitelist_version = 30;
368
+ optional .CMsgGCToClientPartySearchInvites party_search_friend_invites = 31;
369
+ optional int32 remaining_playtime = 32 [default = -1];
370
+ optional bool disable_guild_persona_info = 33;
371
+ repeated .CExtraMsgBlock extra_message_blocks = 34;
372
+ }
373
+
374
+ message CSODOTAGameHeroFavorites {
375
+ optional uint32 account_id = 1 [(key_field) = true];
376
+ optional uint32 hero_id = 2 [(key_field) = true];
377
+ }
378
+
379
+ message CMsgDOTAMatchVotes {
380
+ message PlayerVote {
381
+ optional uint32 account_id = 1;
382
+ optional uint32 vote = 2;
383
+ }
384
+
385
+ optional uint64 match_id = 1;
386
+ repeated .CMsgDOTAMatchVotes.PlayerVote votes = 2;
387
+ }
388
+
389
+ message CMsgMatchmakingMatchGroupInfo {
390
+ optional uint32 players_searching = 1;
391
+ optional sint32 auto_region_select_ping_penalty = 2;
392
+ optional sint32 auto_region_select_ping_penalty_custom = 4;
393
+ optional .EMatchGroupServerStatus status = 3 [default = k_EMatchGroupServerStatus_OK];
394
+ }
395
+
396
+ message CMsgDOTAMatchmakingStatsRequest {
397
+ }
398
+
399
+ message CMsgDOTAMatchmakingStatsResponse {
400
+ optional uint32 matchgroups_version = 1;
401
+ repeated uint32 legacy_searching_players_by_group_source2 = 7;
402
+ repeated .CMsgMatchmakingMatchGroupInfo match_groups = 8;
403
+ }
404
+
405
+ message CMsgDOTAUpdateMatchmakingStats {
406
+ optional .CMsgDOTAMatchmakingStatsResponse stats = 1;
407
+ }
408
+
409
+ message CMsgDOTAUpdateMatchManagementStats {
410
+ optional .CMsgDOTAMatchmakingStatsResponse stats = 1;
411
+ }
412
+
413
+ message CMsgDOTASetMatchHistoryAccess {
414
+ optional bool allow_3rd_party_match_history = 1;
415
+ }
416
+
417
+ message CMsgDOTASetMatchHistoryAccessResponse {
418
+ optional uint32 eresult = 1 [default = 2];
419
+ }
420
+
421
+ message CMsgDOTANotifyAccountFlagsChange {
422
+ optional uint32 accountid = 1;
423
+ optional uint32 account_flags = 2;
424
+ }
425
+
426
+ message CMsgDOTASetProfilePrivacy {
427
+ optional bool profile_private = 1;
428
+ }
429
+
430
+ message CMsgDOTASetProfilePrivacyResponse {
431
+ optional uint32 eresult = 1;
432
+ }
433
+
434
+ message CMsgUpgradeLeagueItem {
435
+ optional uint64 match_id = 1;
436
+ optional uint32 league_id = 2;
437
+ }
438
+
439
+ message CMsgUpgradeLeagueItemResponse {
440
+ }
441
+
442
+ message CMsgGCWatchDownloadedReplay {
443
+ optional uint64 match_id = 1;
444
+ optional .DOTA_WatchReplayType watch_type = 2 [default = DOTA_WATCH_REPLAY_NORMAL];
445
+ }
446
+
447
+ message CMsgClientsRejoinChatChannels {
448
+ }
449
+
450
+ message CMsgGCGetHeroStandings {
451
+ }
452
+
453
+ message CMsgGCGetHeroStandingsResponse {
454
+ message Hero {
455
+ optional uint32 hero_id = 1;
456
+ optional uint32 wins = 2;
457
+ optional uint32 losses = 3;
458
+ optional uint32 win_streak = 4;
459
+ optional uint32 best_win_streak = 5;
460
+ optional float avg_kills = 6;
461
+ optional float avg_deaths = 7;
462
+ optional float avg_assists = 8;
463
+ optional float avg_gpm = 9;
464
+ optional float avg_xpm = 10;
465
+ optional uint32 best_kills = 11;
466
+ optional uint32 best_assists = 12;
467
+ optional uint32 best_gpm = 13;
468
+ optional uint32 best_xpm = 14;
469
+ optional float performance = 15;
470
+ optional uint32 wins_with_ally = 16;
471
+ optional uint32 losses_with_ally = 17;
472
+ optional uint32 wins_against_enemy = 18;
473
+ optional uint32 losses_against_enemy = 19;
474
+ optional uint32 networth_peak = 20;
475
+ optional uint32 lasthit_peak = 21;
476
+ optional uint32 deny_peak = 22;
477
+ optional uint32 damage_peak = 23;
478
+ optional uint32 longest_game_peak = 24;
479
+ optional uint32 healing_peak = 25;
480
+ optional float avg_lasthits = 26;
481
+ optional float avg_denies = 27;
482
+ }
483
+
484
+ repeated .CMsgGCGetHeroStandingsResponse.Hero standings = 1;
485
+ }
486
+
487
+ message CMatchPlayerTimedStatAverages {
488
+ optional float kills = 2;
489
+ optional float deaths = 3;
490
+ optional float assists = 4;
491
+ optional float net_worth = 5;
492
+ optional float last_hits = 6;
493
+ optional float denies = 7;
494
+ optional float item_value = 8;
495
+ optional float support_gold_spent = 9;
496
+ optional float camps_stacked = 10;
497
+ optional float wards_placed = 11;
498
+ optional float dewards = 12;
499
+ optional float triple_kills = 13;
500
+ optional float rampages = 14;
501
+ }
502
+
503
+ message CMatchPlayerTimedStatStdDeviations {
504
+ optional float kills = 2 [default = 1];
505
+ optional float deaths = 3 [default = 1];
506
+ optional float assists = 4 [default = 1];
507
+ optional float net_worth = 5 [default = 1];
508
+ optional float last_hits = 6 [default = 1];
509
+ optional float denies = 7 [default = 1];
510
+ optional float item_value = 8 [default = 1];
511
+ optional float support_gold_spent = 9 [default = 1];
512
+ optional float camps_stacked = 10 [default = 1];
513
+ optional float wards_placed = 11 [default = 1];
514
+ optional float dewards = 12 [default = 1];
515
+ optional float triple_kills = 13 [default = 1];
516
+ optional float rampages = 14 [default = 1];
517
+ }
518
+
519
+ message CMsgGCGetHeroTimedStatsResponse {
520
+ message TimedStatsContainer {
521
+ optional uint32 time = 1;
522
+ optional .CMatchPlayerTimedStatAverages all_stats = 2;
523
+ optional .CMatchPlayerTimedStatAverages winning_stats = 3;
524
+ optional .CMatchPlayerTimedStatAverages losing_stats = 4;
525
+ optional .CMatchPlayerTimedStatStdDeviations winning_stddevs = 5;
526
+ optional .CMatchPlayerTimedStatStdDeviations losing_stddevs = 6;
527
+ }
528
+
529
+ message RankChunkedStats {
530
+ optional uint32 rank_chunk = 1;
531
+ repeated .CMsgGCGetHeroTimedStatsResponse.TimedStatsContainer timed_stats = 2;
532
+ }
533
+
534
+ optional uint32 hero_id = 1;
535
+ repeated .CMsgGCGetHeroTimedStatsResponse.RankChunkedStats rank_chunked_stats = 2;
536
+ }
537
+
538
+ message CMsgGCItemEditorReservationsRequest {
539
+ }
540
+
541
+ message CMsgGCItemEditorReservation {
542
+ optional uint32 def_index = 1;
543
+ optional string name = 2;
544
+ }
545
+
546
+ message CMsgGCItemEditorReservationsResponse {
547
+ repeated .CMsgGCItemEditorReservation reservations = 1;
548
+ }
549
+
550
+ message CMsgGCItemEditorReserveItemDef {
551
+ optional uint32 def_index = 1;
552
+ optional string username = 2;
553
+ }
554
+
555
+ message CMsgGCItemEditorReserveItemDefResponse {
556
+ optional uint32 def_index = 1;
557
+ optional string username = 2;
558
+ optional uint32 result = 3;
559
+ }
560
+
561
+ message CMsgGCItemEditorReleaseReservation {
562
+ optional uint32 def_index = 1;
563
+ optional string username = 2;
564
+ }
565
+
566
+ message CMsgGCItemEditorReleaseReservationResponse {
567
+ optional uint32 def_index = 1;
568
+ optional bool released = 2;
569
+ }
570
+
571
+ message CMsgDOTARewardTutorialPrizes {
572
+ optional uint32 location_id = 1;
573
+ optional bool tracking_only = 2;
574
+ }
575
+
576
+ message CMsgFlipLobbyTeams {
577
+ }
578
+
579
+ message CMsgGCLobbyUpdateBroadcastChannelInfo {
580
+ optional uint32 channel_id = 1;
581
+ optional string country_code = 2;
582
+ optional string description = 3;
583
+ optional string language_code = 4;
584
+ }
585
+
586
+ message CMsgDOTAClaimEventActionData {
587
+ message GrantItemGiftData {
588
+ optional uint32 give_to_account_id = 1;
589
+ optional string gift_message = 2;
590
+ }
591
+
592
+ optional .CMsgDOTAClaimEventActionData.GrantItemGiftData grant_item_gift_data = 4;
593
+ }
594
+
595
+ message CMsgDOTAClaimEventAction {
596
+ optional uint32 event_id = 1;
597
+ optional uint32 action_id = 2;
598
+ optional uint32 quantity = 3;
599
+ optional .CMsgDOTAClaimEventActionData data = 4;
600
+ }
601
+
602
+ message CMsgDOTAClaimEventActionResponse {
603
+ message MysteryItemRewardData {
604
+ optional uint32 item_def = 1;
605
+ optional uint32 item_category = 2;
606
+ }
607
+
608
+ message LootListRewardData {
609
+ repeated uint32 item_def = 1;
610
+ }
611
+
612
+ message ActionListRewardData {
613
+ optional uint32 action_id = 1;
614
+ optional bytes result_reward_data = 2;
615
+ }
616
+
617
+ message GrantedRewardData {
618
+ optional uint32 grant_index = 1;
619
+ optional uint32 score_index = 2;
620
+ optional uint32 reward_index = 3;
621
+ optional bytes reward_data = 4;
622
+ }
623
+
624
+ enum ResultCode {
625
+ Success = 0;
626
+ InvalidEvent = 1;
627
+ EventNotActive = 2;
628
+ InvalidAction = 3;
629
+ ServerError = 4;
630
+ InsufficientPoints = 5;
631
+ InsufficentLevel = 6;
632
+ AlreadyClaimed = 7;
633
+ SDOLockFailure = 8;
634
+ SDOLoadFailure = 9;
635
+ EventNotOwned = 10;
636
+ Timeout = 11;
637
+ RequiresPlusSubscription = 12;
638
+ InvalidItem = 13;
639
+ AsyncRewards = 14;
640
+ }
641
+
642
+ optional .CMsgDOTAClaimEventActionResponse.ResultCode result = 1 [default = Success];
643
+ repeated .CMsgDOTAClaimEventActionResponse.GrantedRewardData reward_results = 2;
644
+ }
645
+
646
+ message CMsgClientToGCClaimEventActionUsingItem {
647
+ optional uint32 event_id = 1;
648
+ optional uint32 action_id = 2;
649
+ optional uint64 item_id = 3;
650
+ optional uint32 quantity = 4;
651
+ }
652
+
653
+ message CMsgClientToGCClaimEventActionUsingItemResponse {
654
+ optional .CMsgDOTAClaimEventActionResponse action_results = 1;
655
+ }
656
+
657
+ message CMsgGCToClientClaimEventActionUsingItemCompleted {
658
+ optional uint64 item_id = 1;
659
+ optional .CMsgDOTAClaimEventActionResponse action_results = 2;
660
+ }
661
+
662
+ message CMsgDOTAGetEventPoints {
663
+ optional uint32 event_id = 1;
664
+ optional uint32 account_id = 2;
665
+ }
666
+
667
+ message CMsgDOTAGetEventPointsResponse {
668
+ message Action {
669
+ optional uint32 action_id = 1;
670
+ optional uint32 times_completed = 2 [default = 1];
671
+ }
672
+
673
+ optional uint32 total_points = 1;
674
+ optional uint32 total_premium_points = 2;
675
+ optional uint32 event_id = 3;
676
+ optional uint32 points = 4;
677
+ optional uint32 premium_points = 5;
678
+ repeated .CMsgDOTAGetEventPointsResponse.Action completed_actions = 6;
679
+ optional uint32 account_id = 7;
680
+ optional bool owned = 8;
681
+ optional uint32 audit_action = 9;
682
+ optional uint32 active_season_id = 10;
683
+ }
684
+
685
+ message CMsgDOTAGetPeriodicResource {
686
+ optional uint32 account_id = 1;
687
+ optional uint32 periodic_resource_id = 2;
688
+ optional uint32 timestamp = 3;
689
+ }
690
+
691
+ message CMsgDOTAGetPeriodicResourceResponse {
692
+ optional uint32 periodic_resource_max = 1;
693
+ optional uint32 periodic_resource_used = 2;
694
+ }
695
+
696
+ message CMsgDOTAPeriodicResourceUpdated {
697
+ optional .CMsgDOTAGetPeriodicResource periodic_resource_key = 1;
698
+ optional .CMsgDOTAGetPeriodicResourceResponse periodic_resource_value = 2;
699
+ }
700
+
701
+ message CMsgDOTACompendiumSelection {
702
+ optional uint32 selection_index = 1;
703
+ optional uint32 selection = 2;
704
+ optional uint32 leagueid = 3;
705
+ }
706
+
707
+ message CMsgDOTACompendiumSelectionResponse {
708
+ optional uint32 eresult = 1 [default = 2];
709
+ }
710
+
711
+ message CMsgDOTACompendiumData {
712
+ repeated .CMsgDOTACompendiumSelection selections = 1;
713
+ }
714
+
715
+ message CMsgDOTACompendiumDataRequest {
716
+ optional uint32 account_id = 1;
717
+ optional uint32 leagueid = 2;
718
+ }
719
+
720
+ message CMsgDOTACompendiumDataResponse {
721
+ optional uint32 account_id = 1;
722
+ optional uint32 leagueid = 2;
723
+ optional uint32 result = 3 [default = 2];
724
+ optional .CMsgDOTACompendiumData compendium_data = 4;
725
+ }
726
+
727
+ message CMsgDOTAGetPlayerMatchHistory {
728
+ optional uint32 account_id = 1;
729
+ optional uint64 start_at_match_id = 2;
730
+ optional uint32 matches_requested = 3;
731
+ optional uint32 hero_id = 4;
732
+ optional uint32 request_id = 5;
733
+ optional bool include_practice_matches = 7;
734
+ optional bool include_custom_games = 8;
735
+ optional bool include_event_games = 9;
736
+ }
737
+
738
+ message CMsgDOTAGetPlayerMatchHistoryResponse {
739
+ message Match {
740
+ optional uint64 match_id = 1;
741
+ optional uint32 start_time = 2;
742
+ optional uint32 hero_id = 3;
743
+ optional bool winner = 4;
744
+ optional uint32 game_mode = 5;
745
+ optional int32 rank_change = 6;
746
+ optional uint32 previous_rank = 7;
747
+ optional uint32 lobby_type = 8;
748
+ optional bool solo_rank = 9;
749
+ optional bool abandon = 10;
750
+ optional uint32 duration = 11;
751
+ optional uint32 engine = 12;
752
+ optional bool active_plus_subscription = 13;
753
+ optional bool seasonal_rank = 14;
754
+ optional uint32 tourney_id = 15;
755
+ optional uint32 tourney_round = 16;
756
+ optional uint32 tourney_tier = 17;
757
+ optional uint32 tourney_division = 18;
758
+ optional uint32 team_id = 19;
759
+ optional string team_name = 20;
760
+ optional uint64 ugc_team_ui_logo = 21;
761
+ }
762
+
763
+ repeated .CMsgDOTAGetPlayerMatchHistoryResponse.Match matches = 1;
764
+ optional uint32 request_id = 2;
765
+ }
766
+
767
+ message CMsgGCNotificationsRequest {
768
+ }
769
+
770
+ message CMsgGCNotifications_Notification {
771
+ optional uint64 id = 1;
772
+ optional uint32 type = 2;
773
+ optional uint32 timestamp = 3;
774
+ optional uint32 reference_a = 4;
775
+ optional uint32 reference_b = 5;
776
+ optional uint32 reference_c = 6;
777
+ optional string message = 7;
778
+ optional bool unread = 8;
779
+ }
780
+
781
+ message CMsgGCNotificationsUpdate {
782
+ enum EResult {
783
+ SUCCESS = 0;
784
+ ERROR_UNSPECIFIED = 1;
785
+ }
786
+
787
+ optional .CMsgGCNotificationsUpdate.EResult result = 1 [default = SUCCESS];
788
+ repeated .CMsgGCNotifications_Notification notifications = 2;
789
+ }
790
+
791
+ message CMsgGCNotificationsResponse {
792
+ optional .CMsgGCNotificationsUpdate update = 1;
793
+ }
794
+
795
+ message CMsgGCNotificationsMarkReadRequest {
796
+ }
797
+
798
+ message CMsgGCPlayerInfoSubmit {
799
+ optional string name = 1;
800
+ optional string country_code = 2;
801
+ optional uint32 fantasy_role = 3;
802
+ optional uint32 team_id = 4;
803
+ optional string sponsor = 5;
804
+ }
805
+
806
+ message CMsgGCPlayerInfoSubmitResponse {
807
+ enum EResult {
808
+ SUCCESS = 0;
809
+ ERROR_UNSPECIFIED = 1;
810
+ ERROR_INFO_LOCKED = 2;
811
+ ERROR_NOT_MEMBER_OF_TEAM = 3;
812
+ }
813
+
814
+ optional .CMsgGCPlayerInfoSubmitResponse.EResult result = 1 [default = SUCCESS];
815
+ }
816
+
817
+ message CMsgDOTAEmoticonAccessSDO {
818
+ optional uint32 account_id = 1;
819
+ optional bytes unlocked_emoticons = 2;
820
+ }
821
+
822
+ message CMsgClientToGCEmoticonDataRequest {
823
+ }
824
+
825
+ message CMsgGCToClientEmoticonData {
826
+ optional .CMsgDOTAEmoticonAccessSDO emoticon_access = 1;
827
+ }
828
+
829
+ message CMsgGCToClientTournamentItemDrop {
830
+ optional uint32 item_def = 1;
831
+ optional uint32 event_type = 2;
832
+ }
833
+
834
+ message CMsgClientToGCGetAllHeroOrder {
835
+ }
836
+
837
+ message CMsgClientToGCGetAllHeroOrderResponse {
838
+ repeated uint32 hero_ids = 1;
839
+ }
840
+
841
+ message CMsgClientToGCGetAllHeroProgress {
842
+ optional uint32 account_id = 1;
843
+ }
844
+
845
+ message CMsgClientToGCGetAllHeroProgressResponse {
846
+ optional uint32 account_id = 1;
847
+ optional uint32 curr_hero_id = 2;
848
+ optional uint32 laps_completed = 3;
849
+ optional uint32 curr_hero_games = 4;
850
+ optional uint32 curr_lap_time_started = 5;
851
+ optional uint32 curr_lap_games = 6;
852
+ optional uint32 best_lap_games = 7;
853
+ optional uint32 best_lap_time = 8;
854
+ optional uint32 lap_heroes_completed = 9;
855
+ optional uint32 lap_heroes_remaining = 10;
856
+ optional uint32 next_hero_id = 11;
857
+ optional uint32 prev_hero_id = 12;
858
+ optional uint32 prev_hero_games = 13;
859
+ optional float prev_avg_tries = 14;
860
+ optional float curr_avg_tries = 15;
861
+ optional float next_avg_tries = 16;
862
+ optional float full_lap_avg_tries = 17;
863
+ optional float curr_lap_avg_tries = 18;
864
+ optional string profile_name = 19;
865
+ optional uint32 start_hero_id = 20;
866
+ }
867
+
868
+ message CMsgClientToGCGetTrophyList {
869
+ optional uint32 account_id = 1;
870
+ }
871
+
872
+ message CMsgClientToGCGetTrophyListResponse {
873
+ message Trophy {
874
+ optional uint32 trophy_id = 1;
875
+ optional uint32 trophy_score = 2;
876
+ optional uint32 last_updated = 3;
877
+ }
878
+
879
+ repeated .CMsgClientToGCGetTrophyListResponse.Trophy trophies = 2;
880
+ }
881
+
882
+ message CMsgGCToClientTrophyAwarded {
883
+ optional uint32 trophy_id = 1;
884
+ optional uint32 trophy_score = 2;
885
+ optional uint32 trophy_old_score = 3;
886
+ optional uint32 last_updated = 4;
887
+ }
888
+
889
+ message CMsgClientToGCRankRequest {
890
+ optional .ERankType rank_type = 1 [default = k_ERankType_Invalid];
891
+ }
892
+
893
+ message CMsgGCToClientRankResponse {
894
+ enum EResultCode {
895
+ k_Succeeded = 0;
896
+ k_Failed = 1;
897
+ k_InvalidRankType = 2;
898
+ }
899
+
900
+ optional .CMsgGCToClientRankResponse.EResultCode result = 1 [default = k_Succeeded];
901
+ optional uint32 rank_value = 2;
902
+ optional uint32 rank_data1 = 3;
903
+ optional uint32 rank_data2 = 4;
904
+ optional uint32 rank_data3 = 5;
905
+ }
906
+
907
+ message CMsgGCToClientRankUpdate {
908
+ optional .ERankType rank_type = 1 [default = k_ERankType_Invalid];
909
+ optional .CMsgGCToClientRankResponse rank_info = 2;
910
+ }
911
+
912
+ message CMsgClientToGCGetProfileCard {
913
+ optional uint32 account_id = 1;
914
+ }
915
+
916
+ message CMsgClientToGCSetProfileCardSlots {
917
+ message CardSlot {
918
+ optional uint32 slot_id = 1;
919
+ optional .EProfileCardSlotType slot_type = 2 [default = k_EProfileCardSlotType_Empty];
920
+ optional uint64 slot_value = 3;
921
+ }
922
+
923
+ repeated .CMsgClientToGCSetProfileCardSlots.CardSlot slots = 1;
924
+ }
925
+
926
+ message CMsgClientToGCGetProfileCardStats {
927
+ }
928
+
929
+ message CMsgClientToGCCreateHeroStatue {
930
+ optional uint64 source_item_id = 1;
931
+ optional uint32 hero_id = 3;
932
+ optional string sequence_name = 4;
933
+ optional float cycle = 5;
934
+ repeated uint32 wearables = 6;
935
+ optional string inscription = 7;
936
+ repeated uint32 styles = 8;
937
+ optional uint64 reforger_item_id = 9;
938
+ optional bool tournament_drop = 10;
939
+ }
940
+
941
+ message CMsgGCToClientHeroStatueCreateResult {
942
+ optional uint64 resulting_item_id = 1;
943
+ }
944
+
945
+ message CMsgClientToGCPlayerStatsRequest {
946
+ optional uint32 account_id = 1;
947
+ }
948
+
949
+ message CMsgGCToClientPlayerStatsResponse {
950
+ optional uint32 account_id = 1;
951
+ repeated float player_stats = 2;
952
+ optional uint32 match_count = 3;
953
+ optional float mean_gpm = 4;
954
+ optional float mean_xppm = 5;
955
+ optional float mean_lasthits = 6;
956
+ optional uint32 rampages = 7;
957
+ optional uint32 triple_kills = 8;
958
+ optional uint32 first_blood_claimed = 9;
959
+ optional uint32 first_blood_given = 10;
960
+ optional uint32 couriers_killed = 11;
961
+ optional uint32 aegises_snatched = 12;
962
+ optional uint32 cheeses_eaten = 13;
963
+ optional uint32 creeps_stacked = 14;
964
+ optional float fight_score = 15;
965
+ optional float farm_score = 16;
966
+ optional float support_score = 17;
967
+ optional float push_score = 18;
968
+ optional float versatility_score = 19;
969
+ optional float mean_networth = 20;
970
+ optional float mean_damage = 21;
971
+ optional float mean_heals = 22;
972
+ optional uint32 rapiers_purchased = 23;
973
+ }
974
+
975
+ message CMsgClientToGCCustomGamesFriendsPlayedRequest {
976
+ }
977
+
978
+ message CMsgGCToClientCustomGamesFriendsPlayedResponse {
979
+ message CustomGame {
980
+ optional uint64 custom_game_id = 1;
981
+ repeated uint32 account_ids = 2;
982
+ }
983
+
984
+ optional uint32 account_id = 1;
985
+ repeated .CMsgGCToClientCustomGamesFriendsPlayedResponse.CustomGame games = 2;
986
+ }
987
+
988
+ message CMsgClientToGCSocialFeedPostCommentRequest {
989
+ optional uint64 event_id = 1;
990
+ optional string comment = 2;
991
+ }
992
+
993
+ message CMsgGCToClientSocialFeedPostCommentResponse {
994
+ optional bool success = 1;
995
+ }
996
+
997
+ message CMsgClientToGCSocialFeedPostMessageRequest {
998
+ optional string message = 1;
999
+ optional uint64 match_id = 2;
1000
+ optional uint32 match_timestamp = 3;
1001
+ }
1002
+
1003
+ message CMsgGCToClientSocialFeedPostMessageResponse {
1004
+ optional bool success = 1;
1005
+ }
1006
+
1007
+ message CMsgClientToGCFriendsPlayedCustomGameRequest {
1008
+ optional uint64 custom_game_id = 1;
1009
+ }
1010
+
1011
+ message CMsgGCToClientFriendsPlayedCustomGameResponse {
1012
+ optional uint64 custom_game_id = 1;
1013
+ repeated uint32 account_ids = 2;
1014
+ }
1015
+
1016
+ message CMsgDOTAPartyRichPresence {
1017
+ message Member {
1018
+ optional fixed64 steam_id = 1;
1019
+ optional bool coach = 2;
1020
+ }
1021
+
1022
+ message WeekendTourney {
1023
+ optional uint32 division = 1;
1024
+ optional uint32 skill_level = 2;
1025
+ optional uint32 round = 3;
1026
+ optional uint32 tournament_id = 4;
1027
+ optional uint32 state_seq_num = 5;
1028
+ optional .EWeekendTourneyRichPresenceEvent event = 6 [default = k_EWeekendTourneyRichPresenceEvent_None];
1029
+ optional uint32 event_round = 7;
1030
+ }
1031
+
1032
+ optional fixed64 party_id = 1;
1033
+ optional .CSODOTAParty.State party_state = 2 [default = UI];
1034
+ optional bool open = 3;
1035
+ optional bool low_priority = 5;
1036
+ optional uint32 team_id = 7;
1037
+ optional string team_name = 8;
1038
+ optional uint64 ugc_team_ui_logo = 9;
1039
+ repeated .CMsgDOTAPartyRichPresence.Member members = 4;
1040
+ optional .CMsgDOTAPartyRichPresence.WeekendTourney weekend_tourney = 6;
1041
+ }
1042
+
1043
+ message CMsgDOTALobbyRichPresence {
1044
+ optional fixed64 lobby_id = 1;
1045
+ optional .CSODOTALobby.State lobby_state = 2 [default = UI];
1046
+ optional bool password = 3;
1047
+ optional .DOTA_GameMode game_mode = 4 [default = DOTA_GAMEMODE_NONE];
1048
+ optional uint32 member_count = 5;
1049
+ optional uint32 max_member_count = 6;
1050
+ optional fixed64 custom_game_id = 7;
1051
+ optional string name = 8;
1052
+ optional uint32 lobby_type = 9;
1053
+ }
1054
+
1055
+ message CMsgDOTACustomGameListenServerStartedLoading {
1056
+ optional fixed64 lobby_id = 1;
1057
+ optional uint64 custom_game_id = 2;
1058
+ repeated uint32 lobby_members = 3;
1059
+ optional uint32 start_time = 4;
1060
+ }
1061
+
1062
+ message CMsgDOTACustomGameClientFinishedLoading {
1063
+ optional fixed64 lobby_id = 1;
1064
+ optional uint32 loading_duration = 2;
1065
+ optional sint32 result_code = 3;
1066
+ optional string result_string = 4;
1067
+ optional uint32 signon_states = 5;
1068
+ optional string comment = 6;
1069
+ }
1070
+
1071
+ message CMsgClientToGCApplyGemCombiner {
1072
+ optional uint64 item_id_1 = 1;
1073
+ optional uint64 item_id_2 = 2;
1074
+ }
1075
+
1076
+ message CMsgClientToGCH264Unsupported {
1077
+ }
1078
+
1079
+ message CMsgClientToGCGetQuestProgress {
1080
+ repeated uint32 quest_ids = 1;
1081
+ }
1082
+
1083
+ message CMsgClientToGCGetQuestProgressResponse {
1084
+ message Challenge {
1085
+ optional uint32 challenge_id = 1;
1086
+ optional uint32 time_completed = 2;
1087
+ optional uint32 attempts = 3;
1088
+ optional uint32 hero_id = 4;
1089
+ optional uint32 template_id = 5;
1090
+ optional uint32 quest_rank = 6;
1091
+ }
1092
+
1093
+ message Quest {
1094
+ optional uint32 quest_id = 1;
1095
+ repeated .CMsgClientToGCGetQuestProgressResponse.Challenge completed_challenges = 2;
1096
+ }
1097
+
1098
+ optional bool success = 1;
1099
+ repeated .CMsgClientToGCGetQuestProgressResponse.Quest quests = 2;
1100
+ }
1101
+
1102
+ message CMsgGCToClientMatchSignedOut {
1103
+ optional uint64 match_id = 1;
1104
+ }
1105
+
1106
+ message CMsgGCGetHeroStatsHistory {
1107
+ optional uint32 hero_id = 1;
1108
+ }
1109
+
1110
+ message CMsgGCGetHeroStatsHistoryResponse {
1111
+ optional uint32 hero_id = 1;
1112
+ repeated .CMsgDOTASDOHeroStatsHistory records = 2;
1113
+ }
1114
+
1115
+ message CMsgPlayerConductScorecardRequest {
1116
+ }
1117
+
1118
+ message CMsgPlayerConductScorecard {
1119
+ enum EBehaviorRating {
1120
+ k_eBehaviorGood = 0;
1121
+ k_eBehaviorWarning = 1;
1122
+ k_eBehaviorBad = 2;
1123
+ }
1124
+
1125
+ optional uint32 account_id = 1;
1126
+ optional uint64 match_id = 2;
1127
+ optional uint32 seq_num = 3;
1128
+ optional uint32 reasons = 4;
1129
+ optional uint32 matches_in_report = 5;
1130
+ optional uint32 matches_clean = 6;
1131
+ optional uint32 matches_reported = 7;
1132
+ optional uint32 matches_abandoned = 8;
1133
+ optional uint32 reports_count = 9;
1134
+ optional uint32 reports_parties = 10;
1135
+ optional uint32 commend_count = 11;
1136
+ optional uint32 date = 14;
1137
+ optional uint32 raw_behavior_score = 17;
1138
+ optional uint32 old_raw_behavior_score = 18;
1139
+ optional uint32 comms_reports = 19;
1140
+ optional uint32 comms_parties = 20;
1141
+ optional .CMsgPlayerConductScorecard.EBehaviorRating behavior_rating = 21 [default = k_eBehaviorGood];
1142
+ }
1143
+
1144
+ message CMsgClientToGCWageringRequest {
1145
+ optional uint32 event_id = 1;
1146
+ }
1147
+
1148
+ message CMsgGCToClientWageringResponse {
1149
+ optional uint32 coins_remaining = 1;
1150
+ optional uint32 total_points_won = 2;
1151
+ optional uint32 total_points_wagered = 3;
1152
+ optional uint32 total_points_tipped = 4;
1153
+ optional uint32 success_rate = 5;
1154
+ optional uint32 total_games_wagered = 6;
1155
+ optional uint32 coins_max = 7;
1156
+ optional uint32 rank_wagers_remaining = 8;
1157
+ optional uint32 rank_wagers_max = 9;
1158
+ optional uint32 prediction_tokens_remaining = 10;
1159
+ optional uint32 prediction_tokens_max = 11;
1160
+ optional uint32 bounties_remaining = 12;
1161
+ optional uint32 bounties_max = 13;
1162
+ }
1163
+
1164
+ message CMsgGCToClientWageringUpdate {
1165
+ optional uint32 event_id = 1;
1166
+ optional .CMsgGCToClientWageringResponse wagering_info = 2;
1167
+ }
1168
+
1169
+ message CMsgGCToClientArcanaVotesUpdate {
1170
+ optional uint32 event_id = 1;
1171
+ optional .CMsgClientToGCRequestArcanaVotesRemainingResponse arcana_votes = 2;
1172
+ }
1173
+
1174
+ message CMsgClientToGCGetEventGoals {
1175
+ repeated .EEvent event_ids = 1;
1176
+ }
1177
+
1178
+ message CMsgEventGoals {
1179
+ message EventGoal {
1180
+ optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
1181
+ optional uint32 goal_id = 2;
1182
+ optional uint64 value = 3;
1183
+ }
1184
+
1185
+ repeated .CMsgEventGoals.EventGoal event_goals = 1;
1186
+ }
1187
+
1188
+ message CMsgGCToGCLeaguePredictions {
1189
+ optional uint32 league_id = 1;
1190
+ }
1191
+
1192
+ message CMsgPredictionRankings {
1193
+ message PredictionLine {
1194
+ optional uint32 answer_id = 1;
1195
+ optional string answer_name = 2;
1196
+ optional uint64 answer_logo = 3;
1197
+ optional float answer_value = 4;
1198
+ }
1199
+
1200
+ message Prediction {
1201
+ optional uint32 selection_id = 1;
1202
+ repeated .CMsgPredictionRankings.PredictionLine prediction_lines = 2;
1203
+ }
1204
+
1205
+ repeated .CMsgPredictionRankings.Prediction predictions = 1;
1206
+ }
1207
+
1208
+ message CMsgPredictionResults {
1209
+ message ResultBreakdown {
1210
+ optional uint32 answer_selection = 2;
1211
+ optional float answer_value = 3;
1212
+ }
1213
+
1214
+ message Result {
1215
+ optional uint32 selection_id = 1;
1216
+ repeated .CMsgPredictionResults.ResultBreakdown result_breakdown = 2;
1217
+ }
1218
+
1219
+ repeated .CMsgPredictionResults.Result results = 1;
1220
+ }
1221
+
1222
+ message CMsgClientToGCHasPlayerVotedForMVP {
1223
+ optional uint64 match_id = 1;
1224
+ }
1225
+
1226
+ message CMsgClientToGCHasPlayerVotedForMVPResponse {
1227
+ optional bool result = 1;
1228
+ }
1229
+
1230
+ message CMsgClientToGCVoteForMVP {
1231
+ optional uint64 match_id = 1;
1232
+ optional uint32 account_id = 3;
1233
+ }
1234
+
1235
+ message CMsgClientToGCVoteForMVPResponse {
1236
+ optional bool result = 1;
1237
+ }
1238
+
1239
+ message CMsgClientToGCMVPVoteTimeout {
1240
+ optional uint64 match_id = 1;
1241
+ }
1242
+
1243
+ message CMsgClientToGCMVPVoteTimeoutResponse {
1244
+ optional bool result = 1;
1245
+ }
1246
+
1247
+ message CMsgClientToGCTeammateStatsRequest {
1248
+ }
1249
+
1250
+ message CMsgClientToGCTeammateStatsResponse {
1251
+ message TeammateStat {
1252
+ optional uint32 account_id = 1;
1253
+ optional uint32 games = 2;
1254
+ optional uint32 wins = 3;
1255
+ optional uint32 most_recent_game_timestamp = 4;
1256
+ optional uint64 most_recent_game_match_id = 5;
1257
+ optional float performance = 100;
1258
+ }
1259
+
1260
+ optional bool success = 1;
1261
+ repeated .CMsgClientToGCTeammateStatsResponse.TeammateStat teammate_stats = 2;
1262
+ }
1263
+
1264
+ message CMsgClientToGCVoteForArcana {
1265
+ repeated .CMsgArcanaVoteMatchVotes matches = 1;
1266
+ }
1267
+
1268
+ message CMsgClientToGCVoteForArcanaResponse {
1269
+ enum Result {
1270
+ SUCCEEDED = 0;
1271
+ VOTING_NOT_ENABLED_FOR_ROUND = 1;
1272
+ UNKNOWN_FAILURE = 2;
1273
+ }
1274
+
1275
+ optional .CMsgClientToGCVoteForArcanaResponse.Result result = 1 [default = SUCCEEDED];
1276
+ }
1277
+
1278
+ message CMsgClientToGCRequestArcanaVotesRemaining {
1279
+ }
1280
+
1281
+ message CMsgClientToGCRequestArcanaVotesRemainingResponse {
1282
+ optional bool result = 1;
1283
+ optional uint32 votes_remaining = 2;
1284
+ optional uint32 votes_total = 3;
1285
+ repeated .CMsgArcanaVoteMatchVotes matches_previously_voted_for = 4;
1286
+ }
1287
+
1288
+ message CMsgClientToGCRequestEventPointLogV2 {
1289
+ optional uint32 event_id = 1;
1290
+ }
1291
+
1292
+ message CMsgClientToGCRequestEventPointLogResponseV2 {
1293
+ message LogEntry {
1294
+ optional uint32 timestamp = 1;
1295
+ optional uint32 audit_action = 2;
1296
+ optional int32 event_points = 3;
1297
+ optional uint64 audit_data = 4;
1298
+ }
1299
+
1300
+ optional bool result = 1;
1301
+ optional .EEvent event_id = 2 [default = EVENT_ID_NONE];
1302
+ repeated .CMsgClientToGCRequestEventPointLogResponseV2.LogEntry log_entries = 3;
1303
+ }
1304
+
1305
+ message CMsgClientToGCPublishUserStat {
1306
+ optional uint32 user_stats_event = 1;
1307
+ optional uint64 reference_data = 2;
1308
+ }
1309
+
1310
+ message CMsgClientToGCRequestSlarkGameResult {
1311
+ optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
1312
+ optional uint32 slot_chosen = 2;
1313
+ optional uint32 week = 3;
1314
+ }
1315
+
1316
+ message CMsgClientToGCRequestSlarkGameResultResponse {
1317
+ optional uint32 points_won = 1;
1318
+ optional bool aura_won = 2;
1319
+ }
1320
+
1321
+ message CMsgGCToClientQuestProgressUpdated {
1322
+ message Challenge {
1323
+ optional uint32 challenge_id = 1;
1324
+ optional uint32 time_completed = 2;
1325
+ optional uint32 attempts = 3;
1326
+ optional uint32 hero_id = 4;
1327
+ optional uint32 template_id = 5;
1328
+ optional uint32 quest_rank = 6;
1329
+ optional uint32 max_quest_rank = 7;
1330
+ }
1331
+
1332
+ optional uint32 quest_id = 1;
1333
+ repeated .CMsgGCToClientQuestProgressUpdated.Challenge completed_challenges = 2;
1334
+ }
1335
+
1336
+ message CMsgDOTARedeemItem {
1337
+ optional uint64 currency_id = 1;
1338
+ optional uint32 purchase_def = 2;
1339
+ }
1340
+
1341
+ message CMsgDOTARedeemItemResponse {
1342
+ enum EResultCode {
1343
+ k_Succeeded = 0;
1344
+ k_Failed = 1;
1345
+ }
1346
+
1347
+ optional .CMsgDOTARedeemItemResponse.EResultCode response = 1 [default = k_Succeeded];
1348
+ }
1349
+
1350
+ message CMsgClientToGCSelectCompendiumInGamePrediction {
1351
+ message Prediction {
1352
+ optional uint32 prediction_id = 1;
1353
+ optional uint32 prediction_value = 2;
1354
+ }
1355
+
1356
+ optional uint64 match_id = 1;
1357
+ repeated .CMsgClientToGCSelectCompendiumInGamePrediction.Prediction predictions = 2;
1358
+ optional uint32 league_id = 3;
1359
+ }
1360
+
1361
+ message CMsgClientToGCSelectCompendiumInGamePredictionResponse {
1362
+ enum EResult {
1363
+ SUCCESS = 0;
1364
+ INVALID_MATCH = 1;
1365
+ PREDICTIONS_ARE_CLOSED = 2;
1366
+ OTHER_ERROR = 3;
1367
+ }
1368
+
1369
+ optional .CMsgClientToGCSelectCompendiumInGamePredictionResponse.EResult result = 1 [default = SUCCESS];
1370
+ }
1371
+
1372
+ message CMsgClientToGCOpenPlayerCardPack {
1373
+ optional uint64 player_card_pack_item_id = 1;
1374
+ optional uint32 team_id = 2;
1375
+ optional uint32 deprecated_league_id = 3;
1376
+ optional .ELeagueRegion region = 4 [default = LEAGUE_REGION_UNSET];
1377
+ }
1378
+
1379
+ message CMsgClientToGCOpenPlayerCardPackResponse {
1380
+ enum Result {
1381
+ SUCCESS = 1;
1382
+ ERROR_INTERNAL = 2;
1383
+ ERROR_FAILED_TO_FIND_PACK = 3;
1384
+ ERROR_ITEM_NOT_CARD_PACK = 4;
1385
+ ERROR_FAILED_CARD_CREATE = 5;
1386
+ ERROR_INVALID_TEAM_ID_ATTRIBUTE = 6;
1387
+ ERROR_INVALID_TEAM_ID = 7;
1388
+ }
1389
+
1390
+ optional .CMsgClientToGCOpenPlayerCardPackResponse.Result result = 1 [default = SUCCESS];
1391
+ repeated uint64 player_card_item_ids = 2;
1392
+ }
1393
+
1394
+ message CMsgClientToGCRecyclePlayerCard {
1395
+ repeated uint64 player_card_item_ids = 3;
1396
+ optional uint32 event_id = 2;
1397
+ }
1398
+
1399
+ message CMsgClientToGCRecyclePlayerCardResponse {
1400
+ enum Result {
1401
+ SUCCESS = 1;
1402
+ ERROR_INTERNAL = 2;
1403
+ ERROR_FAILED_TO_FIND_PLAYER_CARD = 3;
1404
+ ERROR_ITEM_NOT_PLAYER_CARD = 4;
1405
+ ERROR_FAILED_DUST_CARD_CREATE = 5;
1406
+ ERROR_CARD_LOCKED = 6;
1407
+ ERROR_NO_CARDS_SPECIFIED = 7;
1408
+ }
1409
+
1410
+ optional .CMsgClientToGCRecyclePlayerCardResponse.Result result = 1 [default = SUCCESS];
1411
+ optional uint32 dust_amount = 2;
1412
+ }
1413
+
1414
+ message CMsgClientToGCCreatePlayerCardPack {
1415
+ optional uint64 card_dust_item_id = 1;
1416
+ optional uint32 event_id = 2;
1417
+ optional bool premium_pack = 3;
1418
+ }
1419
+
1420
+ message CMsgClientToGCCreatePlayerCardPackResponse {
1421
+ enum Result {
1422
+ SUCCESS = 1;
1423
+ ERROR_INTERNAL = 2;
1424
+ ERROR_INSUFFICIENT_DUST = 3;
1425
+ ERROR_ITEM_NOT_DUST_ITEM = 4;
1426
+ ERROR_FAILED_CARD_PACK_CREATE = 5;
1427
+ ERROR_NO_CARD_PACK = 6;
1428
+ ERROR_NOT_AVAILABLE = 7;
1429
+ }
1430
+
1431
+ optional .CMsgClientToGCCreatePlayerCardPackResponse.Result result = 1 [default = SUCCESS];
1432
+ }
1433
+
1434
+ message CMsgClientToGCCreateTeamPlayerCardPack {
1435
+ optional uint64 card_dust_item_id = 1;
1436
+ optional uint32 event_id = 2;
1437
+ optional bool premium_pack = 3;
1438
+ optional uint32 team_id = 4;
1439
+ }
1440
+
1441
+ message CMsgClientToGCCreateTeamPlayerCardPackResponse {
1442
+ enum Result {
1443
+ SUCCESS = 1;
1444
+ ERROR_INTERNAL = 2;
1445
+ ERROR_INSUFFICIENT_DUST = 3;
1446
+ ERROR_ITEM_NOT_DUST_ITEM = 4;
1447
+ ERROR_FAILED_CARD_PACK_CREATE = 5;
1448
+ ERROR_NO_CARD_PACK = 6;
1449
+ ERROR_NOT_AVAILABLE = 7;
1450
+ }
1451
+
1452
+ optional .CMsgClientToGCCreateTeamPlayerCardPackResponse.Result result = 1 [default = SUCCESS];
1453
+ }
1454
+
1455
+ message CMsgGCToClientBattlePassRollup_International2016 {
1456
+ message Questlines {
1457
+ optional string name = 1;
1458
+ optional uint32 onestar = 2;
1459
+ optional uint32 twostar = 3;
1460
+ optional uint32 threestar = 4;
1461
+ optional uint32 total = 5;
1462
+ }
1463
+
1464
+ message Wagering {
1465
+ optional uint32 total_wagered = 1;
1466
+ optional uint32 total_won = 2;
1467
+ optional uint32 average_won = 3;
1468
+ optional uint32 success_rate = 4;
1469
+ optional uint32 total_tips = 5;
1470
+ }
1471
+
1472
+ message Achievements {
1473
+ optional uint32 completed = 1;
1474
+ optional uint32 total = 2;
1475
+ optional uint32 points = 3;
1476
+ }
1477
+
1478
+ message BattleCup {
1479
+ optional uint32 wins = 1;
1480
+ optional uint32 score = 2;
1481
+ }
1482
+
1483
+ message Predictions {
1484
+ optional uint32 correct = 1;
1485
+ optional uint32 total = 2;
1486
+ optional uint32 points = 3;
1487
+ }
1488
+
1489
+ message Bracket {
1490
+ optional uint32 correct = 1;
1491
+ optional uint32 points = 2;
1492
+ }
1493
+
1494
+ message PlayerCard {
1495
+ optional uint32 account_id = 1;
1496
+ optional uint32 quality = 2;
1497
+ }
1498
+
1499
+ message FantasyChallenge {
1500
+ optional float total_score = 1;
1501
+ optional float percentile = 2;
1502
+ }
1503
+
1504
+ optional uint32 battle_pass_level = 1;
1505
+ repeated .CMsgGCToClientBattlePassRollup_International2016.Questlines questlines = 2;
1506
+ optional .CMsgGCToClientBattlePassRollup_International2016.Wagering wagering = 3;
1507
+ optional .CMsgGCToClientBattlePassRollup_International2016.Achievements achievements = 4;
1508
+ optional .CMsgGCToClientBattlePassRollup_International2016.BattleCup battle_cup = 5;
1509
+ optional .CMsgGCToClientBattlePassRollup_International2016.Predictions predictions = 6;
1510
+ optional .CMsgGCToClientBattlePassRollup_International2016.Bracket bracket = 7;
1511
+ repeated .CMsgGCToClientBattlePassRollup_International2016.PlayerCard player_cards = 8;
1512
+ optional .CMsgGCToClientBattlePassRollup_International2016.FantasyChallenge fantasy_challenge = 9;
1513
+ }
1514
+
1515
+ message CMsgGCToClientBattlePassRollup_Fall2016 {
1516
+ message Questlines {
1517
+ optional string name = 1;
1518
+ optional uint32 onestar = 2;
1519
+ optional uint32 twostar = 3;
1520
+ optional uint32 threestar = 4;
1521
+ optional uint32 total = 5;
1522
+ }
1523
+
1524
+ message Wagering {
1525
+ optional uint32 total_wagered = 1;
1526
+ optional uint32 total_won = 2;
1527
+ optional uint32 average_won = 3;
1528
+ optional uint32 success_rate = 4;
1529
+ optional uint32 total_tips = 5;
1530
+ }
1531
+
1532
+ message Achievements {
1533
+ optional uint32 completed = 1;
1534
+ optional uint32 total = 2;
1535
+ optional uint32 points = 3;
1536
+ }
1537
+
1538
+ message BattleCup {
1539
+ optional uint32 wins = 1;
1540
+ optional uint32 score = 2;
1541
+ }
1542
+
1543
+ message Predictions {
1544
+ optional uint32 correct = 1;
1545
+ optional uint32 total = 2;
1546
+ optional uint32 points = 3;
1547
+ }
1548
+
1549
+ message Bracket {
1550
+ optional uint32 correct = 1;
1551
+ optional uint32 points = 2;
1552
+ }
1553
+
1554
+ message PlayerCard {
1555
+ optional uint32 account_id = 1;
1556
+ optional uint32 quality = 2;
1557
+ }
1558
+
1559
+ message FantasyChallenge {
1560
+ optional float total_score = 1;
1561
+ optional float percentile = 2;
1562
+ }
1563
+
1564
+ optional uint32 battle_pass_level = 1;
1565
+ repeated .CMsgGCToClientBattlePassRollup_Fall2016.Questlines questlines = 2;
1566
+ optional .CMsgGCToClientBattlePassRollup_Fall2016.Wagering wagering = 3;
1567
+ optional .CMsgGCToClientBattlePassRollup_Fall2016.Achievements achievements = 4;
1568
+ optional .CMsgGCToClientBattlePassRollup_Fall2016.BattleCup battle_cup = 5;
1569
+ optional .CMsgGCToClientBattlePassRollup_Fall2016.Predictions predictions = 6;
1570
+ optional .CMsgGCToClientBattlePassRollup_Fall2016.Bracket bracket = 7;
1571
+ repeated .CMsgGCToClientBattlePassRollup_Fall2016.PlayerCard player_cards = 8;
1572
+ optional .CMsgGCToClientBattlePassRollup_Fall2016.FantasyChallenge fantasy_challenge = 9;
1573
+ }
1574
+
1575
+ message CMsgGCToClientBattlePassRollup_Winter2017 {
1576
+ message Questlines {
1577
+ optional string name = 1;
1578
+ optional uint32 onestar = 2;
1579
+ optional uint32 twostar = 3;
1580
+ optional uint32 threestar = 4;
1581
+ optional uint32 total = 5;
1582
+ }
1583
+
1584
+ message Wagering {
1585
+ optional uint32 total_wagered = 1;
1586
+ optional uint32 total_won = 2;
1587
+ optional uint32 average_won = 3;
1588
+ optional uint32 success_rate = 4;
1589
+ optional uint32 total_tips = 5;
1590
+ }
1591
+
1592
+ message Achievements {
1593
+ optional uint32 completed = 1;
1594
+ optional uint32 total = 2;
1595
+ optional uint32 points = 3;
1596
+ }
1597
+
1598
+ message BattleCup {
1599
+ optional uint32 wins = 1;
1600
+ optional uint32 score = 2;
1601
+ }
1602
+
1603
+ message Predictions {
1604
+ optional uint32 correct = 1;
1605
+ optional uint32 total = 2;
1606
+ optional uint32 points = 3;
1607
+ }
1608
+
1609
+ message Bracket {
1610
+ optional uint32 correct = 1;
1611
+ optional uint32 points = 2;
1612
+ }
1613
+
1614
+ message PlayerCard {
1615
+ optional uint32 account_id = 1;
1616
+ optional uint32 quality = 2;
1617
+ }
1618
+
1619
+ message FantasyChallenge {
1620
+ optional float total_score = 1;
1621
+ optional float percentile = 2;
1622
+ }
1623
+
1624
+ optional uint32 battle_pass_level = 1;
1625
+ repeated .CMsgGCToClientBattlePassRollup_Winter2017.Questlines questlines = 2;
1626
+ optional .CMsgGCToClientBattlePassRollup_Winter2017.Wagering wagering = 3;
1627
+ optional .CMsgGCToClientBattlePassRollup_Winter2017.Achievements achievements = 4;
1628
+ optional .CMsgGCToClientBattlePassRollup_Winter2017.BattleCup battle_cup = 5;
1629
+ optional .CMsgGCToClientBattlePassRollup_Winter2017.Predictions predictions = 6;
1630
+ optional .CMsgGCToClientBattlePassRollup_Winter2017.Bracket bracket = 7;
1631
+ repeated .CMsgGCToClientBattlePassRollup_Winter2017.PlayerCard player_cards = 8;
1632
+ optional .CMsgGCToClientBattlePassRollup_Winter2017.FantasyChallenge fantasy_challenge = 9;
1633
+ }
1634
+
1635
+ message CMsgGCToClientBattlePassRollup_TI7 {
1636
+ message Questlines {
1637
+ optional string name = 1;
1638
+ optional uint32 onestar = 2;
1639
+ optional uint32 twostar = 3;
1640
+ optional uint32 threestar = 4;
1641
+ optional uint32 total = 5;
1642
+ }
1643
+
1644
+ message Wagering {
1645
+ optional uint32 total_wagered = 1;
1646
+ optional uint32 total_won = 2;
1647
+ optional uint32 average_won = 3;
1648
+ optional uint32 success_rate = 4;
1649
+ optional uint32 total_tips = 5;
1650
+ }
1651
+
1652
+ message Achievements {
1653
+ optional uint32 completed = 1;
1654
+ optional uint32 total = 2;
1655
+ optional uint32 points = 3;
1656
+ }
1657
+
1658
+ message BattleCup {
1659
+ optional uint32 wins = 1;
1660
+ optional uint32 score = 2;
1661
+ }
1662
+
1663
+ message Predictions {
1664
+ optional uint32 correct = 1;
1665
+ optional uint32 total = 2;
1666
+ optional uint32 points = 3;
1667
+ }
1668
+
1669
+ message Bracket {
1670
+ optional uint32 correct = 1;
1671
+ optional uint32 points = 2;
1672
+ }
1673
+
1674
+ message PlayerCard {
1675
+ optional uint32 account_id = 1;
1676
+ optional uint32 quality = 2;
1677
+ }
1678
+
1679
+ message FantasyChallenge {
1680
+ optional float total_score = 1;
1681
+ optional float percentile = 2;
1682
+ }
1683
+
1684
+ optional uint32 battle_pass_level = 1;
1685
+ repeated .CMsgGCToClientBattlePassRollup_TI7.Questlines questlines = 2;
1686
+ optional .CMsgGCToClientBattlePassRollup_TI7.Wagering wagering = 3;
1687
+ optional .CMsgGCToClientBattlePassRollup_TI7.Achievements achievements = 4;
1688
+ optional .CMsgGCToClientBattlePassRollup_TI7.BattleCup battle_cup = 5;
1689
+ optional .CMsgGCToClientBattlePassRollup_TI7.Predictions predictions = 6;
1690
+ optional .CMsgGCToClientBattlePassRollup_TI7.Bracket bracket = 7;
1691
+ repeated .CMsgGCToClientBattlePassRollup_TI7.PlayerCard player_cards = 8;
1692
+ optional .CMsgGCToClientBattlePassRollup_TI7.FantasyChallenge fantasy_challenge = 9;
1693
+ }
1694
+
1695
+ message CMsgGCToClientBattlePassRollup_TI8 {
1696
+ message CavernCrawl {
1697
+ optional uint32 rooms_cleared = 1;
1698
+ optional bool carry_completed = 2;
1699
+ optional bool support_completed = 3;
1700
+ optional bool utility_completed = 4;
1701
+ }
1702
+
1703
+ message Wagering {
1704
+ optional uint32 total_wagered = 1;
1705
+ optional uint32 total_won = 2;
1706
+ optional uint32 average_won = 3;
1707
+ optional uint32 success_rate = 4;
1708
+ optional uint32 total_tips = 5;
1709
+ }
1710
+
1711
+ message Achievements {
1712
+ optional uint32 completed = 1;
1713
+ optional uint32 total = 2;
1714
+ optional uint32 points = 3;
1715
+ }
1716
+
1717
+ message Predictions {
1718
+ optional uint32 correct = 1;
1719
+ optional uint32 total = 2;
1720
+ optional uint32 points = 3;
1721
+ }
1722
+
1723
+ message Bracket {
1724
+ optional uint32 correct = 1;
1725
+ optional uint32 points = 2;
1726
+ }
1727
+
1728
+ message PlayerCard {
1729
+ optional uint32 account_id = 1;
1730
+ optional uint32 quality = 2;
1731
+ }
1732
+
1733
+ message FantasyChallenge {
1734
+ optional float total_score = 1;
1735
+ optional float percentile = 2;
1736
+ }
1737
+
1738
+ optional uint32 battle_pass_level = 1;
1739
+ optional .CMsgGCToClientBattlePassRollup_TI8.CavernCrawl cavern_crawl = 2;
1740
+ optional .CMsgGCToClientBattlePassRollup_TI8.Wagering wagering = 3;
1741
+ optional .CMsgGCToClientBattlePassRollup_TI8.Achievements achievements = 4;
1742
+ optional .CMsgGCToClientBattlePassRollup_TI8.Predictions predictions = 6;
1743
+ optional .CMsgGCToClientBattlePassRollup_TI8.Bracket bracket = 7;
1744
+ repeated .CMsgGCToClientBattlePassRollup_TI8.PlayerCard player_cards = 8;
1745
+ optional .CMsgGCToClientBattlePassRollup_TI8.FantasyChallenge fantasy_challenge = 9;
1746
+ }
1747
+
1748
+ message CMsgGCToClientBattlePassRollup_TI9 {
1749
+ optional uint32 battle_pass_level = 1;
1750
+ }
1751
+
1752
+ message CMsgGCToClientBattlePassRollup_TI10 {
1753
+ optional uint32 battle_pass_level = 1;
1754
+ }
1755
+
1756
+ message CMsgGCToClientBattlePassRollupRequest {
1757
+ optional uint32 event_id = 1;
1758
+ optional uint32 account_id = 2;
1759
+ }
1760
+
1761
+ message CMsgGCToClientBattlePassRollupResponse {
1762
+ optional .CMsgGCToClientBattlePassRollup_International2016 event_ti6 = 1;
1763
+ optional .CMsgGCToClientBattlePassRollup_Fall2016 event_fall2016 = 2;
1764
+ optional .CMsgGCToClientBattlePassRollup_Winter2017 event_winter2017 = 3;
1765
+ optional .CMsgGCToClientBattlePassRollup_TI7 event_ti7 = 4;
1766
+ optional .CMsgGCToClientBattlePassRollup_TI8 event_ti8 = 5;
1767
+ optional .CMsgGCToClientBattlePassRollup_TI9 event_ti9 = 6;
1768
+ optional .CMsgGCToClientBattlePassRollup_TI10 event_ti10 = 7;
1769
+ }
1770
+
1771
+ message CMsgGCToClientBattlePassRollupListRequest {
1772
+ optional uint32 account_id = 1;
1773
+ }
1774
+
1775
+ message CMsgGCToClientBattlePassRollupListResponse {
1776
+ message EventInfo {
1777
+ optional uint32 event_id = 1;
1778
+ optional uint32 level = 2;
1779
+ }
1780
+
1781
+ repeated .CMsgGCToClientBattlePassRollupListResponse.EventInfo event_info = 1;
1782
+ }
1783
+
1784
+ message CMsgClientToGCTransferSeasonalMMRRequest {
1785
+ optional bool is_party = 1;
1786
+ }
1787
+
1788
+ message CMsgClientToGCTransferSeasonalMMRResponse {
1789
+ optional bool success = 1;
1790
+ }
1791
+
1792
+ message CMsgGCToClientPlaytestStatus {
1793
+ optional bool active = 1;
1794
+ }
1795
+
1796
+ message CMsgClientToGCJoinPlaytest {
1797
+ optional uint32 client_version = 1;
1798
+ }
1799
+
1800
+ message CMsgClientToGCJoinPlaytestResponse {
1801
+ optional string error = 1;
1802
+ }
1803
+
1804
+ message CMsgDOTASetFavoriteTeam {
1805
+ optional uint32 team_id = 1;
1806
+ optional uint32 event_id = 2;
1807
+ }
1808
+
1809
+ message CMsgDOTATriviaCurrentQuestions {
1810
+ repeated .CMsgDOTATriviaQuestion questions = 1;
1811
+ optional bool trivia_enabled = 2;
1812
+ }
1813
+
1814
+ message CMsgDOTASubmitTriviaQuestionAnswer {
1815
+ optional uint32 question_id = 1;
1816
+ optional uint32 answer_index = 2;
1817
+ }
1818
+
1819
+ message CMsgDOTASubmitTriviaQuestionAnswerResponse {
1820
+ optional .EDOTATriviaAnswerResult result = 1 [default = k_EDOTATriviaAnswerResult_Success];
1821
+ }
1822
+
1823
+ message CMsgDOTAStartTriviaSession {
1824
+ }
1825
+
1826
+ message CMsgDOTAStartTriviaSessionResponse {
1827
+ optional bool trivia_enabled = 1;
1828
+ optional uint32 current_timestamp = 2;
1829
+ }
1830
+
1831
+ message CMsgDOTAAnchorPhoneNumberRequest {
1832
+ }
1833
+
1834
+ message CMsgDOTAAnchorPhoneNumberResponse {
1835
+ enum Result {
1836
+ SUCCESS = 0;
1837
+ ERROR_UNKNOWN = 1;
1838
+ ERROR_NO_STEAM_PHONE = 2;
1839
+ ERROR_ALREADY_IN_USE = 3;
1840
+ ERROR_COOLDOWN_ACTIVE = 4;
1841
+ ERROR_GAC_ISSUE = 5;
1842
+ }
1843
+
1844
+ optional .CMsgDOTAAnchorPhoneNumberResponse.Result result = 1 [default = SUCCESS];
1845
+ }
1846
+
1847
+ message CMsgDOTAUnanchorPhoneNumberRequest {
1848
+ }
1849
+
1850
+ message CMsgDOTAUnanchorPhoneNumberResponse {
1851
+ enum Result {
1852
+ SUCCESS = 0;
1853
+ ERROR_UNKNOWN = 1;
1854
+ }
1855
+
1856
+ optional .CMsgDOTAUnanchorPhoneNumberResponse.Result result = 1 [default = SUCCESS];
1857
+ }
1858
+
1859
+ message CMsgGCToClientCommendNotification {
1860
+ optional uint32 commender_account_id = 1;
1861
+ optional string commender_name = 2;
1862
+ optional uint32 flags = 3;
1863
+ optional uint32 commender_hero_id = 4;
1864
+ }
1865
+
1866
+ message CMsgDOTAClientToGCQuickStatsRequest {
1867
+ optional uint32 player_account_id = 1;
1868
+ optional uint32 hero_id = 2;
1869
+ optional int32 item_id = 3 [default = -1];
1870
+ optional uint32 league_id = 4;
1871
+ }
1872
+
1873
+ message CMsgDOTAClientToGCQuickStatsResponse {
1874
+ message SimpleStats {
1875
+ optional float win_percent = 1;
1876
+ optional float pick_percent = 2;
1877
+ optional uint32 win_count = 3;
1878
+ optional uint32 pick_count = 4;
1879
+ }
1880
+
1881
+ optional .CMsgDOTAClientToGCQuickStatsRequest original_request = 1;
1882
+ optional .CMsgDOTAClientToGCQuickStatsResponse.SimpleStats hero_stats = 2;
1883
+ optional .CMsgDOTAClientToGCQuickStatsResponse.SimpleStats item_stats = 3;
1884
+ optional .CMsgDOTAClientToGCQuickStatsResponse.SimpleStats item_hero_stats = 4;
1885
+ optional .CMsgDOTAClientToGCQuickStatsResponse.SimpleStats item_player_stats = 5;
1886
+ optional .CMsgDOTAClientToGCQuickStatsResponse.SimpleStats hero_player_stats = 6;
1887
+ optional .CMsgDOTAClientToGCQuickStatsResponse.SimpleStats full_set_stats = 7;
1888
+ }
1889
+
1890
+ message CMsgDOTASelectionPriorityChoiceRequest {
1891
+ optional .DOTASelectionPriorityChoice choice = 1 [default = k_DOTASelectionPriorityChoice_Invalid];
1892
+ }
1893
+
1894
+ message CMsgDOTASelectionPriorityChoiceResponse {
1895
+ enum Result {
1896
+ SUCCESS = 0;
1897
+ ERROR_UNKNOWN = 1;
1898
+ }
1899
+
1900
+ optional .CMsgDOTASelectionPriorityChoiceResponse.Result result = 1 [default = SUCCESS];
1901
+ }
1902
+
1903
+ message CMsgDOTAGameAutographReward {
1904
+ optional string badge_id = 1;
1905
+ }
1906
+
1907
+ message CMsgDOTAGameAutographRewardResponse {
1908
+ enum Result {
1909
+ SUCCESS = 0;
1910
+ ERROR_UNKNOWN = 1;
1911
+ }
1912
+
1913
+ optional .CMsgDOTAGameAutographRewardResponse.Result result = 1 [default = SUCCESS];
1914
+ }
1915
+
1916
+ message CMsgDOTADestroyLobbyRequest {
1917
+ }
1918
+
1919
+ message CMsgDOTADestroyLobbyResponse {
1920
+ enum Result {
1921
+ SUCCESS = 0;
1922
+ ERROR_UNKNOWN = 1;
1923
+ }
1924
+
1925
+ optional .CMsgDOTADestroyLobbyResponse.Result result = 1 [default = SUCCESS];
1926
+ }
1927
+
1928
+ message CMsgDOTAGetRecentPlayTimeFriendsRequest {
1929
+ }
1930
+
1931
+ message CMsgDOTAGetRecentPlayTimeFriendsResponse {
1932
+ repeated fixed32 account_ids = 1;
1933
+ }
1934
+
1935
+ message CMsgPurchaseItemWithEventPoints {
1936
+ optional uint32 item_def = 1;
1937
+ optional uint32 quantity = 2;
1938
+ optional .EEvent event_id = 3 [default = EVENT_ID_NONE];
1939
+ optional bool use_premium_points = 4;
1940
+ }
1941
+
1942
+ message CMsgPurchaseItemWithEventPointsResponse {
1943
+ enum Result {
1944
+ SUCCESS = 0;
1945
+ UNKNOWN_EVENT = 1;
1946
+ UNKNOWN_ITEM = 2;
1947
+ BAD_QUANTITY = 3;
1948
+ NOT_PURCHASEABLE = 4;
1949
+ SDO_LOAD_FAILED = 5;
1950
+ NOT_ENOUGH_POINTS = 6;
1951
+ SQL_ERROR = 7;
1952
+ FAILED_TO_SEND = 8;
1953
+ SERVER_ERROR = 9;
1954
+ NOT_ALLOWED = 10;
1955
+ CANCELLED = 11;
1956
+ CLIENT_ERROR = 12;
1957
+ SUBSCRIPTION_REQUIRED = 13;
1958
+ }
1959
+
1960
+ optional .CMsgPurchaseItemWithEventPointsResponse.Result result = 1 [default = SUCCESS];
1961
+ }
1962
+
1963
+ message CMsgPurchaseHeroRandomRelic {
1964
+ optional uint32 hero_id = 1;
1965
+ optional .EHeroRelicRarity relic_rarity = 2 [default = HERO_RELIC_RARITY_INVALID];
1966
+ }
1967
+
1968
+ message CMsgPurchaseHeroRandomRelicResponse {
1969
+ optional .EPurchaseHeroRelicResult result = 1 [default = k_EPurchaseHeroRelicResult_Success];
1970
+ optional uint32 kill_eater_type = 2;
1971
+ }
1972
+
1973
+ message CMsgClientToGCRequestPlusWeeklyChallengeResult {
1974
+ optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
1975
+ optional uint32 week = 2;
1976
+ }
1977
+
1978
+ message CMsgClientToGCRequestPlusWeeklyChallengeResultResponse {
1979
+ }
1980
+
1981
+ message CMsgProfileRequest {
1982
+ optional uint32 account_id = 1;
1983
+ }
1984
+
1985
+ message CMsgProfileResponse {
1986
+ message FeaturedHero {
1987
+ optional uint32 hero_id = 1;
1988
+ repeated .CSOEconItem equipped_econ_items = 2;
1989
+ optional bool manually_set = 3;
1990
+ optional uint32 plus_hero_xp = 4;
1991
+ optional .CSOEconItem plus_hero_relics_item = 5;
1992
+ }
1993
+
1994
+ message MatchInfo {
1995
+ optional uint64 match_id = 1;
1996
+ optional uint32 match_timestamp = 2;
1997
+ optional sint32 performance_rating = 3;
1998
+ optional uint32 hero_id = 4;
1999
+ optional bool won_match = 5;
2000
+ }
2001
+
2002
+ enum EResponse {
2003
+ k_eInternalError = 0;
2004
+ k_eSuccess = 1;
2005
+ k_eTooBusy = 2;
2006
+ k_eDisabled = 3;
2007
+ }
2008
+
2009
+ optional .CSOEconItem background_item = 1;
2010
+ repeated .CMsgProfileResponse.FeaturedHero featured_heroes = 2;
2011
+ repeated .CMsgProfileResponse.MatchInfo recent_matches = 3;
2012
+ repeated .CMsgSuccessfulHero successful_heroes = 4;
2013
+ optional .CMsgRecentMatchInfo recent_match_details = 5;
2014
+ optional .CMsgProfileResponse.EResponse result = 6 [default = k_eInternalError];
2015
+ optional .CMsgStickerbookPage stickerbook_page = 7;
2016
+ }
2017
+
2018
+ message CMsgProfileUpdate {
2019
+ optional uint64 background_item_id = 1;
2020
+ repeated uint32 featured_hero_ids = 2;
2021
+ }
2022
+
2023
+ message CMsgProfileUpdateResponse {
2024
+ enum Result {
2025
+ SUCCESS = 0;
2026
+ FAILURE = 1;
2027
+ FAILURE_BAD_HERO1 = 2;
2028
+ FAILURE_BAD_HERO2 = 3;
2029
+ FAILURE_BAD_HERO3 = 4;
2030
+ }
2031
+
2032
+ optional .CMsgProfileUpdateResponse.Result result = 1 [default = SUCCESS];
2033
+ }
2034
+
2035
+ message CMsgTalentWinRates {
2036
+ optional uint32 last_run = 1;
2037
+ optional int32 ability_id = 2 [default = -1];
2038
+ optional uint32 game_count = 3;
2039
+ optional uint32 win_count = 4;
2040
+ }
2041
+
2042
+ message CMsgGlobalHeroAverages {
2043
+ optional uint32 last_run = 1;
2044
+ optional uint32 avg_gold_per_min = 3;
2045
+ optional uint32 avg_xp_per_min = 4;
2046
+ optional uint32 avg_kills = 5;
2047
+ optional uint32 avg_deaths = 6;
2048
+ optional uint32 avg_assists = 7;
2049
+ optional uint32 avg_last_hits = 8;
2050
+ optional uint32 avg_denies = 9;
2051
+ optional uint32 avg_net_worth = 10;
2052
+ }
2053
+
2054
+ message CMsgHeroGlobalDataRequest {
2055
+ optional uint32 hero_id = 1;
2056
+ }
2057
+
2058
+ message CMsgHeroGlobalDataResponse {
2059
+ message GraphData {
2060
+ optional uint32 day = 1;
2061
+ optional float win_percent = 2;
2062
+ optional float pick_percent = 3;
2063
+ optional float ban_percent = 4;
2064
+ }
2065
+
2066
+ message WeekData {
2067
+ optional uint32 week = 1;
2068
+ optional float win_percent = 2;
2069
+ optional float pick_percent = 3;
2070
+ optional float ban_percent = 4;
2071
+ }
2072
+
2073
+ message HeroDataPerRankChunk {
2074
+ optional uint32 rank_chunk = 1;
2075
+ repeated .CMsgTalentWinRates talent_win_rates = 2;
2076
+ optional .CMsgGlobalHeroAverages hero_averages = 3;
2077
+ repeated .CMsgHeroGlobalDataResponse.GraphData graph_data = 4;
2078
+ repeated .CMsgHeroGlobalDataResponse.WeekData week_data = 5;
2079
+ }
2080
+
2081
+ optional uint32 hero_id = 1;
2082
+ repeated .CMsgHeroGlobalDataResponse.HeroDataPerRankChunk hero_data_per_chunk = 2;
2083
+ }
2084
+
2085
+ message CMsgHeroGlobalDataAllHeroes {
2086
+ repeated .CMsgHeroGlobalDataResponse heroes = 1;
2087
+ }
2088
+
2089
+ message CMsgHeroGlobalDataHeroesAlliesAndEnemies {
2090
+ message HeroData {
2091
+ optional uint32 hero_id = 1;
2092
+ optional uint32 win_rate = 2;
2093
+ optional uint32 first_other_hero_id = 3;
2094
+ repeated uint32 ally_win_rate = 5;
2095
+ repeated uint32 enemy_win_rate = 6;
2096
+ }
2097
+
2098
+ message RankedHeroData {
2099
+ optional uint32 rank = 1;
2100
+ repeated .CMsgHeroGlobalDataHeroesAlliesAndEnemies.HeroData hero_data = 2;
2101
+ }
2102
+
2103
+ repeated .CMsgHeroGlobalDataHeroesAlliesAndEnemies.RankedHeroData ranked_hero_data = 1;
2104
+ }
2105
+
2106
+ message CMsgPrivateMetadataKeyRequest {
2107
+ optional uint64 match_id = 1;
2108
+ }
2109
+
2110
+ message CMsgPrivateMetadataKeyResponse {
2111
+ optional uint32 private_key = 1;
2112
+ }
2113
+
2114
+ message CMsgActivatePlusFreeTrialResponse {
2115
+ enum Result {
2116
+ SUCCESS = 0;
2117
+ ERROR_GENERIC = 1;
2118
+ ERROR_ALREADY_IN_FREE_TRIAL = 2;
2119
+ ERROR_ALREADY_USED_FREE_TRIAL = 3;
2120
+ ERROR_OFFER_NOT_VALID = 4;
2121
+ }
2122
+
2123
+ optional .CMsgActivatePlusFreeTrialResponse.Result result = 1 [default = SUCCESS];
2124
+ }
2125
+
2126
+ message CMsgGCToClientCavernCrawlMapPathCompleted {
2127
+ message CompletedPathInfo {
2128
+ optional uint32 path_id_completed = 1 [default = 255];
2129
+ optional bool received_ultra_rare_reward = 2;
2130
+ optional bool half_completed = 3;
2131
+ }
2132
+
2133
+ optional uint32 event_id = 1;
2134
+ optional uint32 hero_id_completed = 2;
2135
+ repeated .CMsgGCToClientCavernCrawlMapPathCompleted.CompletedPathInfo completed_paths = 3;
2136
+ optional uint32 map_variant = 4 [default = 255];
2137
+ }
2138
+
2139
+ message CMsgGCToClientCavernCrawlMapUpdated {
2140
+ optional uint32 event_id = 1;
2141
+ }
2142
+
2143
+ message CMsgClientToGCCavernCrawlClaimRoom {
2144
+ optional uint32 event_id = 1;
2145
+ optional uint32 room_id = 2 [default = 255];
2146
+ optional uint32 map_variant = 3 [default = 255];
2147
+ }
2148
+
2149
+ message CMsgClientToGCCavernCrawlClaimRoomResponse {
2150
+ enum Result {
2151
+ SUCCESS = 0;
2152
+ ERROR_UNKNOWN = 1;
2153
+ RECEIVED_ULTRA_RARE_REWARD = 2;
2154
+ }
2155
+
2156
+ optional .CMsgClientToGCCavernCrawlClaimRoomResponse.Result result = 1 [default = SUCCESS];
2157
+ }
2158
+
2159
+ message CMsgClientToGCCavernCrawlUseItemOnRoom {
2160
+ optional uint32 event_id = 1;
2161
+ optional uint32 room_id = 2 [default = 255];
2162
+ optional uint32 item_type = 3;
2163
+ optional uint32 map_variant = 4 [default = 255];
2164
+ }
2165
+
2166
+ message CMsgClientToGCCavernCrawlUseItemOnRoomResponse {
2167
+ enum Result {
2168
+ SUCCESS = 0;
2169
+ ERROR_UNKNOWN = 1;
2170
+ RECEIVED_ULTRA_RARE_REWARD = 2;
2171
+ }
2172
+
2173
+ optional .CMsgClientToGCCavernCrawlUseItemOnRoomResponse.Result result = 1 [default = SUCCESS];
2174
+ }
2175
+
2176
+ message CMsgClientToGCCavernCrawlUseItemOnPath {
2177
+ optional uint32 event_id = 1;
2178
+ optional uint32 path_id = 2 [default = 255];
2179
+ optional uint32 item_type = 3;
2180
+ optional uint32 map_variant = 4 [default = 255];
2181
+ }
2182
+
2183
+ message CMsgClientToGCCavernCrawlUseItemOnPathResponse {
2184
+ enum Result {
2185
+ SUCCESS = 0;
2186
+ ERROR_UNKNOWN = 1;
2187
+ RECEIVED_ULTRA_RARE_REWARD = 2;
2188
+ }
2189
+
2190
+ optional .CMsgClientToGCCavernCrawlUseItemOnPathResponse.Result result = 1 [default = SUCCESS];
2191
+ }
2192
+
2193
+ message CMsgClientToGCCavernCrawlRequestMapState {
2194
+ optional uint32 event_id = 1;
2195
+ }
2196
+
2197
+ message CMsgClientToGCCavernCrawlRequestMapStateResponse {
2198
+ message SwappedChallenge {
2199
+ optional uint32 path_id_1 = 1 [default = 255];
2200
+ optional uint32 path_id_2 = 2 [default = 255];
2201
+ }
2202
+
2203
+ message InventoryItem {
2204
+ optional uint32 item_type = 1;
2205
+ optional uint32 count = 2;
2206
+ }
2207
+
2208
+ message TreasureMap {
2209
+ optional uint32 map_room_id = 1 [default = 255];
2210
+ optional uint32 revealed_room_id = 2 [default = 255];
2211
+ }
2212
+
2213
+ message MapVariant {
2214
+ optional uint32 map_variant = 1 [default = 255];
2215
+ optional fixed64 claimed_rooms_1 = 2;
2216
+ optional fixed64 claimed_rooms_2 = 3;
2217
+ optional fixed64 revealed_rooms_1 = 4;
2218
+ optional fixed64 revealed_rooms_2 = 5;
2219
+ optional fixed64 completed_paths_1 = 6;
2220
+ optional fixed64 completed_paths_2 = 7;
2221
+ optional fixed64 completed_paths_3 = 8;
2222
+ optional fixed64 completed_paths_4 = 9;
2223
+ optional fixed64 half_completed_paths_1 = 10;
2224
+ optional fixed64 half_completed_paths_2 = 11;
2225
+ optional fixed64 half_completed_paths_3 = 12;
2226
+ optional fixed64 half_completed_paths_4 = 13;
2227
+ repeated .CMsgClientToGCCavernCrawlRequestMapStateResponse.SwappedChallenge swapped_challenge = 14;
2228
+ optional uint32 ultra_rare_reward_room_number = 15 [default = 255];
2229
+ repeated .CMsgClientToGCCavernCrawlRequestMapStateResponse.TreasureMap treasure_map = 16;
2230
+ }
2231
+
2232
+ enum Result {
2233
+ SUCCESS = 0;
2234
+ ERROR_UNKNOWN = 1;
2235
+ EVENT_NOT_OWNED = 2;
2236
+ }
2237
+
2238
+ optional .CMsgClientToGCCavernCrawlRequestMapStateResponse.Result result = 1 [default = SUCCESS];
2239
+ optional uint32 available_map_variants_mask = 2;
2240
+ repeated .CMsgClientToGCCavernCrawlRequestMapStateResponse.InventoryItem inventory_item = 3;
2241
+ repeated .CMsgClientToGCCavernCrawlRequestMapStateResponse.MapVariant map_variants = 4;
2242
+ }
2243
+
2244
+ message CMsgClientToGCCavernCrawlGetClaimedRoomCount {
2245
+ optional uint32 event_id = 1;
2246
+ }
2247
+
2248
+ message CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse {
2249
+ message MapVariant {
2250
+ optional uint32 map_variant = 1 [default = 255];
2251
+ optional uint32 count = 2;
2252
+ }
2253
+
2254
+ enum Result {
2255
+ SUCCESS = 0;
2256
+ ERROR_UNKNOWN = 1;
2257
+ EVENT_NOT_OWNED = 2;
2258
+ }
2259
+
2260
+ optional .CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.Result result = 1 [default = SUCCESS];
2261
+ repeated .CMsgClientToGCCavernCrawlGetClaimedRoomCountResponse.MapVariant map_variants = 2;
2262
+ optional uint32 available_map_variants_mask = 3;
2263
+ }
2264
+
2265
+ message CMsgDOTAMutationList {
2266
+ message Mutation {
2267
+ optional uint32 id = 1;
2268
+ optional string name = 2;
2269
+ optional string description = 3;
2270
+ }
2271
+
2272
+ repeated .CMsgDOTAMutationList.Mutation mutations = 1;
2273
+ }
2274
+
2275
+ message CMsgEventTipsSummaryRequest {
2276
+ optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
2277
+ optional uint32 account_id = 2;
2278
+ }
2279
+
2280
+ message CMsgEventTipsSummaryResponse {
2281
+ message Tipper {
2282
+ optional uint32 tipper_account_id = 1;
2283
+ optional uint32 tip_count = 2 [default = 1];
2284
+ }
2285
+
2286
+ optional bool result = 1;
2287
+ repeated .CMsgEventTipsSummaryResponse.Tipper tips_received = 2;
2288
+ }
2289
+
2290
+ message CMsgSocialFeedRequest {
2291
+ optional uint32 account_id = 1;
2292
+ optional bool self_only = 2;
2293
+ }
2294
+
2295
+ message CMsgSocialFeedResponse {
2296
+ message FeedEvent {
2297
+ optional uint64 feed_event_id = 1;
2298
+ optional uint32 account_id = 2;
2299
+ optional uint32 timestamp = 3;
2300
+ optional uint32 comment_count = 4;
2301
+ optional uint32 event_type = 5;
2302
+ optional uint32 event_sub_type = 6;
2303
+ optional uint64 param_big_int_1 = 7;
2304
+ optional uint32 param_int_1 = 8;
2305
+ optional uint32 param_int_2 = 9;
2306
+ optional uint32 param_int_3 = 10;
2307
+ optional string param_string = 11;
2308
+ }
2309
+
2310
+ enum Result {
2311
+ SUCCESS = 0;
2312
+ FAILED_TO_LOAD_FRIENDS = 1;
2313
+ FAILED_TO_LOAD_FEED_DATA = 2;
2314
+ FAILED_TO_LOAD_FEED_ENTRY = 3;
2315
+ FAILED_TO_LOAD_COMMENTS = 4;
2316
+ FAILED_TOO_MANY_REQUESTS = 5;
2317
+ }
2318
+
2319
+ optional .CMsgSocialFeedResponse.Result result = 1 [default = SUCCESS];
2320
+ repeated .CMsgSocialFeedResponse.FeedEvent feed_events = 2;
2321
+ }
2322
+
2323
+ message CMsgSocialFeedCommentsRequest {
2324
+ optional uint64 feed_event_id = 1;
2325
+ }
2326
+
2327
+ message CMsgSocialFeedCommentsResponse {
2328
+ message FeedComment {
2329
+ optional uint32 commenter_account_id = 1;
2330
+ optional uint32 timestamp = 2;
2331
+ optional string comment_text = 3;
2332
+ }
2333
+
2334
+ enum Result {
2335
+ SUCCESS = 0;
2336
+ FAILED_TOO_MANY_REQUESTS = 1;
2337
+ FAILED_TO_LOAD_COMMENTS = 2;
2338
+ }
2339
+
2340
+ optional .CMsgSocialFeedCommentsResponse.Result result = 1 [default = SUCCESS];
2341
+ repeated .CMsgSocialFeedCommentsResponse.FeedComment feed_comments = 3;
2342
+ }
2343
+
2344
+ message CMsgClientToGCPlayerCardSpecificPurchaseRequest {
2345
+ optional uint32 player_account_id = 1;
2346
+ optional uint32 event_id = 2;
2347
+ optional uint64 card_dust_item_id = 3;
2348
+ }
2349
+
2350
+ message CMsgClientToGCPlayerCardSpecificPurchaseResponse {
2351
+ enum Result {
2352
+ SUCCESS = 1;
2353
+ ERROR_INTERNAL = 2;
2354
+ ERROR_INSUFFICIENT_DUST = 3;
2355
+ ERROR_ITEM_NOT_DUST_ITEM = 4;
2356
+ ERROR_FAILED_CARD_PACK_CREATE = 5;
2357
+ ERROR_NOT_AVAILABLE = 6;
2358
+ }
2359
+
2360
+ optional .CMsgClientToGCPlayerCardSpecificPurchaseResponse.Result result = 1 [default = SUCCESS];
2361
+ optional uint64 item_id = 2;
2362
+ }
2363
+
2364
+ message CMsgClientToGCRequestContestVotes {
2365
+ optional uint32 contest_id = 1;
2366
+ }
2367
+
2368
+ message CMsgClientToGCRequestContestVotesResponse {
2369
+ message ItemVote {
2370
+ optional uint64 contest_item_id = 1;
2371
+ optional int32 vote = 2;
2372
+ }
2373
+
2374
+ enum EResponse {
2375
+ k_eInternalError = 0;
2376
+ k_eSuccess = 1;
2377
+ k_eTooBusy = 2;
2378
+ k_eDisabled = 3;
2379
+ }
2380
+
2381
+ optional .CMsgClientToGCRequestContestVotesResponse.EResponse result = 1 [default = k_eInternalError];
2382
+ repeated .CMsgClientToGCRequestContestVotesResponse.ItemVote votes = 2;
2383
+ }
2384
+
2385
+ message CMsgClientToGCRecordContestVote {
2386
+ optional uint32 contest_id = 1;
2387
+ optional uint64 contest_item_id = 2;
2388
+ optional int32 vote = 3;
2389
+ }
2390
+
2391
+ message CMsgGCToClientRecordContestVoteResponse {
2392
+ enum EResult {
2393
+ SUCCESS = 0;
2394
+ FAILED_EVENT_NOT_OWNED = 1;
2395
+ FAILED_SQL_INSERT_FAILED = 2;
2396
+ FAILED_INVALID_CONTEST = 3;
2397
+ FAILED_CONTEST_NOT_ACTIVE = 4;
2398
+ FAILED_TIMEOUT = 5;
2399
+ }
2400
+
2401
+ optional .CMsgGCToClientRecordContestVoteResponse.EResult eresult = 1 [default = SUCCESS];
2402
+ }
2403
+
2404
+ message CMsgDevGrantEventPoints {
2405
+ optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
2406
+ optional uint32 event_points = 2;
2407
+ optional uint32 premium_points = 3;
2408
+ }
2409
+
2410
+ message CMsgDevGrantEventPointsResponse {
2411
+ optional .EDevEventRequestResult result = 1 [default = k_EDevEventRequestResult_Success];
2412
+ }
2413
+
2414
+ message CMsgDevGrantEventAction {
2415
+ optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
2416
+ optional uint32 action_id = 2;
2417
+ optional uint32 action_score = 3;
2418
+ }
2419
+
2420
+ message CMsgDevGrantEventActionResponse {
2421
+ optional .EDevEventRequestResult result = 1 [default = k_EDevEventRequestResult_Success];
2422
+ }
2423
+
2424
+ message CMsgDevDeleteEventActions {
2425
+ optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
2426
+ optional uint32 start_action_id = 2;
2427
+ optional uint32 end_action_id = 3;
2428
+ optional bool remove_audit = 4;
2429
+ }
2430
+
2431
+ message CMsgDevDeleteEventActionsResponse {
2432
+ optional .EDevEventRequestResult result = 1 [default = k_EDevEventRequestResult_Success];
2433
+ }
2434
+
2435
+ message CMsgDevResetEventState {
2436
+ optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
2437
+ optional bool remove_audit = 2;
2438
+ }
2439
+
2440
+ message CMsgDevResetEventStateResponse {
2441
+ optional .EDevEventRequestResult result = 1 [default = k_EDevEventRequestResult_Success];
2442
+ }
2443
+
2444
+ message CMsgConsumeEventSupportGrantItem {
2445
+ optional uint64 item_id = 1;
2446
+ }
2447
+
2448
+ message CMsgConsumeEventSupportGrantItemResponse {
2449
+ optional .ESupportEventRequestResult result = 1 [default = k_ESupportEventRequestResult_Success];
2450
+ }
2451
+
2452
+ message CMsgClientToGCGetFilteredPlayers {
2453
+ }
2454
+
2455
+ message CMsgGCToClientGetFilteredPlayersResponse {
2456
+ message CFilterEntry {
2457
+ optional fixed32 account_id = 1;
2458
+ optional fixed32 time_added = 2;
2459
+ optional fixed32 time_expires = 3;
2460
+ optional string note = 4;
2461
+ }
2462
+
2463
+ enum Result {
2464
+ SUCCESS = 0;
2465
+ FAILURE = 1;
2466
+ }
2467
+
2468
+ optional .CMsgGCToClientGetFilteredPlayersResponse.Result result = 1 [default = SUCCESS];
2469
+ repeated .CMsgGCToClientGetFilteredPlayersResponse.CFilterEntry filtered_players = 2;
2470
+ optional int32 base_slots = 3;
2471
+ optional int32 additional_slots = 4;
2472
+ optional int32 next_slot_cost = 5;
2473
+ }
2474
+
2475
+ message CMsgClientToGCRemoveFilteredPlayer {
2476
+ optional fixed32 account_id_to_remove = 1;
2477
+ }
2478
+
2479
+ message CMsgGCToClientRemoveFilteredPlayerResponse {
2480
+ enum Result {
2481
+ SUCCESS = 0;
2482
+ FAILURE = 1;
2483
+ }
2484
+
2485
+ optional .CMsgGCToClientRemoveFilteredPlayerResponse.Result result = 1 [default = SUCCESS];
2486
+ }
2487
+
2488
+ message CMsgClientToGCPurchaseFilteredPlayerSlot {
2489
+ optional int32 additional_slots_current = 1;
2490
+ }
2491
+
2492
+ message CMsgGCToClientPurchaseFilteredPlayerSlotResponse {
2493
+ enum Result {
2494
+ SUCCESS = 0;
2495
+ FAILURE = 1;
2496
+ CURRENT_SLOTCOUNT_DOESNT_MATCH = 2;
2497
+ CANT_AFFORD = 3;
2498
+ }
2499
+
2500
+ optional .CMsgGCToClientPurchaseFilteredPlayerSlotResponse.Result result = 1 [default = SUCCESS];
2501
+ optional int32 additional_slots = 2;
2502
+ optional int32 next_slot_cost = 3;
2503
+ }
2504
+
2505
+ message CMsgClientToGCUpdateFilteredPlayerNote {
2506
+ optional fixed32 target_account_id = 1;
2507
+ optional string new_note = 2;
2508
+ }
2509
+
2510
+ message CMsgGCToClientUpdateFilteredPlayerNoteResponse {
2511
+ enum Result {
2512
+ SUCCESS = 0;
2513
+ FAILURE = 1;
2514
+ NOT_FOUND = 2;
2515
+ }
2516
+
2517
+ optional .CMsgGCToClientUpdateFilteredPlayerNoteResponse.Result result = 1 [default = SUCCESS];
2518
+ }
2519
+
2520
+ message CMsgPartySearchPlayer {
2521
+ optional fixed32 account_id = 1;
2522
+ optional fixed64 match_id = 2;
2523
+ optional fixed32 creation_time = 3;
2524
+ }
2525
+
2526
+ message CMsgGCToClientPlayerBeaconState {
2527
+ repeated int32 num_active_beacons = 1;
2528
+ }
2529
+
2530
+ message CMsgGCToClientPartyBeaconUpdate {
2531
+ optional bool beacon_added = 1;
2532
+ optional int32 beacon_type = 2;
2533
+ optional fixed32 account_id = 3;
2534
+ }
2535
+
2536
+ message CMsgClientToGCUpdatePartyBeacon {
2537
+ enum Action {
2538
+ ON = 0;
2539
+ OFF = 1;
2540
+ }
2541
+
2542
+ optional .CMsgClientToGCUpdatePartyBeacon.Action action = 1 [default = ON];
2543
+ }
2544
+
2545
+ message CMsgClientToGCRequestActiveBeaconParties {
2546
+ }
2547
+
2548
+ message CMsgGCToClientRequestActiveBeaconPartiesResponse {
2549
+ enum EResponse {
2550
+ SUCCESS = 0;
2551
+ FAILURE = 1;
2552
+ BUSY = 2;
2553
+ }
2554
+
2555
+ optional .CMsgGCToClientRequestActiveBeaconPartiesResponse.EResponse response = 1 [default = SUCCESS];
2556
+ repeated .CPartySearchClientParty active_parties = 2;
2557
+ }
2558
+
2559
+ message CMsgClientToGCJoinPartyFromBeacon {
2560
+ optional fixed64 party_id = 1;
2561
+ optional fixed32 account_id = 2;
2562
+ optional int32 beacon_type = 3;
2563
+ }
2564
+
2565
+ message CMsgGCToClientJoinPartyFromBeaconResponse {
2566
+ enum EResponse {
2567
+ SUCCESS = 0;
2568
+ FAILURE = 1;
2569
+ BUSY = 2;
2570
+ NOT_LEADER = 3;
2571
+ }
2572
+
2573
+ optional .CMsgGCToClientJoinPartyFromBeaconResponse.EResponse response = 1 [default = SUCCESS];
2574
+ }
2575
+
2576
+ message CMsgClientToGCManageFavorites {
2577
+ enum Action {
2578
+ ADD = 0;
2579
+ REMOVE = 1;
2580
+ }
2581
+
2582
+ optional .CMsgClientToGCManageFavorites.Action action = 1 [default = ADD];
2583
+ optional fixed32 account_id = 2;
2584
+ optional string favorite_name = 3;
2585
+ optional bool invite_response = 4;
2586
+ optional bool from_friendlist = 5;
2587
+ optional fixed64 lobby_id = 6;
2588
+ }
2589
+
2590
+ message CMsgGCToClientManageFavoritesResponse {
2591
+ enum EResponse {
2592
+ SUCCESS = 0;
2593
+ FAILURE = 1;
2594
+ NO_INVITE_PRESENT = 2;
2595
+ INVITE_SENT = 3;
2596
+ EXPIRED = 4;
2597
+ BUSY = 5;
2598
+ }
2599
+
2600
+ optional .CMsgGCToClientManageFavoritesResponse.EResponse response = 1 [default = SUCCESS];
2601
+ optional string debug_message = 2;
2602
+ optional .CMsgPartySearchPlayer player = 3;
2603
+ }
2604
+
2605
+ message CMsgClientToGCGetFavoritePlayers {
2606
+ optional uint64 pagination_key = 1;
2607
+ optional int32 pagination_count = 2;
2608
+ }
2609
+
2610
+ message CMsgGCToClientGetFavoritePlayersResponse {
2611
+ enum EResponse {
2612
+ SUCCESS = 0;
2613
+ FAILURE = 1;
2614
+ }
2615
+
2616
+ optional .CMsgGCToClientGetFavoritePlayersResponse.EResponse response = 1 [default = SUCCESS];
2617
+ repeated .CMsgPartySearchPlayer players = 2;
2618
+ optional uint64 next_pagination_key = 3;
2619
+ }
2620
+
2621
+ message CMsgGCToClientPartySearchInvite {
2622
+ optional fixed32 account_id = 1;
2623
+ }
2624
+
2625
+ message CMsgClientToGCVerifyFavoritePlayers {
2626
+ repeated fixed32 account_ids = 1;
2627
+ }
2628
+
2629
+ message CMsgGCToClientVerifyFavoritePlayersResponse {
2630
+ message Result {
2631
+ optional .CMsgPartySearchPlayer player = 1;
2632
+ optional bool is_favorite = 2;
2633
+ }
2634
+
2635
+ repeated .CMsgGCToClientVerifyFavoritePlayersResponse.Result results = 1;
2636
+ }
2637
+
2638
+ message CMsgClientToGCRequestPlayerRecentAccomplishments {
2639
+ optional uint32 account_id = 1;
2640
+ }
2641
+
2642
+ message CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse {
2643
+ enum EResponse {
2644
+ k_eInternalError = 0;
2645
+ k_eSuccess = 1;
2646
+ k_eTooBusy = 2;
2647
+ k_eDisabled = 3;
2648
+ }
2649
+
2650
+ optional .CMsgClientToGCRequestPlayerRecentAccomplishmentsResponse.EResponse result = 1 [default = k_eInternalError];
2651
+ optional .CMsgPlayerRecentAccomplishments player_accomplishments = 2;
2652
+ }
2653
+
2654
+ message CMsgClientToGCRequestPlayerHeroRecentAccomplishments {
2655
+ optional uint32 account_id = 1;
2656
+ optional uint32 hero_id = 2;
2657
+ }
2658
+
2659
+ message CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse {
2660
+ enum EResponse {
2661
+ k_eInternalError = 0;
2662
+ k_eSuccess = 1;
2663
+ k_eTooBusy = 2;
2664
+ k_eDisabled = 3;
2665
+ }
2666
+
2667
+ optional .CMsgClientToGCRequestPlayerHeroRecentAccomplishmentsResponse.EResponse result = 1 [default = k_eInternalError];
2668
+ optional .CMsgPlayerHeroRecentAccomplishments hero_accomplishments = 2;
2669
+ }
2670
+
2671
+ message CMsgClientToGCSubmitPlayerMatchSurvey {
2672
+ optional uint64 match_id = 1;
2673
+ optional sint32 rating = 3;
2674
+ optional uint32 flags = 4;
2675
+ }
2676
+
2677
+ message CMsgClientToGCSubmitPlayerMatchSurveyResponse {
2678
+ enum EResponse {
2679
+ k_eInternalError = 0;
2680
+ k_eSuccess = 1;
2681
+ k_eTooBusy = 2;
2682
+ k_eDisabled = 3;
2683
+ k_eAlreadySubmitted = 4;
2684
+ k_ePlayerNotValid = 5;
2685
+ }
2686
+
2687
+ optional .CMsgClientToGCSubmitPlayerMatchSurveyResponse.EResponse eresult = 1 [default = k_eInternalError];
2688
+ optional uint32 account_id = 2;
2689
+ }
2690
+
2691
+ message CMsgGCToClientVACReminder {
2692
+ }
2693
+
2694
+ message CMsgClientToGCUnderDraftRequest {
2695
+ optional uint32 account_id = 1;
2696
+ optional uint32 event_id = 2;
2697
+ }
2698
+
2699
+ message CMsgClientToGCUnderDraftResponse {
2700
+ optional .EUnderDraftResponse result = 1 [default = k_eInternalError];
2701
+ optional uint32 account_id = 2;
2702
+ optional uint32 event_id = 3;
2703
+ optional .CMsgUnderDraftData draft_data = 4;
2704
+ }
2705
+
2706
+ message CMsgClientToGCUnderDraftReroll {
2707
+ optional uint32 event_id = 1;
2708
+ }
2709
+
2710
+ message CMsgClientToGCUnderDraftRerollResponse {
2711
+ optional .EUnderDraftResponse result = 1 [default = k_eInternalError];
2712
+ optional uint32 event_id = 2;
2713
+ optional .CMsgUnderDraftData draft_data = 3;
2714
+ }
2715
+
2716
+ message CMsgClientToGCUnderDraftBuy {
2717
+ optional uint32 event_id = 1;
2718
+ optional uint32 slot_id = 2;
2719
+ }
2720
+
2721
+ message CMsgGCToClientGuildUnderDraftGoldUpdated {
2722
+ optional uint32 event_id = 1;
2723
+ }
2724
+
2725
+ message CMsgClientToGCUnderDraftBuyResponse {
2726
+ optional .EUnderDraftResponse result = 1 [default = k_eInternalError];
2727
+ optional uint32 event_id = 2;
2728
+ optional uint32 slot_id = 3;
2729
+ optional .CMsgUnderDraftData draft_data = 4;
2730
+ }
2731
+
2732
+ message CMsgClientToGCUnderDraftRollBackBench {
2733
+ optional uint32 event_id = 1;
2734
+ }
2735
+
2736
+ message CMsgClientToGCUnderDraftRollBackBenchResponse {
2737
+ optional .EUnderDraftResponse result = 1 [default = k_eInternalError];
2738
+ optional uint32 event_id = 2;
2739
+ optional .CMsgUnderDraftData draft_data = 3;
2740
+ }
2741
+
2742
+ message CMsgClientToGCUnderDraftSell {
2743
+ optional uint32 event_id = 1;
2744
+ optional uint32 slot_id = 2;
2745
+ }
2746
+
2747
+ message CMsgClientToGCUnderDraftSellResponse {
2748
+ optional .EUnderDraftResponse result = 1 [default = k_eInternalError];
2749
+ optional uint32 event_id = 2;
2750
+ optional uint32 slot_id = 3;
2751
+ optional .CMsgUnderDraftData draft_data = 4;
2752
+ }
2753
+
2754
+ message CMsgClientToGCUnderDraftRedeemReward {
2755
+ optional uint32 event_id = 1;
2756
+ optional uint32 action_id = 2;
2757
+ }
2758
+
2759
+ message CMsgClientToGCUnderDraftRedeemRewardResponse {
2760
+ optional .EUnderDraftResponse result = 1 [default = k_eInternalError];
2761
+ }
2762
+
2763
+ message CMsgClientToGCSubmitDraftTriviaMatchAnswer {
2764
+ optional bool chose_radiant_as_winner = 1;
2765
+ optional uint32 event_id = 2;
2766
+ optional uint32 end_time = 3;
2767
+ }
2768
+
2769
+ message CMsgClientToGCSubmitDraftTriviaMatchAnswerResponse {
2770
+ optional .EDOTADraftTriviaAnswerResult result = 1 [default = k_EDOTADraftTriviaAnswerResult_Success];
2771
+ }
2772
+
2773
+ message CMsgDraftTriviaVoteCount {
2774
+ optional uint32 total_votes = 1;
2775
+ optional uint32 radiant_votes = 2;
2776
+ optional uint32 dire_votes = 3;
2777
+ }
2778
+
2779
+ message CMsgClientToGCRequestReporterUpdates {
2780
+ }
2781
+
2782
+ message CMsgClientToGCRequestReporterUpdatesResponse {
2783
+ message ReporterUpdate {
2784
+ optional uint64 match_id = 1;
2785
+ optional uint32 hero_id = 2;
2786
+ optional uint32 report_reason = 3;
2787
+ optional uint32 timestamp = 4;
2788
+ }
2789
+
2790
+ enum EResponse {
2791
+ k_eInternalError = 0;
2792
+ k_eSuccess = 1;
2793
+ k_eTimeout = 2;
2794
+ k_eTooBusy = 3;
2795
+ k_eNotPermitted = 4;
2796
+ k_eNotToSoon = 5;
2797
+ k_eNotValid = 6;
2798
+ }
2799
+
2800
+ optional .CMsgClientToGCRequestReporterUpdatesResponse.EResponse enum_result = 1 [default = k_eInternalError];
2801
+ repeated .CMsgClientToGCRequestReporterUpdatesResponse.ReporterUpdate updates = 2;
2802
+ optional int32 num_reported = 3;
2803
+ optional int32 num_no_action_taken = 4;
2804
+ }
2805
+
2806
+ message CMsgClientToGCAcknowledgeReporterUpdates {
2807
+ repeated uint64 match_ids = 1;
2808
+ }
2809
+
2810
+ message CMsgClientToGCRecalibrateMMR {
2811
+ }
2812
+
2813
+ message CMsgClientToGCRecalibrateMMRResponse {
2814
+ enum EResponse {
2815
+ k_eInternalError = 0;
2816
+ k_eSuccess = 1;
2817
+ k_eTimeout = 2;
2818
+ k_eTooBusy = 3;
2819
+ k_eNotPermitted = 4;
2820
+ k_eNotToSoon = 5;
2821
+ k_eNotValid = 6;
2822
+ }
2823
+
2824
+ optional .CMsgClientToGCRecalibrateMMRResponse.EResponse result = 1 [default = k_eInternalError];
2825
+ }
2826
+
2827
+ message CMsgDOTAPostGameItemAwardNotification {
2828
+ optional uint32 receiver_account_id = 1;
2829
+ repeated uint32 item_def_index = 2;
2830
+ optional uint32 action_id = 3;
2831
+ }
2832
+
2833
+ message CMsgClientToGCGetOWMatchDetails {
2834
+ }
2835
+
2836
+ message CMsgClientToGCGetOWMatchDetailsResponse {
2837
+ message Marker {
2838
+ optional uint32 start_game_time_s = 1;
2839
+ optional uint32 end_game_time_s = 2;
2840
+ }
2841
+
2842
+ enum EResponse {
2843
+ k_eInternalError = 0;
2844
+ k_eSuccess = 1;
2845
+ k_eTimeout = 2;
2846
+ k_eTooBusy = 3;
2847
+ k_eNotPermitted = 4;
2848
+ k_eNoCaseAvailable = 5;
2849
+ }
2850
+
2851
+ optional .CMsgClientToGCGetOWMatchDetailsResponse.EResponse result = 1 [default = k_eInternalError];
2852
+ optional uint64 overwatch_replay_id = 2;
2853
+ optional uint64 decryption_key = 3;
2854
+ optional uint32 cluster = 4;
2855
+ optional uint32 overwatch_salt = 5;
2856
+ optional uint32 target_player_slot = 6;
2857
+ repeated .CMsgClientToGCGetOWMatchDetailsResponse.Marker markers = 7;
2858
+ optional .EOverwatchReportReason report_reason = 8 [default = k_EOverwatchReportReason_Unknown];
2859
+ optional uint32 target_hero_id = 9;
2860
+ optional uint32 rank_tier = 10;
2861
+ optional uint32 lane_selection_flags = 11;
2862
+ }
2863
+
2864
+ message CMsgClientToGCSubmitOWConviction {
2865
+ optional uint64 overwatch_replay_id = 1;
2866
+ optional uint32 target_player_slot = 2;
2867
+ optional .EOverwatchConviction cheating_conviction = 3 [default = k_EOverwatchConviction_None];
2868
+ optional .EOverwatchConviction griefing_conviction = 4 [default = k_EOverwatchConviction_None];
2869
+ }
2870
+
2871
+ message CMsgClientToGCSubmitOWConvictionResponse {
2872
+ enum EResponse {
2873
+ k_eInternalError = 0;
2874
+ k_eSuccess = 1;
2875
+ k_eTimeout = 2;
2876
+ k_eTooBusy = 3;
2877
+ k_eNotPermitted = 4;
2878
+ k_eInvalidReplayID = 5;
2879
+ k_eInvalidConviction = 6;
2880
+ k_eInvalidPlayerSlot = 7;
2881
+ }
2882
+
2883
+ optional .CMsgClientToGCSubmitOWConvictionResponse.EResponse result = 1 [default = k_eInternalError];
2884
+ optional uint64 overwatch_replay_id = 2;
2885
+ }
2886
+
2887
+ message CMsgClientToGCChinaSSAURLRequest {
2888
+ }
2889
+
2890
+ message CMsgClientToGCChinaSSAURLResponse {
2891
+ optional string agreement_url = 1;
2892
+ }
2893
+
2894
+ message CMsgClientToGCChinaSSAAcceptedRequest {
2895
+ }
2896
+
2897
+ message CMsgClientToGCChinaSSAAcceptedResponse {
2898
+ optional bool agreement_accepted = 1;
2899
+ }
2900
+
2901
+ message CMsgGCToClientOverwatchCasesAvailable {
2902
+ optional fixed32 expire_time = 1;
2903
+ }
2904
+
2905
+ message CMsgClientToGCStartWatchingOverwatch {
2906
+ optional uint64 overwatch_replay_id = 1;
2907
+ optional uint32 target_player_slot = 2;
2908
+ }
2909
+
2910
+ message CMsgClientToGCStopWatchingOverwatch {
2911
+ optional uint64 overwatch_replay_id = 1;
2912
+ optional uint32 target_player_slot = 2;
2913
+ }
2914
+
2915
+ message CMsgClientToGCOverwatchReplayError {
2916
+ optional uint64 overwatch_replay_id = 1;
2917
+ }
2918
+
2919
+ message CMsgClientToGCGetDPCFavorites {
2920
+ }
2921
+
2922
+ message CMsgClientToGCGetDPCFavoritesResponse {
2923
+ message Favorite {
2924
+ optional .EDPCFavoriteType favorite_type = 1 [default = FAVORITE_TYPE_ALL];
2925
+ optional uint32 favorite_id = 2;
2926
+ }
2927
+
2928
+ enum EResponse {
2929
+ k_eInternalError = 0;
2930
+ k_eSuccess = 1;
2931
+ k_eTooBusy = 2;
2932
+ k_eDisabled = 3;
2933
+ k_eTimeout = 4;
2934
+ k_eInvalidRequest = 5;
2935
+ }
2936
+
2937
+ optional .CMsgClientToGCGetDPCFavoritesResponse.EResponse result = 1 [default = k_eInternalError];
2938
+ repeated .CMsgClientToGCGetDPCFavoritesResponse.Favorite favorites = 2;
2939
+ }
2940
+
2941
+ message CMsgClientToGCSetDPCFavoriteState {
2942
+ optional .EDPCFavoriteType favorite_type = 1 [default = FAVORITE_TYPE_ALL];
2943
+ optional uint32 favorite_id = 2;
2944
+ optional bool enabled = 3;
2945
+ }
2946
+
2947
+ message CMsgClientToGCSetDPCFavoriteStateResponse {
2948
+ enum EResponse {
2949
+ k_eInternalError = 0;
2950
+ k_eSuccess = 1;
2951
+ k_eFavoriteTypeOutOfRange = 2;
2952
+ k_eLockFailed = 3;
2953
+ k_eAlreadyFavorited = 4;
2954
+ k_eAlreadyUnfavorited = 5;
2955
+ k_eInsertRecordFailed = 6;
2956
+ k_eRemoveRecordFailed = 7;
2957
+ k_eTimeout = 8;
2958
+ }
2959
+
2960
+ optional .CMsgClientToGCSetDPCFavoriteStateResponse.EResponse result = 1 [default = k_eInternalError];
2961
+ }
2962
+
2963
+ message CMsgClientToGCSetEventActiveSeasonID {
2964
+ optional uint32 event_id = 1;
2965
+ optional uint32 active_season_id = 2;
2966
+ }
2967
+
2968
+ message CMsgClientToGCSetEventActiveSeasonIDResponse {
2969
+ enum EResponse {
2970
+ k_eInternalError = 0;
2971
+ k_eSuccess = 1;
2972
+ k_eDisabled = 2;
2973
+ k_eTooBusy = 3;
2974
+ k_eNotAllowed = 4;
2975
+ k_eTimeout = 5;
2976
+ k_eInternalSuccessNoChange = 6;
2977
+ }
2978
+
2979
+ optional .CMsgClientToGCSetEventActiveSeasonIDResponse.EResponse result = 1 [default = k_eInternalError];
2980
+ }
2981
+
2982
+ message CMsgClientToGCPurchaseLabyrinthBlessings {
2983
+ optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
2984
+ repeated int32 blessing_ids = 2;
2985
+ optional bool debug = 3;
2986
+ optional bool debug_remove = 4;
2987
+ }
2988
+
2989
+ message CMsgClientToGCPurchaseLabyrinthBlessingsResponse {
2990
+ enum EResponse {
2991
+ k_eInternalError = 0;
2992
+ k_eSuccess = 1;
2993
+ k_eNoSuchBlessing = 2;
2994
+ k_eNotEnoughShards = 3;
2995
+ k_eNoPath = 4;
2996
+ k_eTimeout = 5;
2997
+ }
2998
+
2999
+ optional .CMsgClientToGCPurchaseLabyrinthBlessingsResponse.EResponse result = 1 [default = k_eInternalError];
3000
+ }
3001
+
3002
+ message CMsgClientToGCGetStickerbookRequest {
3003
+ optional uint32 account_id = 1;
3004
+ }
3005
+
3006
+ message CMsgClientToGCGetStickerbookResponse {
3007
+ enum EResponse {
3008
+ k_eInternalError = 0;
3009
+ k_eSuccess = 1;
3010
+ k_eTimeout = 2;
3011
+ k_eNotAllowed = 3;
3012
+ k_eTooBusy = 4;
3013
+ }
3014
+
3015
+ optional .CMsgClientToGCGetStickerbookResponse.EResponse response = 1 [default = k_eInternalError];
3016
+ optional .CMsgStickerbook stickerbook = 2;
3017
+ }
3018
+
3019
+ message CMsgClientToGCCreateStickerbookPageRequest {
3020
+ optional uint32 team_id = 1;
3021
+ optional .EEvent event_id = 2 [default = EVENT_ID_NONE];
3022
+ optional .EStickerbookPageType page_type = 3 [default = STICKER_PAGE_GENERIC];
3023
+ }
3024
+
3025
+ message CMsgClientToGCCreateStickerbookPageResponse {
3026
+ enum EResponse {
3027
+ k_eInternalError = 0;
3028
+ k_eSuccess = 1;
3029
+ k_eTimeout = 2;
3030
+ k_eTooManyPages = 3;
3031
+ k_eTooBusy = 4;
3032
+ }
3033
+
3034
+ optional .CMsgClientToGCCreateStickerbookPageResponse.EResponse response = 1 [default = k_eInternalError];
3035
+ optional uint32 page_number = 2;
3036
+ }
3037
+
3038
+ message CMsgClientToGCDeleteStickerbookPageRequest {
3039
+ optional uint32 page_num = 1;
3040
+ optional uint32 sticker_count = 2;
3041
+ optional uint32 sticker_max = 3;
3042
+ }
3043
+
3044
+ message CMsgClientToGCDeleteStickerbookPageResponse {
3045
+ enum EResponse {
3046
+ k_eInternalError = 0;
3047
+ k_eSuccess = 1;
3048
+ k_eTimeout = 2;
3049
+ k_eInvalidStickerCount = 3;
3050
+ k_eTooBusy = 4;
3051
+ k_eInvalidStickerMax = 5;
3052
+ k_eInvalidPage = 6;
3053
+ }
3054
+
3055
+ optional .CMsgClientToGCDeleteStickerbookPageResponse.EResponse response = 1 [default = k_eInternalError];
3056
+ }
3057
+
3058
+ message CMsgClientToGCPlaceStickersRequest {
3059
+ message StickerItem {
3060
+ optional uint32 page_num = 2;
3061
+ optional .CMsgStickerbookSticker sticker = 3;
3062
+ }
3063
+
3064
+ repeated .CMsgClientToGCPlaceStickersRequest.StickerItem sticker_items = 1;
3065
+ }
3066
+
3067
+ message CMsgClientToGCPlaceStickersResponse {
3068
+ enum EResponse {
3069
+ k_eInternalError = 0;
3070
+ k_eSuccess = 1;
3071
+ k_eTimeout = 2;
3072
+ k_eMissingItem = 3;
3073
+ k_eTooBusy = 4;
3074
+ k_eDuplicateItem = 5;
3075
+ k_eInvalidPage = 6;
3076
+ k_ePageTypeMismatch = 7;
3077
+ k_eTooManyStickers = 8;
3078
+ }
3079
+
3080
+ optional .CMsgClientToGCPlaceStickersResponse.EResponse response = 1 [default = k_eInternalError];
3081
+ }
3082
+
3083
+ message CMsgClientToGCPlaceCollectionStickersRequest {
3084
+ message Slot {
3085
+ optional uint32 page_num = 1;
3086
+ optional uint32 slot = 2;
3087
+ optional uint64 new_item_id = 3;
3088
+ optional uint32 old_item_def_id = 4;
3089
+ optional uint32 old_quality = 5;
3090
+ }
3091
+
3092
+ repeated .CMsgClientToGCPlaceCollectionStickersRequest.Slot slots = 1;
3093
+ }
3094
+
3095
+ message CMsgClientToGCPlaceCollectionStickersResponse {
3096
+ enum EResponse {
3097
+ k_eInternalError = 0;
3098
+ k_eSuccess = 1;
3099
+ k_eTimeout = 2;
3100
+ k_eMissingItem = 3;
3101
+ k_eTooBusy = 4;
3102
+ k_eDuplicateItem = 5;
3103
+ k_eInvalidPage = 6;
3104
+ k_ePageTypeMismatch = 7;
3105
+ k_eOldItemMismatch = 8;
3106
+ k_eInvalidSlot = 9;
3107
+ k_eSlotTypeMismatch = 10;
3108
+ }
3109
+
3110
+ optional .CMsgClientToGCPlaceCollectionStickersResponse.EResponse response = 1 [default = k_eInternalError];
3111
+ }
3112
+
3113
+ message CMsgClientToGCOrderStickerbookTeamPageRequest {
3114
+ optional .CMsgStickerbookTeamPageOrderSequence page_order_sequence = 1;
3115
+ }
3116
+
3117
+ message CMsgClientToGCOrderStickerbookTeamPageResponse {
3118
+ enum EResponse {
3119
+ k_eInternalError = 0;
3120
+ k_eSuccess = 1;
3121
+ k_eTimeout = 2;
3122
+ k_eTooManyPages = 3;
3123
+ k_eTooBusy = 4;
3124
+ k_eInvalidPage = 5;
3125
+ }
3126
+
3127
+ optional .CMsgClientToGCOrderStickerbookTeamPageResponse.EResponse response = 1 [default = k_eInternalError];
3128
+ }
3129
+
3130
+ message CMsgClientToGCSetHeroSticker {
3131
+ optional uint32 hero_id = 1;
3132
+ optional uint64 new_item_id = 2;
3133
+ optional uint64 old_item_id = 3;
3134
+ }
3135
+
3136
+ message CMsgClientToGCSetHeroStickerResponse {
3137
+ enum EResponse {
3138
+ k_eInternalError = 0;
3139
+ k_eSuccess = 1;
3140
+ k_eTimeout = 2;
3141
+ k_eMissingItem = 3;
3142
+ k_eTooBusy = 4;
3143
+ k_eOldItemMismatch = 5;
3144
+ k_eInvalidHero = 6;
3145
+ }
3146
+
3147
+ optional .CMsgClientToGCSetHeroStickerResponse.EResponse response = 1 [default = k_eInternalError];
3148
+ }
3149
+
3150
+ message CMsgClientToGCGetHeroStickers {
3151
+ }
3152
+
3153
+ message CMsgClientToGCGetHeroStickersResponse {
3154
+ enum EResponse {
3155
+ k_eInternalError = 0;
3156
+ k_eSuccess = 1;
3157
+ k_eTimeout = 2;
3158
+ k_eTooBusy = 4;
3159
+ }
3160
+
3161
+ optional .CMsgClientToGCGetHeroStickersResponse.EResponse response = 1 [default = k_eInternalError];
3162
+ optional .CMsgStickerHeroes sticker_heroes = 2;
3163
+ }
3164
+
3165
+ message CMsgClientToGCSetFavoritePage {
3166
+ optional uint32 page_num = 1;
3167
+ optional bool clear = 2;
3168
+ }
3169
+
3170
+ message CMsgClientToGCSetFavoritePageResponse {
3171
+ enum EResponse {
3172
+ k_eInternalError = 0;
3173
+ k_eSuccess = 1;
3174
+ k_eTimeout = 2;
3175
+ k_eTooBusy = 4;
3176
+ k_eInvalidPage = 5;
3177
+ }
3178
+
3179
+ optional .CMsgClientToGCSetFavoritePageResponse.EResponse response = 1 [default = k_eInternalError];
3180
+ }
3181
+
3182
+ message CMsgClientToGCClaimSwag {
3183
+ optional .EEvent event_id = 1 [default = EVENT_ID_NONE];
3184
+ optional uint32 action_id = 2;
3185
+ optional uint32 data = 3;
3186
+ }
3187
+
3188
+ message CMsgClientToGCClaimSwagResponse {
3189
+ enum EResponse {
3190
+ k_eInternalError = 0;
3191
+ k_eSuccess = 1;
3192
+ k_eTimeout = 2;
3193
+ k_eTooBusy = 4;
3194
+ k_eAlreadyClaimed = 5;
3195
+ k_eDisabled = 6;
3196
+ k_eInvalidRequest = 7;
3197
+ k_eUserNotEligible = 8;
3198
+ k_eStorageError = 9;
3199
+ k_eRewardDisabled = 10;
3200
+ }
3201
+
3202
+ optional .CMsgClientToGCClaimSwagResponse.EResponse response = 1 [default = k_eInternalError];
3203
+ }
3204
+
3205
+ message CMsgClientToGCCollectorsCacheAvailableDataRequest {
3206
+ optional uint32 contest_id = 1;
3207
+ }
3208
+
3209
+ message CMsgGCToClientCollectorsCacheAvailableDataResponse {
3210
+ message Vote {
3211
+ enum EVoteType {
3212
+ k_eUp = 0;
3213
+ k_eDown = 1;
3214
+ }
3215
+
3216
+ optional uint32 item_def = 1;
3217
+ optional .CMsgGCToClientCollectorsCacheAvailableDataResponse.Vote.EVoteType vote_type = 2 [default = k_eUp];
3218
+ }
3219
+
3220
+ repeated .CMsgGCToClientCollectorsCacheAvailableDataResponse.Vote votes = 1;
3221
+ }
3222
+
3223
+ message CMsgClientToGCUploadMatchClip {
3224
+ optional .CMatchClip match_clip = 1;
3225
+ }
3226
+
3227
+ message CMsgGCToClientUploadMatchClipResponse {
3228
+ enum EResponse {
3229
+ k_eInternalError = 0;
3230
+ k_eSuccess = 1;
3231
+ k_eTimeout = 2;
3232
+ k_eTooBusy = 4;
3233
+ }
3234
+
3235
+ optional .CMsgGCToClientUploadMatchClipResponse.EResponse response = 1 [default = k_eInternalError];
3236
+ }
3237
+
3238
+ message CMsgClientToGCMapStatsRequest {
3239
+ }
3240
+
3241
+ message CMsgGCToClientMapStatsResponse {
3242
+ enum EResponse {
3243
+ k_eInternalError = 0;
3244
+ k_eSuccess = 1;
3245
+ }
3246
+
3247
+ optional .CMsgGCToClientMapStatsResponse.EResponse response = 1 [default = k_eInternalError];
3248
+ optional .CMsgMapStatsSnapshot personal_stats = 2;
3249
+ optional .CMsgGlobalMapStats global_stats = 3;
3250
+ }
3251
+
3252
+ message CMsgRoadToTIAssignedQuest {
3253
+ optional uint32 quest_id = 1;
3254
+ optional uint32 difficulty = 2;
3255
+ optional uint32 progress_flags = 3;
3256
+ optional uint32 half_credit_flags = 4;
3257
+ optional bool completed = 5;
3258
+ }
3259
+
3260
+ message CMsgRoadToTIUserData {
3261
+ repeated .CMsgRoadToTIAssignedQuest quests = 1;
3262
+ }
3263
+
3264
+ message CMsgClientToGCRoadToTIGetQuests {
3265
+ optional uint32 event_id = 1;
3266
+ }
3267
+
3268
+ message CMsgClientToGCRoadToTIGetQuestsResponse {
3269
+ enum EResponse {
3270
+ k_eInternalError = 0;
3271
+ k_eSuccess = 1;
3272
+ k_eTooBusy = 2;
3273
+ k_eDisabled = 3;
3274
+ k_eTimeout = 4;
3275
+ k_eInvalidID = 5;
3276
+ }
3277
+
3278
+ optional .CMsgClientToGCRoadToTIGetQuestsResponse.EResponse response = 1 [default = k_eInternalError];
3279
+ optional .CMsgRoadToTIUserData quest_data = 2;
3280
+ }
3281
+
3282
+ message CMsgClientToGCRoadToTIGetActiveQuest {
3283
+ optional uint32 event_id = 1;
3284
+ }
3285
+
3286
+ message CMsgClientToGCRoadToTIGetActiveQuestResponse {
3287
+ enum EResponse {
3288
+ k_eInternalError = 0;
3289
+ k_eSuccess = 1;
3290
+ k_eNone = 2;
3291
+ k_eTooBusy = 3;
3292
+ k_eDisabled = 4;
3293
+ k_eTimeout = 5;
3294
+ k_eInvalidID = 6;
3295
+ }
3296
+
3297
+ optional .CMsgClientToGCRoadToTIGetActiveQuestResponse.EResponse response = 1 [default = k_eInternalError];
3298
+ optional .CMsgRoadToTIAssignedQuest quest_data = 2;
3299
+ }
3300
+
3301
+ message CMsgGCToClientRoadToTIQuestDataUpdated {
3302
+ optional uint32 event_id = 1;
3303
+ optional .CMsgRoadToTIUserData quest_data = 2;
3304
+ }
3305
+
3306
+ message CMsgClientToGCRoadToTIUseItem {
3307
+ optional uint32 event_id = 1;
3308
+ optional uint32 item_type = 2;
3309
+ optional uint32 hero_index = 3;
3310
+ }
3311
+
3312
+ message CMsgClientToGCRoadToTIUseItemResponse {
3313
+ enum EResponse {
3314
+ k_eInternalError = 0;
3315
+ k_eSuccess = 1;
3316
+ k_eBadInput = 2;
3317
+ k_eNoItem = 3;
3318
+ k_eDisabled = 4;
3319
+ k_eTimeout = 5;
3320
+ k_eInvalidID = 6;
3321
+ }
3322
+
3323
+ optional .CMsgClientToGCRoadToTIUseItemResponse.EResponse response = 1 [default = k_eInternalError];
3324
+ }
3325
+
3326
+ message CMsgClientToGCRoadToTIDevForceQuest {
3327
+ optional uint32 event_id = 1;
3328
+ optional bool force_match_type = 2;
3329
+ optional uint32 force_id = 3;
3330
+ }
3331
+
3332
+ message CMsgLobbyRoadToTIMatchQuestData {
3333
+ optional .CMsgRoadToTIAssignedQuest quest_data = 1;
3334
+ optional uint32 quest_period = 2;
3335
+ optional uint32 quest_number = 3;
3336
+ }