Permalink
Browse files

update protobuf files for 9558

  • Loading branch information...
1 parent 066f499 commit 08a8d0ccb76bc9035b794005aa363530d6203b53 @fry committed May 22, 2012
Showing with 2,510 additions and 1,273 deletions.
  1. +14 −0 .gitignore
  2. +12 −9 definitions/Account.proto
  3. +46 −0 definitions/AuctionHouse.proto
  4. +48 −0 definitions/CS.proto
  5. +118 −1 definitions/GameMessage.proto
  6. +49 −38 definitions/Hero.proto
  7. +2 −2 definitions/Hireling.proto
  8. +1 −1 definitions/ItemCrafting.proto
  9. +12 −29 definitions/Items.proto
  10. +4 −4 definitions/OnlineService.proto
  11. +8 −0 definitions/PartyMessage.proto
  12. +27 −15 definitions/Profile.proto
  13. +1 −0 definitions/Quest.proto
  14. +102 −0 definitions/Settings.proto
  15. +0 −11 definitions/Stats.proto
  16. +90 −0 definitions/bnet/account_types.proto
  17. +140 −0 definitions/bnet/achievements_service.proto
  18. +58 −0 definitions/bnet/achievements_static_data.proto
  19. +1 −1 definitions/{lib/protocol → bnet}/attribute.proto
  20. +55 −0 definitions/bnet/authentication_service.proto
  21. +11 −6 definitions/{service/challenge/definition/challenge.proto → bnet/challenge_service.proto}
  22. +9 −7 definitions/{service/channel_invitation/definition → bnet}/channel_invitation.proto
  23. +8 −8 definitions/{service/channel_invitation/definition → bnet}/channel_invitation_types.proto
  24. +14 −11 definitions/{service/channel/definition → bnet}/channel_owner.proto
  25. +6 −5 definitions/{service/channel/definition/channel.proto → bnet/channel_service.proto}
  26. +17 −8 definitions/{service/channel/definition → bnet}/channel_types.proto
  27. +3 −1 definitions/{service/chat/definition → bnet}/chat_types.proto
  28. +9 −1 definitions/{lib/rpc/connection.proto → bnet/connection_service.proto}
  29. +1 −0 definitions/{lib/protocol → bnet}/content_handle.proto
  30. +5 −1 definitions/{lib/protocol → bnet}/entity.proto
  31. +11 −0 definitions/{lib/protocol → bnet}/exchange.proto
  32. +27 −12 ...nitions/{lib/protocol/exchange_object_provider.proto → bnet/exchange_object_provider_types.proto}
  33. +1 −1 definitions/{lib/protocol/exchange_risk.proto → bnet/exchange_risk_types.proto}
  34. +117 −18 definitions/{service/exchange/definition/exchange.proto → bnet/exchange_service.proto}
  35. +77 −28 definitions/{service/exchange/definition → bnet}/exchange_types.proto
  36. +7 −0 definitions/bnet/field_options.proto
  37. +25 −24 definitions/{service/friends/definition/friends.proto → bnet/friends_service.proto}
  38. +30 −0 definitions/bnet/friends_types.proto
  39. +2 −2 definitions/{service/game_master/definition → bnet}/game_factory.proto
  40. +20 −15 definitions/{service/game_master/definition/game_master.proto → bnet/game_master_service.proto}
  41. +8 −9 definitions/{service/game_master/definition → bnet}/game_master_types.proto
  42. +62 −0 definitions/bnet/game_utilities_service.proto
  43. +17 −5 definitions/{lib/protocol/invitation.proto → bnet/invitation_types.proto}
  44. +10 −0 definitions/bnet/locale.proto
  45. +10 −7 definitions/{service/notification/definition/notification.proto → bnet/notification_service.proto}
  46. +8 −4 definitions/{service/presence/definition/presence.proto → bnet/presence_service.proto}
  47. +8 −3 definitions/{service/presence/definition → bnet}/presence_types.proto
  48. 0 definitions/{lib/profanity → bnet}/profanity.proto
  49. +19 −0 definitions/bnet/report_service.proto
  50. +12 −0 definitions/bnet/resource_service.proto
  51. +2 −2 definitions/{lib/protocol/resource.proto → bnet/resource_types.proto}
  52. +30 −0 definitions/bnet/role_set.proto
  53. +0 −1 definitions/{lib/rpc → bnet}/rpc.proto
  54. +23 −0 definitions/bnet/rpc_config.proto
  55. +4 −3 definitions/{service/search/definition/search.proto → bnet/search_service.proto}
  56. 0 definitions/{service/search/definition → bnet}/search_types.proto
  57. +4 −4 definitions/{service/server_pool/definition/server_pool.proto → bnet/server_pool_service.proto}
  58. +16 −0 definitions/bnet/session_service.proto
  59. +63 −0 definitions/bnet/user_manager_service.proto
  60. +18 −0 definitions/bnet/user_manager_types.proto
  61. +0 −56 definitions/lib/config/process_config.proto
  62. +0 −5 definitions/lib/protocol/descriptor.proto
  63. +0 −37 definitions/service/authentication/definition/authentication.proto
  64. +0 −51 definitions/service/followers/definition/followers.proto
  65. +0 −15 definitions/service/friends/definition/friends_types.proto
  66. +0 −93 definitions/service/game_utilities/definition/game_utilities.proto
  67. +0 −160 definitions/service/storage/definition/storage.proto
  68. +0 −32 definitions/service/toon/definition/toon.proto
  69. +0 −42 definitions/service/toon/definition/toon_external.proto
  70. +0 −97 definitions/service/user_manager/definition/user_manager.proto
  71. +15 −12 definitions_bin/Account.protobin
  72. BIN definitions_bin/AuctionHouse.protobin
  73. +42 −0 definitions_bin/CS.protobin
  74. +106 −7 definitions_bin/GameMessage.protobin
  75. +54 −44 definitions_bin/Hero.protobin
  76. +2 −2 definitions_bin/Hireling.protobin
  77. +3 −3 definitions_bin/ItemCrafting.protobin
  78. +16 −30 definitions_bin/Items.protobin
  79. +7 −8 definitions_bin/OnlineService.protobin
  80. +8 −1 definitions_bin/PartyMessage.protobin
  81. +38 −25 definitions_bin/Profile.protobin
  82. +3 −2 definitions_bin/Quest.protobin
  83. +104 −2 definitions_bin/Settings.protobin
  84. +0 −9 definitions_bin/Stats.protobin
  85. BIN definitions_bin/bnet/account_types.protobin
  86. BIN definitions_bin/bnet/achievements_service.protobin
  87. +62 −0 definitions_bin/bnet/achievements_static_data.protobin
  88. BIN definitions_bin/{lib/protocol → bnet}/attribute.protobin
  89. BIN definitions_bin/bnet/authentication_service.protobin
  90. BIN definitions_bin/bnet/challenge_service.protobin
  91. BIN definitions_bin/{service/channel_invitation/definition → bnet}/channel_invitation.protobin
  92. +20 −0 definitions_bin/bnet/channel_invitation_types.protobin
  93. BIN definitions_bin/{service/channel/definition → bnet}/channel_owner.protobin
  94. BIN definitions_bin/{service/channel/definition/channel.protobin → bnet/channel_service.protobin}
  95. +20 −12 definitions_bin/{service/channel/definition → bnet}/channel_types.protobin
  96. +9 −0 definitions_bin/bnet/chat_types.protobin
  97. BIN definitions_bin/{lib/rpc/connection.protobin → bnet/connection_service.protobin}
  98. +7 −0 definitions_bin/bnet/content_handle.protobin
  99. +13 −0 definitions_bin/bnet/entity.protobin
  100. BIN definitions_bin/bnet/exchange.protobin
  101. BIN definitions_bin/bnet/exchange_object_provider_types.protobin
  102. BIN definitions_bin/{lib/protocol/exchange_risk.protobin → bnet/exchange_risk_types.protobin}
  103. +114 −29 definitions_bin/{service/exchange/definition/exchange.protobin → bnet/exchange_service.protobin}
  104. +88 −38 definitions_bin/{service/exchange/definition → bnet}/exchange_types.protobin
  105. +7 −0 definitions_bin/bnet/field_options.protobin
  106. BIN definitions_bin/{service/friends/definition/friends.protobin → bnet/friends_service.protobin}
  107. +21 −0 definitions_bin/bnet/friends_types.protobin
  108. +1 −1 definitions_bin/{service/game_master/definition → bnet}/game_factory.protobin
  109. BIN ...ons_bin/{service/game_master/definition/game_master.protobin → bnet/game_master_service.protobin}
  110. BIN definitions_bin/bnet/game_master_types.protobin
  111. BIN definitions_bin/bnet/game_utilities_service.protobin
  112. +43 −0 definitions_bin/bnet/invitation_types.protobin
  113. +9 −0 definitions_bin/bnet/locale.protobin
  114. BIN ..._bin/{service/notification/definition/notification.protobin → bnet/notification_service.protobin}
  115. BIN definitions_bin/{service/presence/definition/presence.protobin → bnet/presence_service.protobin}
  116. BIN definitions_bin/{service/presence/definition → bnet}/presence_types.protobin
  117. +8 −0 definitions_bin/bnet/profanity.protobin
  118. BIN definitions_bin/bnet/report_service.protobin
  119. BIN definitions_bin/bnet/resource_service.protobin
  120. +1 −1 definitions_bin/{lib/protocol/resource.protobin → bnet/resource_types.protobin}
  121. +26 −0 definitions_bin/bnet/role_set.protobin
  122. +4 −7 definitions_bin/{lib/rpc → bnet}/rpc.protobin
  123. +22 −0 definitions_bin/bnet/rpc_config.protobin
  124. BIN definitions_bin/{service/search/definition/search.protobin → bnet/search_service.protobin}
  125. BIN definitions_bin/{service/search/definition → bnet}/search_types.protobin
  126. BIN ...ons_bin/{service/server_pool/definition/server_pool.protobin → bnet/server_pool_service.protobin}
  127. BIN definitions_bin/bnet/session_service.protobin
  128. BIN definitions_bin/bnet/user_manager_service.protobin
  129. +17 −0 definitions_bin/bnet/user_manager_types.protobin
  130. +0 −44 definitions_bin/lib/config/process_config.protobin
  131. +0 −8 definitions_bin/lib/profanity/profanity.protobin
  132. +0 −6 definitions_bin/lib/protocol/content_handle.protobin
  133. +0 −4 definitions_bin/lib/protocol/descriptor.protobin
  134. +0 −10 definitions_bin/lib/protocol/entity.protobin
  135. BIN definitions_bin/lib/protocol/exchange.protobin
  136. BIN definitions_bin/lib/protocol/exchange_object_provider.protobin
  137. +0 −33 definitions_bin/lib/protocol/invitation.protobin
  138. BIN definitions_bin/service/authentication/definition/authentication.protobin
  139. BIN definitions_bin/service/challenge/definition/challenge.protobin
  140. +0 −21 definitions_bin/service/channel_invitation/definition/channel_invitation_types.protobin
  141. +0 −7 definitions_bin/service/chat/definition/chat_types.protobin
  142. BIN definitions_bin/service/followers/definition/followers.protobin
  143. +0 −8 definitions_bin/service/friends/definition/friends_types.protobin
  144. BIN definitions_bin/service/game_master/definition/game_master_types.protobin
  145. BIN definitions_bin/service/game_utilities/definition/game_utilities.protobin
  146. BIN definitions_bin/service/storage/definition/storage.protobin
  147. BIN definitions_bin/service/toon/definition/toon.protobin
  148. BIN definitions_bin/service/toon/definition/toon_external.protobin
  149. BIN definitions_bin/service/user_manager/definition/user_manager.protobin
  150. +21 −1 server/d3client/Program.cs
  151. +8 −6 server/d3network/Network/BasicAuroraRPC.cs
  152. +2 −2 server/d3server/Services/AuthenticationServerImpl.cs
  153. +36 −1 server/d3server/Services/GameMasterImpl.cs
  154. +45 −2 server/d3server/Services/PartyServiceImpl.cs
  155. +6 −2 server/d3server/Services/ToonServiceExternalImpl.cs
View
14 .gitignore
@@ -0,0 +1,14 @@
+Binaries
+*/bin
+*/obj
+*/Debug
+*/Release
+*.user
+*.suo
+_ReSharper.*
+*.sln.cache
+*.pdb
+ipch
+.svn
+*.sdf
+*.opensdf
View
21 definitions/Account.proto
@@ -29,13 +29,16 @@ message SavedDefinition {
required uint32 version = 1;
optional .D3.Account.Digest digest = 2;
required .D3.AttributeSerializer.SavedAttributes saved_attributes = 3;
- optional .D3.Items.ItemList normal_shared_saved_items = 4;
- optional .D3.Items.ItemList hardcore_shared_saved_items = 5;
- optional .D3.ItemCrafting.CrafterSavedData crafter_saved_data = 6;
- repeated sfixed32 seen_tutorials = 7;
- optional sfixed64 num_vote_kicks_participated_in = 8;
- optional sfixed64 num_vote_kicks_initiated = 9;
- optional sfixed64 num_public_games_no_kick = 10;
- optional sfixed64 times_vote_kicked = 11;
- optional .D3.OnlineService.EntityId gold_id = 12;
+ optional .D3.AttributeSerializer.SavedAttributes saved_attributes_hardcore = 4;
+ optional .D3.Items.ItemList normal_shared_saved_items = 5;
+ optional .D3.Items.ItemList hardcore_shared_saved_items = 6;
+ optional .D3.ItemCrafting.CrafterSavedData crafter_normal_data = 7;
+ optional .D3.ItemCrafting.CrafterSavedData crafter_hardcore_data = 8;
+ optional bytes seen_tutorials = 9;
+ optional sfixed64 num_vote_kicks_participated_in = 10;
+ optional sfixed64 num_vote_kicks_initiated = 11;
+ optional sfixed64 num_public_games_no_kick = 12;
+ optional sfixed64 times_vote_kicked = 13;
+ optional .D3.OnlineService.EntityId gold_id_normal = 14;
+ optional .D3.OnlineService.EntityId gold_id_hardcore = 15;
}
View
46 definitions/AuctionHouse.proto
@@ -0,0 +1,46 @@
+package D3.AuctionHouse;
+import "GBHandle.proto";
+import "OnlineService.proto";
+import "Items.proto";
+import "Hero.proto";
+
+message InventoryOperation {
+ enum Operation {
+ REMOVE = 0;
+ UPDATE = 1;
+ }
+ required .D3.AuctionHouse.InventoryOperation.Operation operation = 1;
+ required .D3.OnlineService.EntityId transaction_hero_id = 2;
+ required .D3.OnlineService.ItemId id = 3;
+ optional sint32 item_slot = 4;
+ optional sint32 square_index = 5;
+ optional .D3.Items.Generator generator = 6;
+}
+message InventoryOperations {
+ repeated .D3.AuctionHouse.InventoryOperation operations = 1;
+}
+message Item {
+ required .D3.OnlineService.ItemId id = 1;
+ required .D3.Items.Generator generator = 2;
+}
+message Escrow {
+ enum Version {
+ CURRENT_VERSION = 1;
+ }
+ required uint32 version = 1;
+ optional .D3.AuctionHouse.Item item = 2;
+ optional .D3.Hero.SavedData hero = 3;
+ repeated .D3.OnlineService.EntityId serviced_tokens = 4;
+}
+message AuthorizeInfo {
+ required .D3.OnlineService.EntityId location_id = 1;
+ required .D3.OnlineService.EntityId transaction_hero_id = 2;
+ optional .D3.OnlineService.ItemId item_id = 3;
+}
+message ClaimInfo {
+ required .D3.OnlineService.EntityId transaction_hero_id = 1;
+}
+message AccountInfo {
+ required .D3.OnlineService.EntityId account_id = 1;
+ required .D3.OnlineService.EntityId escrow_id = 2;
+}
View
48 definitions/CS.proto
@@ -0,0 +1,48 @@
+package D3.CS;
+import "AttributeSerializer.proto";
+import "Items.proto";
+import "OnlineService.proto";
+import "ItemCrafting.proto";
+import "Hero.proto";
+import "Account.proto";
+import "Profile.proto";
+
+message ToolTip {
+ required .D3.OnlineService.ItemId itemId = 1;
+ required uint32 ItemQualityLevel = 2;
+ required string Name = 3;
+ required string Type = 4;
+ required int32 SetItem = 5;
+ required string Flavor = 6;
+ required string Cost = 7;
+ required string Durability = 8;
+ required string ClassReqs = 9;
+ required string Requirements = 10;
+ required string Enhancement = 11;
+ required uint64 StackCount = 12;
+ required uint32 NumSockets = 13;
+ required uint32 FilledSockets = 14;
+}
+message TooltipList {
+ repeated .D3.CS.ToolTip tooltips = 1;
+}
+message FallenHero {
+ required .D3.Profile.HeroProfile profile = 1;
+ required .D3.Hero.Digest digest = 2;
+ required string time = 3;
+}
+message Snapshot {
+ required uint64 version = 1;
+ required .D3.Account.SavedDefinition definition = 2;
+ repeated .D3.Hero.SavedDefinition heros = 3;
+ required .D3.Profile.AccountProfile account_profile = 4;
+ required .D3.Profile.HeroProfileList hero_profiles = 5;
+ repeated .D3.CS.FallenHero fallen_heros = 6;
+}
+message SnapshotVersion {
+ required uint64 version = 1;
+ required .D3.CS.Snapshot snapshot = 2;
+}
+message SnapshotVersions {
+ repeated .D3.CS.SnapshotVersion versions = 1;
+}
View
119 definitions/GameMessage.proto
@@ -4,6 +4,7 @@ import "OnlineService.proto";
import "Settings.proto";
import "Account.proto";
import "Items.proto";
+import "CS.proto";
message HeroDigestList {
required .D3.OnlineService.EntityId account_id = 1;
@@ -14,7 +15,8 @@ message ClientToonSettings {
required .D3.Client.ToonSettings client_toon_settings = 2;
}
message HeroDigestListRequest {
- repeated .D3.OnlineService.EntityId toon_id = 1;
+ required .D3.OnlineService.EntityId account_id = 1;
+ repeated .D3.OnlineService.EntityId toon_id = 2;
}
message HeroDigestResponse {
required .D3.OnlineService.EntityId toon_id = 1;
@@ -42,6 +44,7 @@ message GameCurrentPlayers {
}
message AccountVersionList {
required .D3.OnlineService.EntityId account_id = 1;
+ optional bool return_snapshots = 2 [default = false];
}
message AccountVersionSync {
required .D3.OnlineService.EntityId account_id = 1;
@@ -59,3 +62,117 @@ message TutorialMessage {
required uint32 tutorial_sno = 1;
optional string ui_anchor_name = 2;
}
+message TutorialState {
+ required bytes seen_tutorials = 1;
+}
+message DeleteHero {
+ required .D3.OnlineService.EntityId hero_id = 1;
+}
+message UndeleteHero {
+ required .D3.OnlineService.EntityId undelete_hero_id = 1;
+ optional .D3.OnlineService.EntityId replace_hero_id = 2;
+}
+message GetFallenHeros {
+ required .D3.OnlineService.EntityId account_id = 1;
+}
+message ArchiveHardcore {
+ required .D3.OnlineService.EntityId hero_id = 1;
+ required string epitaph = 2;
+}
+message DeleteFallenHero {
+ required .D3.OnlineService.EntityId hero_id = 1;
+}
+message ServerDeleteHero {
+ required .D3.OnlineService.EntityId account_id = 1;
+ required .D3.OnlineService.EntityId hero_id = 2;
+}
+message ServerUndeleteHero {
+ required .D3.OnlineService.EntityId account_id = 1;
+ required .D3.OnlineService.EntityId undelete_hero_id = 2;
+ optional .D3.OnlineService.EntityId replace_hero_id = 3;
+}
+message ServerForceRenameHero {
+ required .D3.OnlineService.EntityId account_id = 1;
+ required .D3.OnlineService.EntityId hero_id = 2;
+}
+message ServerFetchHeros {
+ required .D3.OnlineService.EntityId account_id = 1;
+}
+message ServerFetchInventory {
+ required .D3.OnlineService.EntityId account_id = 1;
+ required .D3.OnlineService.EntityId hero_id = 2;
+}
+message ServerSnapshot {
+ required .D3.OnlineService.EntityId account_id = 1;
+}
+message ServerSnapshotResponse {
+ required .D3.OnlineService.EntityId account_id = 1;
+ required uint64 version = 2;
+}
+message ServerFetchSnapshot {
+ required .D3.OnlineService.EntityId account_id = 1;
+ required uint64 version = 2;
+}
+message ServerRevokeItem {
+ required .D3.OnlineService.EntityId account_id = 1;
+ required .D3.OnlineService.EntityId hero_id = 2;
+ required .D3.OnlineService.ItemId item_id = 3;
+}
+message RenameHero {
+ required .D3.OnlineService.EntityId hero_id = 1;
+ required string new_name = 2;
+}
+message GetGameAccountSettings {
+}
+message SetGameAccountSettings {
+ required .D3.Client.GameAccountSettings settings = 1;
+}
+message GetToonSettings {
+ required .D3.OnlineService.EntityId hero_id = 1;
+}
+message SetToonSettings {
+ required .D3.OnlineService.EntityId hero_id = 1;
+ required .D3.Client.ToonSettings settings = 2;
+}
+message GetAccountDigest {
+}
+message GetHeroItems {
+ required .D3.OnlineService.EntityId hero_id = 1;
+}
+message GetAccountItems {
+ required bool hardcore = 1;
+}
+message GetAccountProfile {
+ required .D3.OnlineService.EntityId account_id = 1;
+}
+message GetHeroProfiles {
+ required .D3.OnlineService.EntityId account_id = 1;
+ repeated .D3.OnlineService.EntityId hero_ids = 2;
+}
+message GetAccountPrefs {
+}
+message SetAccountPrefs {
+ required .D3.Client.Preferences prefs = 1;
+}
+message GetHeroDigest {
+ required .D3.OnlineService.EntityId account_id = 1;
+ required .D3.OnlineService.EntityId hero_id = 2;
+}
+message GetHeroIds {
+ required .D3.OnlineService.EntityId account_id = 1;
+}
+message GetDeletedHero {
+}
+message CSGetSnapshots {
+}
+message CSPullSnapshot {
+ required uint64 version = 1;
+}
+message CSPushSnapshot {
+ required .D3.CS.Snapshot data = 1;
+}
+message CSRestoreToSnapshot {
+ required uint64 version = 1;
+}
+message CSWriteSnapshot {
+}
View
87 definitions/Hero.proto
@@ -16,6 +16,7 @@ message VisualEquipment {
message QuestHistoryEntry {
required sfixed32 sno_quest = 1 [default = -1];
required sint32 difficulty = 2 [default = 0];
+ optional sint32 highest_played_quest_step = 3 [default = -3];
}
message QuestRewardHistoryEntry {
required sfixed32 sno_quest = 1 [default = -1];
@@ -31,22 +32,26 @@ message Digest {
required uint32 player_flags = 6;
required .D3.Hero.VisualEquipment visual_equipment = 7;
repeated .D3.Hero.QuestHistoryEntry quest_history = 8;
- required sint32 last_played_act = 10;
- required sint32 highest_unlocked_act = 11;
- required sint32 last_played_difficulty = 12;
- required sint32 highest_unlocked_difficulty = 13;
- required sfixed32 last_played_quest = 14;
- required sint32 last_played_quest_step = 15;
- required uint32 time_played = 16 [default = 0];
-}
-message HotbarButtonData {
- required sfixed32 sno_power = 1 [default = -1];
- required sfixed32 gbid_item = 2 [default = -1];
-}
-message SkillKeyMapping {
- required sfixed32 sno_power = 1 [default = -1];
- required sint32 id_hotkey = 2 [default = -1];
- required sint32 skill_button = 3 [default = 0];
+ required sint32 last_played_act = 9;
+ required sint32 highest_unlocked_act = 10;
+ required sint32 last_played_difficulty = 11;
+ required sint32 highest_unlocked_difficulty = 12;
+ required sfixed32 last_played_quest = 13;
+ required sint32 last_played_quest_step = 14;
+ required uint32 time_played = 15 [default = 0];
+ optional sint32 highest_completed_difficulty = 16 [default = -1];
+ optional uint32 create_time = 17;
+ optional uint32 last_played_time = 18;
+}
+message DigestUI {
+ required sint32 last_played_act = 1;
+ required sint32 highest_unlocked_act = 2;
+ required sint32 last_played_difficulty = 3;
+ required sint32 highest_unlocked_difficulty = 4;
+ required sfixed32 last_played_quest = 5;
+ required sint32 last_played_quest_step = 6;
+ required uint32 time_played = 7 [default = 0];
+ optional sint32 highest_completed_difficulty = 8;
}
message SavedQuest {
required sfixed32 sno_quest = 1 [default = -1];
@@ -67,19 +72,23 @@ message SavePointData_Proto {
required sint32 savepoint_number = 2 [default = -1];
required uint32 creates_portal = 3 [default = 0];
}
+message SkillWithRune {
+ required sfixed32 sno_skill = 1 [default = -1];
+ optional sint32 rune_type = 2 [default = -1];
+}
message SavedData {
- repeated .D3.Hero.HotbarButtonData hotbar_button_assignments = 1;
- repeated .D3.Hero.SkillKeyMapping skill_key_map = 2;
- required uint32 time_played = 3 [default = 0];
- required uint32 activated_waypoints = 4 [default = 0];
- required .D3.Hireling.SavedData hireling_saved_data = 5;
- required uint32 last_level_time = 6 [default = 0];
- required .D3.Hero.LearnedLore learned_lore = 7;
- required .D3.Hero.SavedConversations saved_conversations = 8;
- repeated sfixed32 sno_active_skills = 9;
- repeated sfixed32 sno_traits = 10;
- repeated sfixed32 seen_tutorials = 11;
- required .D3.Hero.SavePointData_Proto save_point = 12;
+ required uint32 time_played = 1 [default = 0];
+ required uint32 activated_waypoints = 2 [default = 0];
+ required .D3.Hireling.SavedData hireling_saved_data = 3;
+ required uint32 last_level_time = 4 [default = 0];
+ required .D3.Hero.LearnedLore learned_lore = 5;
+ required .D3.Hero.SavedConversations saved_conversations = 6;
+ repeated sfixed32 sno_traits = 7;
+ required .D3.Hero.SavePointData_Proto save_point = 8;
+ required sfixed32 gbid_potion_button = 9 [default = -1];
+ repeated .D3.Hero.SkillWithRune active_skills = 10;
+ required bytes skill_slot_ever_assigned = 11;
+ required uint32 skill_version = 12 [default = 0];
}
message Timestamps {
required sint64 create_time = 1;
@@ -94,19 +103,21 @@ message SavedDefinition {
optional .D3.Items.ItemList items = 6;
repeated .D3.Hero.QuestRewardHistoryEntry quest_reward_history = 7;
}
-message NameSequence {
- optional int64 sequence = 1 [default = 0];
-}
message NameText {
required string name = 1;
}
-message Escrow {
- required uint32 version = 1;
- optional .D3.Items.Generator generator = 2;
- optional .D3.Hero.SavedData hero_data = 3;
- optional uint32 state = 4;
- repeated .D3.OnlineService.ItemId serviced_tokens = 5;
-}
message HeroList {
repeated .D3.OnlineService.EntityId hero_ids = 1;
}
+message DigestList {
+ repeated .D3.Hero.Digest digests = 1;
+}
+message QuestHistoryList {
+ repeated .D3.Hero.QuestHistoryEntry quest_history = 1;
+}
+message SavedQuestList {
+ repeated .D3.Hero.SavedQuest saved_quests = 1;
+}
+message QuestRewardHistoryList {
+ repeated .D3.Hero.QuestRewardHistoryEntry quest_reward_history = 1;
+}
View
4 definitions/Hireling.proto
@@ -5,8 +5,8 @@ message Info {
required sfixed32 gbid_name = 2 [default = -1];
required sint32 level = 3;
required uint32 attribute_experience_next = 4;
- repeated sint32 power_key_params = 11;
- required bool dead = 12;
+ repeated sint32 power_key_params = 5;
+ required bool dead = 6;
}
message SavedData {
repeated .D3.Hireling.Info hirelings = 1;
View
2 definitions/ItemCrafting.proto
@@ -2,7 +2,7 @@ package D3.ItemCrafting;
message CrafterData {
repeated sfixed32 recipes = 1;
- repeated sfixed32 available_enchants = 2;
+ repeated sfixed32 deprecated_available_enchants = 2;
required int32 level = 3;
required sfixed64 cooldown_end = 4;
}
View
41 definitions/Items.proto
@@ -12,18 +12,18 @@ message Generator {
required uint32 seed = 1 [default = 0];
required .D3.GameBalance.Handle gb_handle = 2;
repeated sfixed32 base_affixes = 3;
- required .D3.Items.RareItemName rare_item_name = 4;
- required sfixed32 enchant_affix = 5 [default = -1];
- required sfixed32 socket_affix = 6 [default = -1];
- required uint32 flags = 7 [default = 0];
- required uint32 durability = 8;
- required uint64 stack_size = 9;
- required uint32 dye_type = 10;
- required sint32 item_quality_level = 11;
- required sint32 item_binding_level = 12;
- required uint32 max_durability = 13;
- repeated .D3.Items.EmbeddedGenerator contents = 14;
- optional sfixed32 attuned_skill = 15 [default = -1];
+ optional .D3.Items.RareItemName rare_item_name = 4;
+ optional sfixed32 enchant_affix = 5 [default = -1];
+ required uint32 flags = 6 [default = 0];
+ required uint32 durability = 7;
+ required uint64 stack_size = 8;
+ optional uint32 dye_type = 9 [default = 0];
+ optional sint32 item_quality_level = 10 [default = 1];
+ optional sint32 item_binding_level = 11 [default = 0];
+ optional uint32 max_durability = 12 [default = 0];
+ repeated .D3.Items.EmbeddedGenerator contents = 13;
+ optional uint64 item_unlock_timestamp = 14 [default = 0];
+ optional uint32 enchant_range_val = 15 [default = 0];
}
message EmbeddedGenerator {
required .D3.OnlineService.ItemId id = 1;
@@ -39,23 +39,6 @@ message SavedItem {
required uint32 used_socket_count = 7 [default = 0];
optional .D3.Items.Generator generator = 8;
}
-message AuctionAccountInfo {
- required .D3.OnlineService.EntityId account_id = 1;
- required .D3.OnlineService.EntityId escrow_id = 2;
-}
-message AuctionItem {
- required .D3.OnlineService.ItemId id = 1;
- required .D3.Items.Generator generator = 2;
-}
-message AuctionInfo {
- required .D3.OnlineService.ItemId id = 1;
- optional .D3.Items.Ownership owner = 2;
-}
message ItemList {
repeated .D3.Items.SavedItem items = 1;
}
-message Ownership {
- required .D3.OnlineService.EntityId owner_entity_id = 1;
- optional sint64 delete_time = 2;
- optional .D3.OnlineService.EntityId escrow_id = 3;
-}
View
8 definitions/OnlineService.proto
@@ -31,10 +31,10 @@ message GameCreateParams {
optional .D3.OnlineService.CoopCreateParams coop = 3;
optional .D3.OnlineService.PvPCreateParams pvp = 4;
optional string name = 5;
- required bool is_private = 6 [default = true];
}
message HeroCreateParams {
- required sfixed32 gbid_class = 1 [default = -1];
- required bool is_hardcore = 2 [default = false];
- required bool is_female = 3 [default = false];
+ required string name = 1;
+ required sfixed32 gbid_class = 2 [default = -1];
+ required bool is_hardcore = 3 [default = false];
+ required bool is_female = 4 [default = false];
}
View
8 definitions/PartyMessage.proto
@@ -11,3 +11,11 @@ message SearchForPublicGameParams {
optional .D3.OnlineService.GameCreateParams game_params = 3;
optional int32 remove_reason = 4;
}
+message EnterGamePartyMember {
+ required .D3.OnlineService.EntityId account_id = 1;
+ required .D3.OnlineService.EntityId hero_id = 2;
+}
+message EnterGamePartyMemberList {
+ repeated .D3.PartyMessage.EnterGamePartyMember member = 1;
+ optional int32 requester_index = 2;
+}
View
42 definitions/Profile.proto
@@ -5,17 +5,25 @@ import "OnlineService.proto";
import "GBHandle.proto";
message ClassInfo {
- required uint64 playtime = 1;
- required uint32 highest_level = 2;
- required uint32 highest_difficulty = 3;
+ optional uint64 playtime = 1 [default = 0];
+ optional uint32 highest_level = 2 [default = 0];
+ optional uint32 highest_difficulty = 3 [default = 0];
}
message SkillWithRune {
required sfixed32 skill = 1 [default = -1];
- optional sfixed32 rune = 2 [default = -1];
+ optional sint32 rune_type = 2 [default = -1];
}
message SkillsWithRunes {
repeated .D3.Profile.SkillWithRune runes = 1;
}
+message PassiveSkills {
+ repeated sfixed32 sno_traits = 1;
+}
+message KillerInfo {
+ optional int32 sno_killer = 1 [default = -1];
+ optional uint32 rarity = 2;
+ repeated int32 rare_name_gbids = 3;
+}
message HeroProfile {
optional uint64 monsters_killed = 1;
optional uint64 elites_killed = 2;
@@ -24,9 +32,9 @@ message HeroProfile {
optional uint32 highest_difficulty = 5;
optional uint32 create_time = 6;
optional bool hardcore = 7 [default = false];
- optional uint32 attack = 8;
- optional uint32 precision = 9;
- optional uint32 defense = 10;
+ optional uint32 strength = 8;
+ optional uint32 dexterity = 9;
+ optional uint32 intelligence = 10;
optional uint32 vitality = 11;
optional uint32 armor = 12;
optional float dps = 13;
@@ -37,11 +45,15 @@ message HeroProfile {
optional uint32 resist_cold = 18;
optional .D3.Items.ItemList equipment = 19;
optional .D3.Profile.SkillsWithRunes sno_active_skills = 20;
- repeated sfixed32 sno_traits = 21;
+ optional .D3.Profile.PassiveSkills sno_traits = 21;
optional uint32 death_time = 22;
- optional .D3.GameBalance.Handle killer = 23;
- optional .D3.GameBalance.Handle kill_location = 24;
- optional string epitaph = 25;
+ optional .D3.Profile.KillerInfo killer_info = 23;
+ optional uint32 sno_kill_location = 24;
+ optional .D3.OnlineService.EntityId hero_id = 27;
+ optional float damage_increase = 28;
+ optional float crit_chance = 29;
+ optional float damage_reduction = 30;
+ optional uint32 life = 31;
}
message HeroProfileList {
repeated .D3.Profile.HeroProfile heros = 1;
@@ -52,11 +64,11 @@ message AccountProfile {
optional uint32 highest_boss_difficulty_2 = 3;
optional uint32 highest_boss_difficulty_3 = 4;
optional uint32 highest_boss_difficulty_4 = 5;
- optional uint64 monsters_killed = 6;
- optional uint64 elites_killed = 7;
- optional uint64 gold_collected = 8;
+ optional uint64 monsters_killed = 6 [default = 0];
+ optional uint64 elites_killed = 7 [default = 0];
+ optional uint64 gold_collected = 8 [default = 0];
optional uint64 highest_hardcore_level = 9;
- optional uint64 harcore_monsters_killed = 10;
+ optional uint64 hardcore_monsters_killed = 10;
optional .D3.Profile.ClassInfo class_barbarian = 11;
optional .D3.Profile.ClassInfo class_demonhunter = 12;
optional .D3.Profile.ClassInfo class_monk = 13;
View
1 definitions/Quest.proto
@@ -5,6 +5,7 @@ message QuestReward {
optional int32 xp_granted = 1 [default = 0];
optional int32 gold_granted = 2 [default = 0];
optional .D3.Items.Generator item = 3;
+ optional sfixed32 sno_quest = 4 [default = -1];
}
message QuestStepComplete {
required bool is_quest_complete = 1;
View
102 definitions/Settings.proto
@@ -3,8 +3,110 @@ package D3.Client;
message ToonSettings {
optional uint32 ui_flags = 1 [default = 0];
}
+message ActionBinding {
+ required int32 key_1 = 1 [default = -1];
+ required uint32 key_modifier_flags_1 = 2 [default = 0];
+ required int32 key_2 = 3 [default = -1];
+ required uint32 key_modifier_flags_2 = 4 [default = 0];
+}
message GameAccountSettings {
optional int32 use_last_hero = 1 [default = 0];
optional int32 show_offline_toast = 2 [default = 0];
optional string rmt_last_used_currency = 3;
+ optional int32 coop_last_create_game_privacy = 4 [default = 1];
+ optional string rmt_preferred_currency = 5;
+}
+message Preferences {
+ enum Flags {
+ SHOW_ITEM_TOOLTIP_ON_DROP = 1;
+ SHOW_MONSTER_HP_BARS = 2;
+ SHOW_PLAYER_HP_BARS = 3;
+ SHOW_ITEMS_ON_GROUND = 6;
+ SHOW_DAMAGE_NUMBERS = 8;
+ SHOW_CRITICALS = 9;
+ SHOW_DEFENSIVE_MESSAGES = 10;
+ INVENTORY_ZOOM = 11;
+ AUTO_EQUIP_ITEMS = 12;
+ SHOW_TUTORIALS = 13;
+ SHOW_BREAD_CRUMB = 14;
+ DISABLE_OS_SHORTCUTS = 17;
+ SHOW_HEAL_NUMBERS = 18;
+ SHOW_PLAYER_NAMES = 19;
+ SHOW_HP_BAR_NUMBERS = 20;
+ SHOW_CLOCK = 21;
+ SHOW_ADVANCED_TOOLTIPS = 22;
+ ELECTIVE_MODE = 23;
+ NOTIFY_FRIEND_ONLINE = 24;
+ NOTIFY_FRIEND_OFFLINE = 25;
+ NOTIFY_FRIEND_REQUEST = 26;
+ NOTIFY_FRIEND_ACHIEVEMENT = 27;
+ NOTIFY_DISPLAY_WINDOW = 28;
+ MATURE_LANGUAGE_FILTER = 29;
+ ALLOW_QUICK_JOIN = 30;
+ }
+ required int32 version = 1;
+ optional uint32 flags = 2 [default = 0];
+ optional uint32 items_on_ground_setting = 3 [default = 0];
+ optional .D3.Client.ActionBinding action_binding_inventory = 4;
+ optional .D3.Client.ActionBinding action_binding_hireling = 5;
+ optional .D3.Client.ActionBinding action_binding_skills = 6;
+ optional .D3.Client.ActionBinding action_binding_quests = 74;
+ optional .D3.Client.ActionBinding action_binding_lore = 8;
+ optional .D3.Client.ActionBinding action_binding_social = 9;
+ optional .D3.Client.ActionBinding action_binding_worldmap = 10;
+ optional .D3.Client.ActionBinding action_binding_help = 11;
+ optional .D3.Client.ActionBinding action_binding_recentplayers = 12;
+ optional .D3.Client.ActionBinding action_binding_chatlobby = 13;
+ optional .D3.Client.ActionBinding action_binding_achievements = 14;
+ optional .D3.Client.ActionBinding action_binding_profile = 15;
+ optional .D3.Client.ActionBinding action_binding_auctionhouse = 16;
+ optional .D3.Client.ActionBinding action_binding_clear = 17;
+ optional .D3.Client.ActionBinding action_binding_console = 18;
+ optional .D3.Client.ActionBinding action_binding_map = 19;
+ optional .D3.Client.ActionBinding action_binding_skillcycle = 20;
+ optional .D3.Client.ActionBinding action_binding_togglemonsterhpbars = 21;
+ optional .D3.Client.ActionBinding action_binding_toggleplayerhpbars = 22;
+ optional .D3.Client.ActionBinding action_binding_toggledamagenumbers = 23;
+ optional .D3.Client.ActionBinding action_binding_toggleitemsonground = 24;
+ optional .D3.Client.ActionBinding action_binding_rewhisper = 25;
+ optional .D3.Client.ActionBinding action_binding_whisperreply = 26;
+ optional .D3.Client.ActionBinding action_binding_voiceptt = 27;
+ optional .D3.Client.ActionBinding action_binding_skill1 = 28;
+ optional .D3.Client.ActionBinding action_binding_skill2 = 29;
+ optional .D3.Client.ActionBinding action_binding_skill3 = 30;
+ optional .D3.Client.ActionBinding action_binding_skill4 = 31;
+ optional .D3.Client.ActionBinding action_binding_potion = 32;
+ optional .D3.Client.ActionBinding action_binding_bannerdrop = 33;
+ optional .D3.Client.ActionBinding action_binding_zoom = 34;
+ optional .D3.Client.ActionBinding action_binding_emotefollow = 35;
+ optional .D3.Client.ActionBinding action_binding_emotegive = 36;
+ optional .D3.Client.ActionBinding action_binding_emotethanks = 37;
+ optional .D3.Client.ActionBinding action_binding_emotesorry = 38;
+ optional .D3.Client.ActionBinding action_binding_emotebye = 39;
+ optional .D3.Client.ActionBinding action_binding_emotedie = 40;
+ optional .D3.Client.ActionBinding action_binding_emoterun = 41;
+ optional .D3.Client.ActionBinding action_binding_emotewait = 42;
+ optional .D3.Client.ActionBinding action_binding_emotego = 43;
+ optional .D3.Client.ActionBinding action_binding_emotehelp = 44;
+ optional .D3.Client.ActionBinding action_binding_emoteyes = 45;
+ optional .D3.Client.ActionBinding action_binding_emoteno = 46;
+ optional .D3.Client.ActionBinding action_binding_emotestay = 47;
+ optional .D3.Client.ActionBinding action_binding_emoteattack = 48;
+ optional .D3.Client.ActionBinding action_binding_emoteretreat = 49;
+ optional .D3.Client.ActionBinding action_binding_emotehold = 50;
+ optional .D3.Client.ActionBinding action_binding_emotetakeobjective = 51;
+ optional .D3.Client.ActionBinding action_binding_emotelaugh = 52;
+ optional .D3.Client.ActionBinding action_binding_holdposition = 53;
+ optional .D3.Client.ActionBinding action_binding_systemmastervolumeup = 54;
+ optional .D3.Client.ActionBinding action_binding_systemmastervolumedown = 55;
+ optional .D3.Client.ActionBinding action_binding_systemtogglemusic = 56;
+ optional .D3.Client.ActionBinding action_binding_systemtogglesound = 57;
+ optional .D3.Client.ActionBinding action_binding_systemscreenshot = 58;
+ optional .D3.Client.ActionBinding action_binding_stoneofrecall = 59;
+ optional .D3.Client.ActionBinding action_binding_bannerscreen = 60;
+ optional .D3.Client.ActionBinding action_binding_lmb = 61;
+ optional .D3.Client.ActionBinding action_binding_rmb = 62;
+ optional .D3.Client.ActionBinding action_binding_walk = 63;
+ optional .D3.Client.ActionBinding action_binding_systemtogglefps = 64;
+ optional uint32 notify_duration = 100 [default = 0];
}
View
11 definitions/Stats.proto
@@ -1,11 +0,0 @@
-package D3.Stats;
-
-message StatCategory {
- required uint32 stat_id = 1;
- required uint32 data_1 = 2;
- optional uint32 data_2 = 3;
- required uint64 total = 4;
-}
-message StatList {
- repeated .D3.Stats.StatCategory stats = 1;
-}
View
90 definitions/bnet/account_types.proto
@@ -0,0 +1,90 @@
+package bnet.protocol.account;
+
+message AccountId {
+ required fixed32 id = 1;
+}
+message AccountLicense {
+ required uint32 id = 1;
+ optional uint64 expires = 2;
+}
+message AccountCredential {
+ required uint32 id = 1;
+ optional bytes data = 2;
+}
+message AccountBlob {
+ required fixed32 id = 2;
+ required uint32 region = 3;
+ repeated string email = 4;
+ required uint64 flags = 5;
+ optional uint64 secure_release = 6;
+ optional uint64 whitelist_start = 7;
+ optional uint64 whitelist_end = 8;
+ required string full_name = 10;
+ repeated .bnet.protocol.account.AccountLicense licenses = 20;
+ repeated .bnet.protocol.account.AccountCredential credentials = 21;
+ repeated .bnet.protocol.account.GameAccountLink account_links = 22;
+ optional string battle_tag = 23;
+ optional fixed32 default_currency = 25;
+ optional uint32 legal_region = 26;
+ optional fixed32 legal_locale = 27;
+ required uint64 cache_expiration = 30;
+}
+message AccountBlobList {
+ repeated .bnet.protocol.account.AccountBlob blob = 1;
+}
+message GameAccountHandle {
+ required fixed32 id = 1;
+ required fixed32 program = 2;
+ required uint32 region = 3;
+}
+message GameAccountLink {
+ required .bnet.protocol.account.GameAccountHandle game_account = 1;
+ required string name = 2;
+}
+message GameAccountBlob {
+ required .bnet.protocol.account.GameAccountHandle game_account = 1;
+ optional string name = 2 [default = ""];
+ optional uint32 realm_permissions = 3 [default = 0];
+ required uint32 status = 4;
+ optional uint64 flags = 5 [default = 0];
+ optional uint32 billing_flags = 6 [default = 0];
+ required uint64 cache_expiration = 7;
+ optional uint64 subscription_expiration = 10;
+ optional uint32 units_remaining = 11;
+ repeated .bnet.protocol.account.AccountLicense licenses = 20;
+}
+message GameAccountBlobList {
+ repeated .bnet.protocol.account.GameAccountBlob blob = 1;
+}
+message AccountReference {
+ optional fixed32 id = 1;
+ optional string email = 2;
+ optional .bnet.protocol.account.GameAccountHandle handle = 3;
+ optional string battle_tag = 4;
+ optional uint32 region = 10 [default = 0];
+}
+message Wallet {
+ required uint32 region = 1;
+ required uint64 wallet_id = 2;
+ required uint32 wallet_type = 3;
+ optional string description = 4;
+ required uint32 country_id = 5;
+ optional string state = 6;
+ optional string city = 7;
+ optional string postal_code = 8;
+ optional bytes payment_info = 9;
+ optional string bin = 10;
+ optional string locale_id = 11;
+ optional string street = 12;
+ optional string first_name = 13;
+ optional string last_name = 14;
+ optional uint64 birth_date = 15;
+}
+message Wallets {
+ repeated .bnet.protocol.account.Wallet wallets = 1;
+}
+message CurrencyRestriction {
+ required string currency = 1;
+ required string authenticator_cap = 2;
+ required string soft_cap = 3;
+}
View
140 definitions/bnet/achievements_service.proto
@@ -0,0 +1,140 @@
+package bnet.protocol.achievements;
+import "bnet/rpc.proto";
+import "bnet/entity.proto";
+import "bnet/content_handle.proto";
+
+message AchievementUpdateRecord {
+ required uint64 achievement_id = 1;
+ required int32 completion = 2;
+}
+message CriteriaUpdateRecord {
+ required uint32 criteria_Id_32_and_flags_8 = 1;
+ optional uint32 start_time_32 = 2 [default = 0];
+ optional uint32 quantity_32 = 3 [default = 0];
+}
+message PostUpdateRecord {
+ required .bnet.protocol.EntityId target_id = 1;
+ repeated .bnet.protocol.achievements.CriteriaUpdateRecord criteria = 2;
+}
+message PostUpdateRequest {
+ repeated .bnet.protocol.achievements.PostUpdateRecord post_update_record = 1;
+ optional fixed32 program_id = 2 [default = 0];
+ optional uint32 ati_id = 3 [default = 0];
+}
+message PostUpdateResponse {
+ repeated uint32 error_code = 1;
+}
+message RegisterWithServiceRequest {
+ required .bnet.protocol.EntityId target_id = 1;
+ required uint64 object_id = 2;
+ optional uint32 registration_flags = 3;
+ optional fixed32 program_id = 4 [default = 0];
+ optional uint32 ati_id = 5 [default = 0];
+}
+message RegisterWithServiceResponse {
+ optional .bnet.protocol.achievements.Snapshot snapshot = 1;
+ optional uint32 registration_flags = 2;
+}
+message UnregisterFromServiceRequest {
+ required .bnet.protocol.EntityId target_id = 1;
+ required uint64 object_id = 2;
+ optional uint32 ati_id = 3 [default = 0];
+}
+message Snapshot {
+ repeated .bnet.protocol.achievements.AchievementUpdateRecord achievement_snapshot = 1;
+ repeated .bnet.protocol.achievements.CriteriaUpdateRecord criteria_snapshot = 2;
+ optional uint64 header = 3 [default = 0];
+}
+message RequestSnapshotRequest {
+ required .bnet.protocol.EntityId entity_id = 1;
+ required uint32 filter = 2;
+ optional fixed32 program_id = 3 [default = 0];
+}
+message RequestSnapshotResponse {
+ optional .bnet.protocol.achievements.Snapshot snapshot = 1;
+}
+message InitializeRequest {
+ optional fixed32 program_id = 1 [default = 0];
+ required uint64 object_id = 2;
+}
+message InitializeResponse {
+ required .bnet.protocol.ContentHandle content_handle = 1;
+ optional uint32 max_records_per_update = 2 [default = 0];
+ optional uint32 max_criteria_per_record = 3 [default = 0];
+ optional uint32 max_achievements_per_record = 4 [default = 0];
+ optional uint32 max_registrations = 5 [default = 0];
+ optional uint64 flush_frequency = 6 [default = 0];
+}
+message StaticDataHash {
+ required fixed32 program_id = 1;
+ required string hash = 2;
+}
+message ValidateStaticDataRequest {
+ repeated .bnet.protocol.achievements.StaticDataHash static_data_hash = 1;
+}
+message SnapshotUpdateNotification {
+ required .bnet.protocol.EntityId target_id = 1;
+ required .bnet.protocol.achievements.Snapshot snapshot = 2;
+}
+message FlushFrequencyUpdateNotification {
+ required uint64 flush_frequency = 1;
+}
+message AchievementStats {
+ required uint64 id = 1;
+ required uint64 count = 2;
+}
+message GetAchievementStatsRequest {
+ required fixed32 program_id = 1;
+}
+message GetAchievementStatsResponse {
+ repeated .bnet.protocol.achievements.AchievementStats stats = 1;
+}
+message GetCriteriaStatsRequest {
+ required fixed32 program_id = 1;
+}
+message GetCriteriaStatsResponse {
+ repeated .bnet.protocol.achievements.AchievementStats stats = 1;
+}
+message RevokeAchievementRequest {
+ required .bnet.protocol.EntityId entity_id = 1;
+ required uint64 id = 2;
+}
+message RevokeAchievementResponse {
+ optional uint32 revoked_count = 1 [default = 0];
+}
+message UpdateCriteriaRequest {
+ required .bnet.protocol.EntityId entity_id = 1;
+ required uint64 id = 2;
+ required uint64 quantity = 3;
+ optional uint32 flags = 4 [default = 0];
+}
+message GrantAchievementRequest {
+ required .bnet.protocol.EntityId entity_id = 1;
+ required uint64 id = 2;
+}
+message GrantAchievementResponse {
+ optional uint32 granted_count = 1 [default = 0];
+}
+message CacheKillRequest {
+ optional .bnet.protocol.EntityId entity_id = 1;
+}
+service AchievementsService {
+ rpc PostUpdate (.bnet.protocol.achievements.PostUpdateRequest) returns (.bnet.protocol.achievements.PostUpdateResponse);
+ rpc RegisterWithService (.bnet.protocol.achievements.RegisterWithServiceRequest) returns (.bnet.protocol.achievements.RegisterWithServiceResponse);
+ rpc RequestSnapshot (.bnet.protocol.achievements.RequestSnapshotRequest) returns (.bnet.protocol.achievements.RequestSnapshotResponse);
+ rpc UnregisterFromService (.bnet.protocol.achievements.UnregisterFromServiceRequest) returns (.bnet.protocol.NoData);
+ rpc Initialize (.bnet.protocol.achievements.InitializeRequest) returns (.bnet.protocol.achievements.InitializeResponse);
+ rpc ValidateStaticData (.bnet.protocol.achievements.ValidateStaticDataRequest) returns (.bnet.protocol.NoData);
+}
+service AchievementsNotify {
+ rpc NotifySnapshotUpdate (.bnet.protocol.achievements.SnapshotUpdateNotification) returns (.bnet.protocol.NO_RESPONSE);
+ rpc NotifyFlushFrequencyUpdate (.bnet.protocol.achievements.FlushFrequencyUpdateNotification) returns (.bnet.protocol.NO_RESPONSE);
+}
+service AchievementsUtils {
+ rpc GetAchievementStats (.bnet.protocol.achievements.GetAchievementStatsRequest) returns (.bnet.protocol.achievements.GetAchievementStatsResponse);
+ rpc GetCriteriaStats (.bnet.protocol.achievements.GetCriteriaStatsRequest) returns (.bnet.protocol.achievements.GetCriteriaStatsResponse);
+ rpc RevokeAchievement (.bnet.protocol.achievements.RevokeAchievementRequest) returns (.bnet.protocol.achievements.RevokeAchievementResponse);
+ rpc UpdateCriteria (.bnet.protocol.achievements.UpdateCriteriaRequest) returns (.bnet.protocol.NoData);
+ rpc GrantAchievement (.bnet.protocol.achievements.GrantAchievementRequest) returns (.bnet.protocol.achievements.GrantAchievementResponse);
+ rpc CacheKill (.bnet.protocol.achievements.CacheKillRequest) returns (.bnet.protocol.NoData);
+}
View
58 definitions/bnet/achievements_static_data.proto
@@ -0,0 +1,58 @@
+package bnet.protocol.achievements;
+
+enum ModiferTargetType {
+ SUBJECT = 1400201834;
+ OBJECT = 5202538;
+}
+message Attribute {
+ required string key = 1;
+ required string value = 2;
+}
+message CriteriaModifier {
+ required uint64 necessary_condition = 1;
+ required fixed32 target = 2;
+ required uint32 operand = 3;
+ required uint64 comparand = 4;
+}
+message CriteriaEvent {
+ required uint64 id = 1;
+ optional uint64 comparand = 2 [default = 0];
+ repeated .bnet.protocol.achievements.CriteriaModifier modifier = 3;
+ optional uint32 timer_duration = 4;
+}
+message StaticCategoryDefinition {
+ required uint32 id = 1;
+ optional uint64 parent_id = 2;
+ optional uint64 OBSOLETE_featured_achievement_id = 3;
+ required uint32 order_hint = 4;
+ repeated .bnet.protocol.achievements.Attribute attributes = 5;
+}
+message StaticAchievementDefinition {
+ required uint64 id = 1;
+ optional uint64 superseding_achievement_id = 2;
+ required uint32 category_id = 3;
+ optional uint32 minimum_criteria = 4;
+ required uint32 points_value = 5;
+ required uint32 flags = 6;
+ required uint32 order_hint = 7;
+ optional uint64 criteria_shared_with_achievement_id = 8;
+ repeated .bnet.protocol.achievements.Attribute attributes = 9;
+}
+message StaticCriteriaDefinition {
+ required uint64 criteria_id = 1;
+ required uint64 parent_achievement_id = 2;
+ optional .bnet.protocol.achievements.CriteriaEvent start_event = 3;
+ optional .bnet.protocol.achievements.CriteriaEvent advance_event = 4;
+ optional .bnet.protocol.achievements.CriteriaEvent fail_event = 5;
+ required uint64 necessary_quantity = 6;
+ optional uint32 order_hint = 7;
+ required fixed32 evalutation_class = 8;
+ required uint32 flags = 9;
+ repeated .bnet.protocol.achievements.Attribute attributes = 10;
+}
+message AchievementFile {
+ repeated .bnet.protocol.achievements.StaticCategoryDefinition category = 1;
+ repeated .bnet.protocol.achievements.StaticAchievementDefinition achievement = 2;
+ repeated .bnet.protocol.achievements.StaticCriteriaDefinition criteria = 3;
+ repeated .bnet.protocol.achievements.Attribute attributes = 4;
+}
View
2 definitions/lib/protocol/attribute.proto → definitions/bnet/attribute.proto
@@ -1,5 +1,5 @@
package bnet.protocol.attribute;
-import "lib/protocol/entity.proto";
+import "bnet/entity.proto";
message Variant {
optional bool bool_value = 2;
View
55 definitions/bnet/authentication_service.proto
@@ -0,0 +1,55 @@
+package bnet.protocol.authentication;
+import "bnet/account_types.proto";
+import "bnet/rpc.proto";
+import "bnet/content_handle.proto";
+import "bnet/entity.proto";
+
+message ModuleLoadRequest {
+ required .bnet.protocol.ContentHandle module_handle = 1;
+ optional bytes message = 2;
+}
+message ModuleNotification {
+ optional int32 module_id = 2;
+ optional uint32 result = 3;
+}
+message ModuleMessageRequest {
+ required int32 module_id = 1;
+ optional bytes message = 2;
+}
+message LogonRequest {
+ optional string program = 1;
+ optional string platform = 2;
+ optional string locale = 3;
+ optional string email = 4;
+ optional string version = 5;
+ optional int32 application_version = 6;
+}
+message LogonResult {
+ required uint32 error_code = 1;
+ optional .bnet.protocol.EntityId account = 2;
+ repeated .bnet.protocol.EntityId game_account = 3;
+}
+message AccountSettingsNotification {
+ repeated .bnet.protocol.account.AccountLicense licenses = 1;
+ optional bool is_using_rid = 2;
+ optional bool is_playing_from_igr = 3;
+ optional bool can_receive_voice = 4;
+ optional bool can_send_voice = 5;
+}
+message ServerStateChangeRequest {
+ required uint32 state = 1;
+ required uint64 event_time = 2;
+}
+service AuthenticationClient {
+ rpc ModuleLoad (.bnet.protocol.authentication.ModuleLoadRequest) returns (.bnet.protocol.NO_RESPONSE);
+ rpc ModuleMessage (.bnet.protocol.authentication.ModuleMessageRequest) returns (.bnet.protocol.NoData);
+ rpc AccountSettings (.bnet.protocol.authentication.AccountSettingsNotification) returns (.bnet.protocol.NO_RESPONSE);
+ rpc ServerStateChange (.bnet.protocol.authentication.ServerStateChangeRequest) returns (.bnet.protocol.NO_RESPONSE);
+ rpc LogonComplete (.bnet.protocol.authentication.LogonResult) returns (.bnet.protocol.NO_RESPONSE);
+}
+service AuthenticationServer {
+ rpc Logon (.bnet.protocol.authentication.LogonRequest) returns (.bnet.protocol.NoData);
+ rpc ModuleNotify (.bnet.protocol.authentication.ModuleNotification) returns (.bnet.protocol.NoData);
+ rpc ModuleMessage (.bnet.protocol.authentication.ModuleMessageRequest) returns (.bnet.protocol.NoData);
+ rpc SelectGameAccount (.bnet.protocol.EntityId) returns (.bnet.protocol.NoData);
+}
View
17 ...vice/challenge/definition/challenge.proto → definitions/bnet/challenge_service.proto
@@ -1,15 +1,17 @@
package bnet.protocol.challenge;
-import "lib/protocol/attribute.proto";
-import "lib/protocol/entity.proto";
-import "lib/rpc/rpc.proto";
+import "bnet/attribute.proto";
+import "bnet/entity.proto";
+import "bnet/rpc.proto";
+import "bnet/field_options.proto";
message Challenge {
- required uint32 type = 1;
+ required fixed32 type = 1;
optional string info = 2;
optional string answer = 3;
+ optional uint32 retries = 4;
}
message ChallengePickedRequest {
- required uint32 challenge = 1;
+ required fixed32 challenge = 1;
}
message ChallengeAnsweredRequest {
required string answer = 1;
@@ -18,16 +20,19 @@ message SendChallengeToUserRequest {
optional .bnet.protocol.ProcessId peer_id = 1;
optional .bnet.protocol.EntityId game_account_id = 2;
repeated .bnet.protocol.challenge.Challenge challenges = 3;
+ required fixed32 context = 4;
}
message SendChallengeToUserResponse {
required .bnet.protocol.challenge.Challenge challenge = 1;
}
message ChallengeUserRequest {
repeated .bnet.protocol.challenge.Challenge challenges = 1;
+ required fixed32 context = 2;
}
service ChallengeService {
rpc ChallengePicked (.bnet.protocol.challenge.ChallengePickedRequest) returns (.bnet.protocol.NO_RESPONSE);
- rpc ChallengeAnswered (.bnet.protocol.challenge.ChallengeAnsweredRequest) returns (.bnet.protocol.NO_RESPONSE);
+ rpc ChallengeAnswered (.bnet.protocol.challenge.ChallengeAnsweredRequest) returns (.bnet.protocol.NoData);
+ rpc ChallengeCancelled (.bnet.protocol.NoData) returns (.bnet.protocol.NO_RESPONSE);
rpc SendChallengeToUser (.bnet.protocol.challenge.SendChallengeToUserRequest) returns (.bnet.protocol.challenge.SendChallengeToUserResponse);
}
service ChallengeNotify {
View
16 ...ation/definition/channel_invitation.proto → definitions/bnet/channel_invitation.proto
@@ -1,14 +1,16 @@
package bnet.protocol.channel_invitation;
-import "lib/protocol/entity.proto";
-import "lib/protocol/invitation.proto";
-import "lib/rpc/rpc.proto";
-import "service/channel/definition/channel.proto";
-import "service/channel_invitation/definition/channel_invitation_types.proto";
+import "bnet/entity.proto";
+import "bnet/invitation_types.proto";
+import "bnet/rpc.proto";
+import "bnet/channel_service.proto";
+import "bnet/channel_invitation_types.proto";
+import "bnet/channel_types.proto";
message AcceptInvitationRequest {
optional .bnet.protocol.EntityId agent_id = 1;
- required fixed64 invitation_id = 2;
- required uint64 object_id = 3;
+ optional .bnet.protocol.channel.MemberState member_state = 2;
+ required fixed64 invitation_id = 3;
+ required uint64 object_id = 4;
}
message AcceptInvitationResponse {
required uint64 object_id = 1;
View
16 ...definition/channel_invitation_types.proto → ...tions/bnet/channel_invitation_types.proto
@@ -1,24 +1,24 @@
package bnet.protocol.channel_invitation;
-import "lib/protocol/invitation.proto";
-import "lib/protocol/entity.proto";
-import "service/channel/definition/channel_types.proto";
+import "bnet/invitation_types.proto";
+import "bnet/entity.proto";
+import "bnet/channel_types.proto";
-message Invitation {
+message ChannelInvitation {
required .bnet.protocol.channel.ChannelDescription channel_description = 1;
optional bool reserved = 2 [default = false];
optional bool rejoin = 3 [default = false];
required uint32 service_type = 4;
extend .bnet.protocol.invitation.Invitation {
- optional .bnet.protocol.channel_invitation.Invitation channel_invitation = 105;
+ optional .bnet.protocol.channel_invitation.ChannelInvitation channel_invitation = 105;
}
}
-message SendInvitationRequest {
+message ChannelInvitationParams {
required .bnet.protocol.EntityId channel_id = 1;
optional bool reserved = 2;
optional bool rejoin = 3;
required uint32 service_type = 4;
- extend .bnet.protocol.invitation.SendInvitationRequest {
- optional .bnet.protocol.channel_invitation.SendInvitationRequest channel_invitation = 105;
+ extend .bnet.protocol.invitation.InvitationParams {
+ optional .bnet.protocol.channel_invitation.ChannelInvitationParams channel_params = 105;
}
}
message InvitationCollection {
View
25 ...ce/channel/definition/channel_owner.proto → definitions/bnet/channel_owner.proto
@@ -1,8 +1,8 @@
package bnet.protocol.channel;
-import "lib/protocol/attribute.proto";
-import "lib/protocol/entity.proto";
-import "lib/rpc/rpc.proto";
-import "service/channel/definition/channel_types.proto";
+import "bnet/attribute.proto";
+import "bnet/entity.proto";
+import "bnet/rpc.proto";
+import "bnet/channel_types.proto";
message GetChannelIdRequest {
}
@@ -11,27 +11,30 @@ message GetChannelIdResponse {
}
message CreateChannelRequest {
optional .bnet.protocol.Identity agent_identity = 1;
- optional .bnet.protocol.channel.ChannelState state = 2;
- optional .bnet.protocol.EntityId channel_id = 3;
- optional uint64 object_id = 4;
+ optional .bnet.protocol.channel.MemberState member_state = 2;
+ optional .bnet.protocol.channel.ChannelState channel_state = 3;
+ optional .bnet.protocol.EntityId channel_id = 4;
+ optional uint64 object_id = 5;
}
message CreateChannelResponse {
required uint64 object_id = 1;
optional .bnet.protocol.EntityId channel_id = 2;
}
message JoinChannelRequest {
optional .bnet.protocol.Identity agent_identity = 1;
- required .bnet.protocol.EntityId channel_id = 2;
- required uint64 object_id = 3;
- repeated .bnet.protocol.EntityId friend_account_id = 4;
+ optional .bnet.protocol.channel.MemberState member_state = 2;
+ required .bnet.protocol.EntityId channel_id = 3;
+ required uint64 object_id = 4;
+ repeated .bnet.protocol.EntityId friend_account_id = 5;
}
message JoinChannelResponse {
optional uint64 object_id = 1;
optional bool require_friend_validation = 2 [default = false];
repeated .bnet.protocol.EntityId privileged_account = 3;
}
message FindChannelRequest {
- required .bnet.protocol.attribute.AttributeFilter filter = 1;
+ optional .bnet.protocol.Identity agent_identity = 1;
+ required .bnet.protocol.channel.FindChannelOptions options = 2;
}
message FindChannelResponse {
repeated .bnet.protocol.channel.ChannelDescription channel = 1;
View
11 .../service/channel/definition/channel.proto → definitions/bnet/channel_service.proto
@@ -1,13 +1,13 @@
package bnet.protocol.channel;
-import "lib/protocol/attribute.proto";
-import "lib/protocol/entity.proto";
-import "lib/rpc/rpc.proto";
-import "service/channel/definition/channel_types.proto";
+import "bnet/attribute.proto";
+import "bnet/entity.proto";
+import "bnet/rpc.proto";
+import "bnet/channel_types.proto";
message AddMemberRequest {
optional .bnet.protocol.EntityId agent_id = 1;
required .bnet.protocol.Identity member_identity = 2;
- required .bnet.protocol.channel.MemberState state = 3;
+ required .bnet.protocol.channel.MemberState member_state = 3;
required uint64 object_id = 4;
}
message RemoveMemberRequest {
@@ -53,6 +53,7 @@ message RemoveNotification {
message LeaveNotification {
optional .bnet.protocol.EntityId agent_id = 1;
required .bnet.protocol.EntityId member_id = 2;
+ optional uint32 reason = 3;
}
message SendMessageNotification {
optional .bnet.protocol.EntityId agent_id = 1;
View
25 ...ce/channel/definition/channel_types.proto → definitions/bnet/channel_types.proto
@@ -1,18 +1,27 @@
package bnet.protocol.channel;
-import "lib/protocol/attribute.proto";
-import "lib/protocol/entity.proto";
-import "lib/protocol/invitation.proto";
+import "bnet/attribute.proto";
+import "bnet/entity.proto";
+import "bnet/invitation_types.proto";
message Message {
repeated .bnet.protocol.attribute.Attribute attribute = 1;
optional uint32 role = 2;
extensions 100 to 10000;
}
+message FindChannelOptions {
+ optional uint32 start_index = 1 [default = 0];
+ optional uint32 max_results = 2 [default = 16];
+ optional string name = 3;
+ optional fixed32 program = 4;
+ optional fixed32 locale = 5;
+ optional uint32 capacity_full = 6;
+ required .bnet.protocol.attribute.AttributeFilter attribute_filter = 7;
+ extensions 100 to 10000;
+}
message ChannelDescription {
required .bnet.protocol.EntityId channel_id = 1;
optional uint32 current_members = 2;
optional .bnet.protocol.channel.ChannelState state = 3;
- extensions 100 to 10000;
}
message ChannelInfo {
required .bnet.protocol.channel.ChannelDescription description = 1;
@@ -33,16 +42,16 @@ message ChannelState {
optional uint32 max_invitations = 5;
optional uint32 reason = 6;
optional .bnet.protocol.channel.ChannelState.PrivacyLevel privacy_level = 7 [default = PRIVACY_LEVEL_OPEN];
- optional bool public = 8;
- optional string name = 9;
- optional string delegate_name = 10;
- optional string channel_type = 11 [default = "default"];
+ optional string name = 8;
+ optional string delegate_name = 9;
+ optional string channel_type = 10 [default = "default"];
extensions 100 to 10000;
}
message MemberState {
repeated .bnet.protocol.attribute.Attribute attribute = 1;
repeated uint32 role = 2;
optional uint64 privileges = 3 [default = 0];
+ optional .bnet.protocol.AccountInfo info = 4;
extensions 100 to 10000;
}
message Member {
View
4 .../service/chat/definition/chat_types.proto → definitions/bnet/chat_types.proto
@@ -1,10 +1,12 @@
package bnet.protocol.chat;
-import "service/channel/definition/channel_types.proto";
+import "bnet/channel_types.proto";
message ChannelState {
optional string identity = 1;
optional fixed32 program = 2;
optional fixed32 locale = 3;
+ optional bool public = 4 [default = false];
+ optional uint32 bucket_index = 5;
extend .bnet.protocol.channel.ChannelState {
optional .bnet.protocol.chat.ChannelState chat = 100;
}
View
10 definitions/lib/rpc/connection.proto → definitions/bnet/connection_service.proto
@@ -1,12 +1,20 @@
package bnet.protocol.connection;
-import "lib/rpc/rpc.proto";
+import "bnet/content_handle.proto";
+import "bnet/rpc.proto";
message ConnectRequest {
optional .bnet.protocol.ProcessId client_id = 1;
+ optional .bnet.protocol.connection.BindRequest bind_request = 2;
+}
+message ConnectionMeteringContentHandles {
+ repeated .bnet.protocol.ContentHandle content_handle = 1;
}
message ConnectResponse {
required .bnet.protocol.ProcessId server_id = 1;
optional .bnet.protocol.ProcessId client_id = 2;
+ optional uint32 bind_result = 3;
+ optional .bnet.protocol.connection.BindResponse bind_response = 4;
+ optional .bnet.protocol.connection.ConnectionMeteringContentHandles content_handle_array = 5;
}
message BoundService {
required fixed32 hash = 1;
View
1 ...nitions/lib/protocol/content_handle.proto → definitions/bnet/content_handle.proto
@@ -4,4 +4,5 @@ message ContentHandle {
required fixed32 region = 1;
required fixed32 usage = 2;
required bytes hash = 3;
+ optional string proto_url = 4;
}
View
6 definitions/lib/protocol/entity.proto → definitions/bnet/entity.proto
@@ -1,4 +1,5 @@
package bnet.protocol;
+import "bnet/field_options.proto";
message EntityId {
required fixed64 high = 1;
@@ -7,5 +8,8 @@ message EntityId {
message Identity {
optional .bnet.protocol.EntityId account_id = 1;
optional .bnet.protocol.EntityId game_account_id = 2;
- optional .bnet.protocol.EntityId toon_id = 3;
+}
+message AccountInfo {
+ optional bool account_paid = 1 [default = false];
+ optional fixed32 country_id = 2 [default = 0];
}
View
11 definitions/lib/protocol/exchange.proto → definitions/bnet/exchange.proto
@@ -1,4 +1,5 @@
package bnet.protocol.exchange;
+import "bnet/field_options.proto";
message PartitionId {
required fixed64 high = 1;
@@ -19,3 +20,13 @@ message BlobFromOfType {
required string type = 2;
required bytes data = 3;
}
+message ActionResultDetail {
+ required uint32 category = 1;
+ optional uint32 result_reason = 2;
+}
+message BillingAddress {
+ required int32 country_id = 1;
+ optional string city = 2;
+ optional string state = 3;
+ optional string postal_code = 4;
+}
View
39 ...b/protocol/exchange_object_provider.proto → ...bnet/exchange_object_provider_types.proto
@@ -1,6 +1,6 @@
package bnet.protocol.exchange_object_provider;
-import "lib/protocol/entity.proto";
-import "lib/protocol/exchange.proto";
+import "bnet/entity.proto";
+import "bnet/exchange.proto";
message ReportAuthorizeRequest {
required .bnet.protocol.exchange.PartitionId partition_id = 1;
@@ -9,37 +9,52 @@ message ReportAuthorizeRequest {
optional .bnet.protocol.exchange.BlobFromOfType auth_handle = 4;
optional bool defer_delivery = 5;
required .bnet.protocol.EntityId bnet_account_id = 6;
+ optional .bnet.protocol.exchange.ActionResultDetail result_detail = 7;
+ optional string avs_result = 8;
+ optional string cvv_result = 9;
+ optional .bnet.protocol.exchange.BlobFrom notification_extra_info = 10;
}
message ReportSettleRequest {
required .bnet.protocol.exchange.PartitionId partition_id = 1;
required .bnet.protocol.exchange.PartitionId token = 2;
required uint64 result = 3;
optional .bnet.protocol.exchange.BlobFrom notification_extra_info = 4;
+ optional .bnet.protocol.exchange.ActionResultDetail result_detail = 5;
}
message ReportCancelRequest {
required .bnet.protocol.exchange.PartitionId partition_id = 1;
required .bnet.protocol.exchange.PartitionId token = 2;
required uint64 result = 3;
optional .bnet.protocol.exchange.BlobFrom notification_extra_info = 4;
+ optional .bnet.protocol.exchange.ActionResultDetail result_detail = 5;
+}
+message ReportRefundRequest {
+ required .bnet.protocol.exchange.PartitionId partition_id = 1;
+ required .bnet.protocol.exchange.PartitionId token = 2;
+ required uint64 result = 3;
+ optional .bnet.protocol.exchange.BlobFrom notification_extra_info = 4;
+ optional .bnet.protocol.exchange.ActionResultDetail result_detail = 5;
}
message GetPaymentMethodsRequest {
optional .bnet.protocol.EntityId bnet_account = 1;
optional .bnet.protocol.EntityId game_account = 2;
- optional .bnet.protocol.EntityId toon = 3;
- required string currency = 4;
- required uint32 cash_in_out_mask = 5;
- optional bool refresh_payment_method_cache = 6 [default = false];
- optional bool refresh_e_balance_cache = 7 [default = false];
+ required string currency = 3;
+ required uint32 cash_in_out_mask = 4;
+ optional bool refresh_payment_method_cache = 5 [default = false];
+ optional bool refresh_e_balance_cache = 6 [default = false];
+ optional bool sms_enable = 7 [default = false];
}
message PaymentMethod {
required .bnet.protocol.exchange.BlobFrom account = 1;
- required string description = 2;
+ optional string description = 2;
optional uint64 amount = 3;
optional uint32 cash_in_out_mask = 4 [default = 3];
- optional uint32 country_id = 5;
- optional string state = 6;
- optional string city = 7;
- optional string postal_code = 8;
+ optional .bnet.protocol.exchange.BillingAddress billing_address = 5;
+ required uint64 wallet_id = 6;
+ optional uint32 cap_restriction = 7;
+ optional uint64 authenticator_cap = 8;
+ optional uint64 soft_cap = 9;
+ optional bool active = 10 [default = true];
}
message GetPaymentMethodsResponse {
repeated .bnet.protocol.exchange_object_provider.PaymentMethod methods = 1;
View
2 definitions/lib/protocol/exchange_risk.proto → definitions/bnet/exchange_risk_types.proto
@@ -1,5 +1,5 @@
package bnet.protocol.exchange_risk;
-import "lib/protocol/exchange.proto";
+import "bnet/exchange.proto";
message ReportAuthorizeRiskVerdictRequest {
required .bnet.protocol.exchange.PartitionId partition_id = 1;
View
135 ...ervice/exchange/definition/exchange.proto → definitions/bnet/exchange_service.proto
@@ -1,10 +1,11 @@
package bnet.protocol.exchange;
-import "lib/rpc/rpc.proto";
-import "lib/protocol/exchange.proto";
-import "lib/protocol/exchange_object_provider.proto";
-import "lib/protocol/exchange_risk.proto";
-import "lib/protocol/entity.proto";
-import "service/exchange/definition/exchange_types.proto";
+import "bnet/rpc.proto";
+import "bnet/exchange.proto";
+import "bnet/exchange_object_provider_types.proto";
+import "bnet/exchange_risk_types.proto";
+import "bnet/entity.proto";
+import "bnet/account_types.proto";
+import "bnet/exchange_types.proto";
message CreateOrderBookRequest {
required .bnet.protocol.exchange.PartitionId partition_id = 1;
@@ -95,38 +96,55 @@ message SubscribeOrderBookStatusChangeRequest {
required .bnet.protocol.exchange.PartitionId max_partition_id = 3;
required fixed32 program = 4;
required int32 status = 5;
- optional string currency = 6;
- optional int32 specialist = 7;
+ required string currency = 6;
+ required int32 specialist = 7;
optional bool bootstrap = 8;
optional uint64 bootstrap_oldest_created_time = 9;
}
message UnsubscribeOrderBookStatusChangeRequest {
}
-message SubscribeOrderStatusChangeRequest {
+message SubscribeOrderUpdateRequest {
required .bnet.protocol.EntityId agent_id = 1;
required uint64 object_id = 2;
}
-message UnsubscribeOrderStatusChangeRequest {
+message UnsubscribeOrderUpdateRequest {
required .bnet.protocol.EntityId agent_id = 1;
required uint64 object_id = 2;
}
+message SubscribeAdvancedOrderUpdateRequest {
+ required uint64 object_id = 1;
+ required .bnet.protocol.exchange.PartitionId min_partition_id = 2;
+ required .bnet.protocol.exchange.PartitionId max_partition_id = 3;
+ repeated .bnet.protocol.exchange.AdvancedSubscription filters = 4;
+}
+message UnsubscribeAdvancedOrderUpdateRequest {
+}
message ClaimRequest {
optional .bnet.protocol.exchange.PartitionId partition_id = 1;
- optional uint32 order_id = 2;
+ optional uint64 order_id = 2;
optional fixed32 program = 3;
optional .bnet.protocol.EntityId bnet_account = 4;
+ optional .bnet.protocol.exchange.BlobFrom information = 5;
}
message CancelRequest {
required .bnet.protocol.exchange.PartitionId partition_id = 1;
- required uint32 order_id = 2;
+ required uint64 order_id = 2;
optional uint32 reason = 3;
optional .bnet.protocol.EntityId bnet_account = 4;
}
+message RefundRequest {
+ required .bnet.protocol.exchange.PartitionId partition_id = 1;
+ required uint64 order_id = 2;
+ required string cs_notes = 3;
+ required uint64 cs_user_id = 4;
+}
message GetConfigurationRequest {
required fixed32 program = 1;
}
message GetConfigurationResponse {
repeated .bnet.protocol.exchange.SpecialistConfig configs = 1;
+ optional .bnet.protocol.account.AccountLicense rmt_restricted_by_license = 2;
+ optional string recommended_default_rmt_currency = 3;
}
message GetOfferFeeEstimationRequest {
required .bnet.protocol.exchange.PartitionId partition_id = 1;
@@ -147,12 +165,21 @@ message OrderBookNotificationRequest {
message OfferNotificationRequest {
required .bnet.protocol.exchange.OfferExtended offer = 1;
required uint32 event = 2;
- optional .bnet.protocol.exchange.BlobFrom extra_info = 3;
+ optional uint32 object_type = 3;
+ optional uint32 claim_result = 4;
+ optional uint32 claim_result_reason = 5;
}
message BidNotificationRequest {
required .bnet.protocol.exchange.BidExtended bid = 1;
required uint32 event = 2;
- optional .bnet.protocol.exchange.BlobFrom extra_info = 3;
+ optional uint32 object_type = 3;
+ optional uint32 claim_result = 4;
+ optional uint32 claim_result_reason = 5;
+}
+message CustomNotificationRequest {
+ required .bnet.protocol.exchange.OrderBookHandle handle = 1;
+ required uint64 order_id = 2;
+ required .bnet.protocol.exchange.BlobFrom info = 3;
}
message QueryOrdersByAccountForItemRequest {
required .bnet.protocol.exchange.BlobFrom account_for_item = 1;
@@ -172,6 +199,65 @@ message GetFeeDetailsResponse {
repeated .bnet.protocol.exchange.FeeDetail fee_details_in = 1;
repeated .bnet.protocol.exchange.FeeDetail fee_details_out = 2;
}
+message GetOrderBookStatisticsRequest {
+ required .bnet.protocol.exchange.PartitionId partition_id = 1;
+ required uint32 order_type = 2;
+ required uint64 quantity = 3;
+ required uint32 last_trades = 4;
+ required uint32 last_days = 5;
+}
+message GetOrderBookStatisticsResponse {
+ repeated .bnet.protocol.exchange.PriceDetail price_details = 1;
+ required uint64 last_trades_average = 2;
+ required uint64 last_days_average = 3;
+}
+message GetBidDetailsRequest {
+ required uint64 order_id = 1;
+ required .bnet.protocol.exchange.PartitionId partition_id = 2;
+}
+message GetBidDetailsResponse {
+ required .bnet.protocol.exchange.OrderExtended bid = 1;
+}
+message GetOfferDetailsRequest {
+ required uint64 order_id = 1;
+ required .bnet.protocol.exchange.PartitionId partition_id = 2;
+}
+message GetOfferDetailsResponse {
+ required .bnet.protocol.exchange.OrderExtended offer = 1;
+}
+message GetSystemTimeResponse {
+ required uint64 time = 1;
+}
+message CreateCSTradeRequest {
+ optional .bnet.protocol.exchange.PartitionId partition_id = 1;
+ required .bnet.protocol.exchange.OrderBook order_book = 2;
+ required uint32 amount = 3;
+ required .bnet.protocol.EntityId bnet_account = 4;
+ optional .bnet.protocol.EntityId game_account = 5;
+ required .bnet.protocol.exchange.BlobFrom account_for_item = 6;
+ required string cs_notes = 7;
+ required uint64 cs_user_id = 8;
+}
+message GetOrderCountRequest {
+ optional string currency = 1;
+ optional fixed32 source = 2;
+ optional .bnet.protocol.EntityId bnet_account = 3;
+ optional bool not_closed_offer_count = 4 [default = false];
+ optional bool order_with_claimable_count = 5 [default = false];
+}
+message GetOrderCountResponse {
+ optional .bnet.protocol.exchange.Count not_closed_offer_count = 1;
+ optional .bnet.protocol.exchange.Count order_with_claimable_count = 2;
+}
+message HistoriesForCSRequest {
+ required .bnet.protocol.EntityId bnet_account = 1;
+ required fixed32 program = 2;
+ required uint64 lower_time = 3;
+ required uint64 higher_time = 4;
+}
+message HistoriesForCSResponse {
+ repeated .bnet.protocol.exchange.HistoryData history_data = 1;
+}
service ExchangeService {
rpc CreateOrderBook (.bnet.protocol.exchange.CreateOrderBookRequest) returns (.bnet.protocol.exchange.CreateOrderBookResponse);
rpc PlaceOfferOnOrderBook (.bnet.protocol.exchange.PlaceOfferOnOrderBookRequest) returns (.bnet.protocol.exchange.PlaceOfferOnOrderBookResponse);
@@ -188,8 +274,8 @@ service ExchangeService {
rpc ReportCancel (.bnet.protocol.exchange_object_provider.ReportCancelRequest) returns (.bnet.protocol.NoData);
rpc SubscribeOrderBookStatusChange (.bnet.protocol.exchange.SubscribeOrderBookStatusChangeRequest) returns (.bnet.protocol.NoData);
rpc UnsubscribeOrderBookStatusChange (.bnet.protocol.exchange.UnsubscribeOrderBookStatusChangeRequest) returns (.bnet.protocol.NoData);
- rpc SubscribeOrderStatusChange (.bnet.protocol.exchange.SubscribeOrderStatusChangeRequest) returns (.bnet.protocol.NoData);
- rpc UnsubscribeOrderStatusChange (.bnet.protocol.exchange.UnsubscribeOrderStatusChangeRequest) returns (.bnet.protocol.NoData);
+ rpc SubscribeOrderUpdate (.bnet.protocol.exchange.SubscribeOrderUpdateRequest) returns (.bnet.protocol.NoData);
+ rpc UnsubscribeOrderUpdate (.bnet.protocol.exchange.UnsubscribeOrderUpdateRequest) returns (.bnet.protocol.NoData);
rpc GetPaymentMethods (.bnet.protocol.exchange_object_provider.GetPaymentMethodsRequest) returns (.bnet.protocol.exchange_object_provider.GetPaymentMethodsResponse);
rpc ClaimBidItem (.bnet.protocol.exchange.ClaimRequest) returns (.bnet.protocol.NoData);
rpc ClaimBidMoney (.bnet.protocol.exchange.ClaimRequest) returns (.bnet.protocol.NoData);
@@ -205,9 +291,22 @@ service ExchangeService {
rpc ReportSettleRiskVerdict (.bnet.protocol.exchange_risk.ReportSettleRiskVerdictRequest) returns (.bnet.protocol.NoData);
rpc DelaySettleRiskVerdict (.bnet.protocol.exchange_risk.DelaySettleRiskVerdictRequest) returns (.bnet.protocol.NoData);
rpc GetFeeDetails (.bnet.protocol.exchange.GetFeeDetailsRequest) returns (.bnet.protocol.exchange.GetFeeDetailsResponse);
+ rpc GetOrderBookStatistics (.bnet.protocol.exchange.GetOrderBookStatisticsRequest) returns (.bnet.protocol.exchange.GetOrderBookStatisticsResponse);
+ rpc GetBidDetails (.bnet.protocol.exchange.GetBidDetailsRequest) returns (.bnet.protocol.exchange.GetBidDetailsResponse);
+ rpc GetOfferDetails (.bnet.protocol.exchange.GetOfferDetailsRequest) returns (.bnet.protocol.exchange.GetOfferDetailsResponse);
+ rpc GetSystemTime (.bnet.protocol.NoData) returns (.bnet.protocol.exchange.GetSystemTimeResponse);
+ rpc CreateCSTrade (.bnet.protocol.exchange.CreateCSTradeRequest) returns (.bnet.protocol.NoData);
+ rpc RefundBid (.bnet.protocol.exchange.RefundRequest) returns (.bnet.protocol.NoData);
+ rpc ReportRefund (.bnet.protocol.exchange_object_provider.ReportRefundRequest) returns (.bnet.protocol.NoData);
+ rpc GetOrderCount (.bnet.protocol.exchange.GetOrderCountRequest) returns (.bnet.protocol.exchange.GetOrderCountResponse);
+ rpc SubscribeAdvancedOrderUpdate (.bnet.protocol.exchange.SubscribeAdvancedOrderUpdateRequest) returns (.bnet.protocol.NoData);
+ rpc UnsubscribeAdvancedOrderUpdate (.bnet.protocol.exchange.UnsubscribeAdvancedOrderUpdateRequest) returns (.bnet.protocol.NoData);
+ rpc SettleHistoriesForCS (.bnet.protocol.exchange.HistoriesForCSRequest) returns (.bnet.protocol.exchange.HistoriesForCSResponse);
+ rpc CancelHistoriesForCS (.bnet.protocol.exchange.HistoriesForCSRequest) returns (.bnet.protocol.exchange.HistoriesForCSResponse);
}
service ExchangeNotify {
rpc NotifyOrderBookStatusChange (.bnet.protocol.exchange.OrderBookNotificationRequest) returns (.bnet.protocol.NO_RESPONSE);
- rpc NotifyOfferStatusChange (.bnet.protocol.exchange.OfferNotificationRequest) returns (.bnet.protocol.NO_RESPONSE);
- rpc NotifyBidStatusChange (.bnet.protocol.exchange.BidNotificationRequest) returns (.bnet.protocol.NO_RESPONSE);
+ rpc NotifyOfferUpdate (.bnet.protocol.exchange.OfferNotificationRequest) returns (.bnet.protocol.NO_RESPONSE);
+ rpc NotifyBidUpdate (.bnet.protocol.exchange.BidNotificationRequest) returns (.bnet.protocol.NO_RESPONSE);
+ rpc NotifyCustomMessage (.bnet.protocol.exchange.CustomNotificationRequest) returns (.bnet.protocol.NO_RESPONSE);
}
View
105 .../exchange/definition/exchange_types.proto → definitions/bnet/exchange_types.proto
@@ -1,6 +1,6 @@
package bnet.protocol.exchange;
-import "lib/protocol/entity.proto";
-import "lib/protocol/exchange.proto";
+import "bnet/entity.proto";
+import "bnet/exchange.proto";
message OrderBook {
required .bnet.protocol.exchange.BlobOfType object = 1;
@@ -49,7 +49,7 @@ message Order {
optional .bnet.protocol.exchange.BlobFrom account_for_item = 5;
optional .bnet.protocol.EntityId bnet_account = 6;
optional .bnet.protocol.EntityId game_account = 7;
- optional .bnet.protocol.EntityId toon = 8;
+ optional .bnet.protocol.exchange.PartitionId session_id = 8;
}
message Extension {
required .bnet.protocol.exchange.PartitionId partition_id = 1;
@@ -66,6 +66,12 @@ message Extension {
optional uint64 money_to_claim = 12;
optional uint64 items_to_claim = 13;
optional bool risk_delayed = 14 [default = false];
+ optional uint32 fail_order_action = 15;
+ optional uint32 fail_object_type = 16;
+ optional uint32 fail_error_code = 17;
+ optional uint32 fail_extra_error_code = 18;
+ optional uint64 refunded = 19;
+ optional uint64 filled_fund_amount = 20;
}
message Offer {
required .bnet.protocol.exchange.Order order = 1;
@@ -95,12 +101,15 @@ message BidExtended {
optional uint64 offer_out_bid_price = 3;
optional uint64 offer_trade_now_price = 4;
optional uint64 offer_current_winning_price = 5;
+ optional uint64 bid_current_unit_price = 6;
+ optional uint64 bid_max_unit_price = 7;
}
message BidCreation {
required .bnet.protocol.exchange.Bid bid = 1;
optional uint64 auction_duration = 2;
optional uint64 auction_start_delay = 3;
optional .bnet.protocol.exchange.BillingAddress billing_address = 4;
+ optional bool fill_or_kill = 5 [default = false];
}
message OrderExtended {
required uint32 order_type = 1;
@@ -121,38 +130,32 @@ message QueryOrderFilter {
optional uint32 specialist = 2;
optional uint32 order_type = 3;
optional uint32 claimable = 4 [default = 0];
- required int32 order_status = 5;
- required .bnet.protocol.exchange.QueryFilterByCreatedTime time_filter = 6;
-}
-message Settlement {
- required uint64 order_book_id = 1;
- required uint64 money_amount = 2;
- required uint64 items_amount = 3;
- required uint64 offer_settle_id = 4;
+ optional uint32 order_status_mask = 5;
+ optional bool rollup = 6 [default = false];
+ required .bnet.protocol.exchange.QueryFilterByCreatedTime time_filter = 7;
+ optional uint32 order_book_status = 8;
}
message CurrencyConfig {
required string currency = 1;
- required uint64 tick_size = 2;
- required uint64 flat_outbid_incr = 3;
- required uint64 scale_outbid_incr = 4;
- required uint64 min_starting_unit_price = 5;
- optional uint64 max_starting_unit_price = 6;
- required uint64 max_unit_price = 7;
- required uint64 max_total_amount = 8;
- required int32 buyout_rule = 9;
+ optional uint64 tick_size = 2;
+ optional uint64 min_unit_price = 3;
+ optional uint64 max_unit_price = 4;
+ optional uint64 min_total_price = 5;
+ optional uint64 max_total_price = 6;
}
message SpecialistConfig {
required int32 specialist = 1;
repeated uint64 auction_durations = 2;
repeated uint64 auction_start_delays = 3;
- required uint64 anti_sniping_extension_delay = 4;
- repeated .bnet.protocol.exchange.CurrencyConfig currency_config = 5;
-}
-message BillingAddress {
- required int32 country_id = 1;
- required string city = 2;
- optional string state = 3;
- optional string postal_code = 4;