logic.proto 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870
  1. syntax = "proto3";
  2. package serverproto;
  3. option go_package = "./;serverproto";
  4. import "common.proto";
  5. import "user.proto";
  6. //////////////////////////webgm
  7. message WebRoleInfo {
  8. RoleBase base = 1;
  9. RoleHero role_hero = 2; //玩家伙伴信息
  10. }
  11. message WebUpdateMailItem {
  12. int32 id = 1;
  13. repeated uint64 uid_list = 2;
  14. string title = 3;
  15. string content = 4;
  16. repeated KeyValueType reward_list = 5;
  17. uint64 send_date = 6;
  18. int32 mail_type = 7;
  19. }
  20. message SSWebGMChatMsgNtf { //project db|social|gmweb
  21. uint64 uid = 1;
  22. uint64 target_uid = 2;
  23. ChatMessageInfo content = 3;
  24. int32 msg_type = 4;
  25. string chat_self_name = 5; //聊天玩家的昵称
  26. int32 select_zone_id = 6; //玩家选择登录的服务器id
  27. }
  28. message SSWebGMAddMailNtf { //project social|game|db
  29. WebUpdateMailItem mail_info = 1;
  30. }
  31. message SSWebGMBanNtf { //project social|game
  32. uint64 ban_uid = 1;
  33. bool is_ban = 2;
  34. uint64 ban_time = 3; //封号间隔时间
  35. int32 ban_type = 4; //1封号,2禁言
  36. }
  37. message SSWebGMNoticeNtf { //project social|game
  38. GMNoticeInfo notice_info = 1;
  39. uint64 notice_time = 2;
  40. }
  41. //服务器维护状态
  42. message SSWEBGMServerMaintainNtf { //project social|game
  43. int32 state = 1;
  44. }
  45. //GM封停公会战
  46. message SSWebGMGuildBattle { //project social|guild
  47. }
  48. //删除背包内道具(可以根据道具类型做处理)
  49. message SSWebGMDelItemNtf { //project social|game
  50. uint64 uid = 1;
  51. repeated KeyValueType del_item_list = 2;
  52. }
  53. //////////////////////////webgm
  54. //通知social服务器玩家上线
  55. message SSPlayerOnlineNtf{ //project social
  56. string service_node = 1; //当前所在的服务器节点
  57. PlayerBriefInfo brief_info = 2; //简介信息
  58. }
  59. message SSPlayerOfflineNtf{ //project social|battleboss
  60. uint64 uid = 1;//玩家唯一ID
  61. }
  62. //social通知game当前在线的玩家数量
  63. message SSPlayerOnlineNumNtf { //project game
  64. int32 online_num = 1;
  65. }
  66. //消息发送不成功,存到玩家的离线库中
  67. message SSChatMessageAck{ //project game
  68. int32 error = 1; //错误码
  69. uint64 target_id = 2; //目标玩家
  70. ChatMessageInfo message = 3;//消息内容
  71. int32 type = 4;
  72. }
  73. message SSChatMessageNtf{ //project game
  74. int32 type = 1;//消息类型1私人聊天,2世界频道聊天
  75. ChatMessageInfo message = 2;//消息内容
  76. uint64 target_id = 3;//私人聊天,好友聊天时发送的目标玩家
  77. ChatPlayerBriefInfo from_id = 4;//私人聊天,好友聊天时发送的目标玩家
  78. }
  79. message SSGuildChatMessageNtf{ //project guild|social
  80. int32 type = 1;//消息类型1私人聊天,2世界频道聊天
  81. ChatMessageInfo message = 2;//消息内容
  82. ChatPlayerBriefInfo from_id = 3;//私人聊天,好友聊天时发送的目标玩家
  83. repeated uint64 uid_list = 4;//需要推送的UID列表
  84. uint64 guild_id = 5;//公会ID
  85. }
  86. message SSGuildNoticeMessageNtf{ //project social
  87. repeated SystemMessage sys_msg = 1;//
  88. uint64 guild_id = 2;//公会ID
  89. repeated uint64 uid_list = 3;//需要推送的UID列表
  90. }
  91. message SSGuildNoticeToRoleNtf{ //project game
  92. repeated SystemMessage sys_msg = 1;//
  93. uint64 guild_id = 2;//公会ID
  94. uint64 uid = 3;//通知的玩家
  95. }
  96. //选择合适的AOI服务器节点
  97. message SSPlayerEnterMapReq{ //project aoi
  98. int32 map_type = 1; //进入地图类型
  99. uint64 client_id = 2; //客户端对的sessionid
  100. string service_node = 3; //当前player所在的gate节点
  101. PlayerShowInfo show_info = 4; //玩家地图显示显示信息
  102. uint64 guild_id = 5; //公会ID
  103. Position pos = 6; //
  104. }
  105. //角色离开地图通知
  106. message SSPlayerLeaveMapNtf{ //project aoi
  107. uint64 uid = 1;
  108. }
  109. //断线重连后重新绑定,gate节点信息
  110. message SSPlayerAoiReconnect{ //project aoi
  111. }
  112. //离线后获取最终位置
  113. message SSPlayerLeaveMapReqAck{ //project game
  114. }
  115. //创建流程中名字判断
  116. message SSNameReq { //project db
  117. string name = 1;
  118. int32 zone = 2;//区服[zone]
  119. int32 type = 3;//取名类型 0:创号,1:改名
  120. string old_name = 4;//旧名字
  121. }
  122. message SSNameNtf { //project game
  123. int32 error = 1; //错误码
  124. string name = 2;
  125. int32 type = 3;//取名类型 0:创号,1:改名
  126. }
  127. //玩家显示变更通知
  128. message SSPlayerShowChangeReq{ //project aoi
  129. PlayerShowInfo show_info = 1;
  130. }
  131. //进入boss场景
  132. message SSPlayerEnterChallengeNtf { //project game
  133. uint64 enter_uid = 1;
  134. repeated uint64 notify_list = 2; //通知列表
  135. repeated FightRoleInfo fight_list = 3; //其他玩家列表
  136. uint64 boss_uid = 4;
  137. int32 self_change_play_id = 5;
  138. int32 summon_boss_type = 6;
  139. }
  140. //离开boss场景
  141. message SSPlayerLeaveChallengeNtf { //project game
  142. uint64 leave_uid = 1; //离开的挑战玩家uid
  143. repeated uint64 notify_list = 2; //通知列表
  144. }
  145. //bossHP通知
  146. message SSPlayerChallengeHpNtf { //project game
  147. int32 cur_boss_hp = 1; //当前boss血量
  148. repeated uint64 notify_list = 2; //通知列表
  149. }
  150. //挑战结果通知
  151. message SSPlayerChallengeResultNtf { //project game
  152. int32 result = 1;
  153. repeated uint64 notify_list = 2; //通知列表
  154. }
  155. //////////////////////////mail
  156. //(4/5)和8选其一,根据邮件类型
  157. message SSAddMailNtf { //project social|game|db
  158. int32 mail_config_id = 1; //邮件描述id 当类型是gm时,这边的是全局ID需要做特殊处理
  159. int32 mail_type = 2; //邮件类型(来源)
  160. repeated KeyValueType reward_list = 3; //奖励列表
  161. repeated uint64 notify_list = 4; //奖励的玩家列表
  162. repeated int32 mail_param_list = 5; //邮件显示的参数列表,例如关卡id,名次等
  163. string title = 6;
  164. string content = 7;
  165. }
  166. //////////////////////////rank
  167. //////////////////////////competition
  168. //获取对应赛季信息
  169. //上线时加入选拔季排行列表
  170. message SSGetCompetitionDataReq { //project rank
  171. int32 competition_id = 1; //
  172. int32 competition_type = 2; //表示当前赛季类型
  173. bool is_now_competition = 3; //是否是当前正在进行的赛季
  174. int32 sub_id_num = 4; //结算周期次数
  175. }
  176. message SSGetCompetitionDataAck { //project game
  177. int32 error = 1;
  178. CompetitionInfo competition_data = 2; //对应赛季信息
  179. IdolSeasonData idol_data = 3; //偶像季数据
  180. }
  181. //赛季结算奖励
  182. message SSCompetitionRewardReq { //project rank
  183. int32 competition_id = 1; //
  184. int32 competition_type = 2; //赛季类型
  185. int32 competition_sub_id = 3; //周期结算子序号
  186. bool end_sub_id = 4; //是否是最后一个结算子周期
  187. repeated KeyValueType64 reward_uid_list = 5; //在线玩家处理
  188. }
  189. message SSCompetitionRewardAck { //project game
  190. int32 competition_id = 1; //
  191. int32 competition_sub_id = 2; //周期结算子序号
  192. repeated KeyValueType64 reward_uid_list = 3; //玩家对应奖励
  193. int32 total_rank_count = 4; //赛季结束时总排名玩家
  194. }
  195. //上线时一次性获取历史赛季奖励
  196. message SSCompetitionRewardHistoryReq { //project rank
  197. int32 s_competition_id = 1;//起始历史赛季ID
  198. int32 e_competition_id = 2;
  199. int32 s_competition_sub_id = 3;
  200. int32 e_competition_sub_id = 4;
  201. }
  202. message SSCompetitionRewardHistoryAck { //project game
  203. repeated KeyValueTypeList reward_uid_list = 1; //玩家对应奖励 val:赛季id val2:对应周期 val3:宝箱档位奖励
  204. int32 e_competition_id = 2;
  205. int32 e_competition_sub_id = 3;
  206. }
  207. //更新积分赛季排名
  208. message SSCompetitionUpdateScoreReq { //project rank
  209. uint64 uid = 1;
  210. int32 competition_id = 2;
  211. int32 score = 3;
  212. //一下偶像季专用
  213. uint64 fans_uid = 4;
  214. int32 cur_vote_score = 5;
  215. }
  216. message SSCompetitionUpdateScoreAck { //project game
  217. int32 competition_id = 1;
  218. int32 next_com_score = 2; //下一档最小积分(玩家积分)
  219. int32 self_rank = 3; //当前排名
  220. int32 total_rank = 4; //总人数
  221. int32 section_id = 5; //预计获得宝箱奖励
  222. int32 last_com_score = 6; //低一档最大积分(玩家积分)
  223. }
  224. message SSCompetitionOnVoteNtf { //project game
  225. int32 error = 1; //错误码
  226. uint64 uid = 2; //投票目标
  227. int32 total_count = 3; //uid总票数
  228. //前三名的票数
  229. repeated FansRankData vote_list = 4; //前三名数据
  230. repeated PlayerShowData detail = 5; //详细信息
  231. FansRankData vote_target = 6; //投票目标
  232. int32 ticket_count = 7; //本次投票数量
  233. repeated KeyValueType64 reward_data = 8; //key uid, value 分数 value2表示领奖数据(value2按位取值)
  234. }
  235. //获取我的粉丝列表
  236. message SSCompetitionSelfFansInfoReq { //project rank
  237. uint64 uid = 1; //玩家UID
  238. int32 competition_id = 2; //赛季ID
  239. }
  240. message SSCompetitionSelfFansInfoAck { //project game
  241. int32 error = 1; //错误码
  242. uint64 uid = 2; //玩家UID
  243. repeated FansVoteData fan_list = 3; //粉丝投我的数据(Key 粉丝ID, value 票数)(策划只需要,固定前十名)
  244. }
  245. //获取偶像排行版
  246. message SSCompetitionVoteRankReq { //project rank
  247. uint64 uid = 1; //玩家UID
  248. int32 page = 2; //页签
  249. int32 competition_id = 3; //赛季ID
  250. }
  251. message SSCompetitionVoteRankAck { //project game
  252. int32 error = 1;
  253. uint64 uid = 2; //玩家UID
  254. int32 page = 3; //页签
  255. repeated FansRankData rank_data = 4; //偶像排行版
  256. bool is_end = 5; //是否结束
  257. }
  258. //点亮宝箱排行榜
  259. message SSCompetitionFansRewardRankReq { //project rank
  260. uint64 uid = 1; //玩家UID
  261. int32 page = 2;
  262. int32 competition_id = 4; //赛季ID
  263. }
  264. message SSCompetitionFansRewardRankAck { //project game
  265. int32 error = 1;
  266. uint64 uid = 2; //玩家UID
  267. int32 page = 3;
  268. repeated FansBoxData data_list = 4; //个人宝箱点亮排名
  269. bool is_end = 5; //是否结束
  270. }
  271. //粉丝领取点亮宝箱奖励
  272. message SSCompetitionFansGetRewardReq { //project rank
  273. uint64 uid = 1; //玩家UID
  274. uint64 idol_uid = 2; //对应的爱豆UID
  275. int32 reward_level = 3; //奖励等级
  276. int32 competition_id = 4; //赛季ID
  277. }
  278. message SSCompetitionFansGetRewardAck { //project game
  279. int32 error = 1;
  280. uint64 uid = 2; //玩家UID
  281. uint64 idol_uid = 3; //对应的爱豆UID
  282. int32 reward_level = 4; //奖励等级
  283. int32 idol_box_count = 5; //爱豆的箱子数量
  284. }
  285. //购买完宝箱,通知rank增加宝箱积分
  286. message SSCompetitionAddIdolBoxScoreNtf { //project rank
  287. uint64 uid = 1; //uid
  288. int32 score = 2; //宝箱积分
  289. int32 competition_id = 3; //赛季ID
  290. }
  291. message SSCompetitionFansGetAllRewardReq { //project rank
  292. int32 competition_id = 1;
  293. int32 competition_sub_id = 2;
  294. int32 competition_type = 3;
  295. repeated FansVoteRewardData data = 4;
  296. bool is_finish = 5;
  297. }
  298. message SSCompetitionFansGetAllRewardAck { //project game
  299. int32 competition_id = 1; //
  300. int32 competition_sub_id = 2; //周期结算子序号
  301. repeated FansVoteRewardData data = 3;
  302. }
  303. message SSCompetitionGetPlayerVoteRankReq { //project rank
  304. uint64 uid = 1; //领取ID
  305. uint64 req_uid = 2; //请求的玩家UID
  306. int32 competition_id = 3; //赛季ID
  307. }
  308. message SSCompetitionGetPlayerVoteRankAck { //project game
  309. int32 error = 1; //错误码
  310. FansRankData idol_rank_data = 2; //排行榜
  311. uint64 req_uid = 3; //请求的玩家UID
  312. }
  313. //////////////////////////social
  314. //friend
  315. message SSFriendAddReq { //project social|game
  316. CommonPlayerBriefInfo from_uid = 1; //发起关注的玩家
  317. uint64 add_uid = 2; //被关注的玩家
  318. }
  319. message SSFriendAddAck { //project game|social
  320. int32 error = 1;
  321. uint64 from_uid = 2; //发起关注的玩家
  322. CommonPlayerBriefInfo add_uid = 3; //被关注的玩家
  323. }
  324. //通过social发送给其他game服务器后,如果为找到del角色信息,会发送给db做处理
  325. message SSFriendDelReq { //project social|game
  326. uint64 from_uid = 1;
  327. uint64 del_uid = 2;
  328. }
  329. message SSFriendDelAck { //project game
  330. int32 error = 1;
  331. uint64 from_uid = 2;
  332. uint64 del_uid = 3;
  333. }
  334. message SSFriendBlackNtf { //project social|game
  335. uint64 from_uid = 1;
  336. uint64 black_uid = 2;
  337. }
  338. //查询在线状态
  339. message SSOnlineStateReq { //project social
  340. int32 pro_type = 1; //操作类型 1表示搜索操作 2表示好友系统获取简介信息
  341. int32 list_type = 2; //显示的列表类型
  342. repeated CommonPlayerBriefInfo brief_info_list = 3; //玩家简介信息
  343. }
  344. message SSOnlineStateAck { //project game
  345. int32 pro_type = 1; //操作类型
  346. int32 list_type = 2; //显示的列表类型
  347. repeated CommonPlayerBriefInfo brief_info_list = 3; //玩家简介信息
  348. }
  349. //////////////////////////////guild
  350. //公会相关消息
  351. message SSGuildOnAddActivityNtf { //project guild
  352. uint64 uid = 1;
  353. uint64 guild_id = 2;
  354. int32 activity = 3; //活跃度
  355. }
  356. message SSGuildBossRefreshNtf { //project game
  357. uint64 uid = 1; //uid
  358. repeated GuildBossTickTime ref_time = 2;
  359. }
  360. //同步公会成员在线状态
  361. message SSGuildOnlineStateReq { //project social
  362. uint64 guild_id = 1; //公会ID
  363. uint64 uid = 2; //玩家ID
  364. }
  365. message SSGuildOnlineStateAck { //project guild
  366. uint64 guild_id = 1; //公会ID
  367. uint64 uid = 2; //玩家ID
  368. uint64 offline = 3; //下线时间
  369. }
  370. //获取新加入公会成员的在线状态
  371. message SSGuildMemberOnlineInfoReq{ //project social
  372. uint64 guild_id = 1;
  373. repeated uint64 uid_list = 2;
  374. }
  375. message SSGuildMemberOnlineInfoAck{ //project guild
  376. uint64 guild_id = 1; //公会ID
  377. repeated KeyValueType64 uid_list = 2; //公会成员在线状态
  378. }
  379. //公会改名通知
  380. message SSGuildNameChangeNtf{ //project social
  381. uint64 guild_id = 1; //公会ID
  382. repeated uint64 uid_list = 2; //公会成员在线状态
  383. string guild_name = 3; //公会名字
  384. }
  385. //玩家上线请求公会信息
  386. message SSOnlineGuildInfoReq{ //project guild
  387. uint64 uid = 1; //uid//服务器填写
  388. uint64 guild_id = 2; //公会ID//服务器填写
  389. bool is_relogin = 3; //是否重新登录
  390. uint64 demon_fight_time = 4;
  391. }
  392. message SSOnlineGuildInfoAck{ //project game
  393. GuildNotifyData data = 1; //公会简介
  394. int64 next_join = 2; //下次加入公会时间
  395. repeated uint32 boss = 3; //当前可挑战boss
  396. repeated MessageContentInfo msgRec = 4; // 公会聊天
  397. SystemMessage GuildSys = 5; // boss狩猎通知
  398. bool in_guild_battle = 6; //true公会战入口开启,false公会战入口关闭
  399. }
  400. //公会战挑战占位
  401. message SSGuildBattleChallengeReq { //project guild
  402. int32 guild_battle_idx = 1;
  403. int32 pos_idx = 2;
  404. CommonPlayerBriefInfo bf_info = 3; //服务器使用
  405. uint64 self_guild_id = 4; //服务器使用
  406. uint64 cur_rmb = 5; //当前服务器玩家拥有的金币
  407. int32 buy_challenge_num = 6; //购买的战斗次数
  408. }
  409. message SSGuildBattleChallengeAck { //project game
  410. int32 error = 1; //错误码
  411. int32 guild_battle_idx = 2;
  412. int32 pos_idx = 3;
  413. FightRoleInfo fight_info = 4; //对方玩家信息
  414. GuildPosIdxData challenge_pos_data = 5;
  415. uint64 cost_rmb = 6; //需要花费rmb数量
  416. repeated KeyValueType fight_buff_list = 7; //buff列表
  417. repeated KeyValueType self_buff_list = 8; //自己的buff列表
  418. GuildBattleSelfData self_data = 9; //个人信息
  419. bool use_buy_num = 10; //使用购买次数
  420. }
  421. //贡献点请求
  422. message SSGuildBattleCPRankReq { //project guild
  423. uint64 uid = 1; //玩家的UID
  424. uint64 guild_id = 2; //公会ID
  425. }
  426. message SSGuildBattleCPRankAck { //project game
  427. repeated GuildBattleCP cp_list = 1; //贡献点列表
  428. int32 self_guild_rank = 2; //自己公会贡献点名次
  429. int32 self_guild_cp = 3; //自己公会贡献点
  430. uint64 uid = 10; //玩家的UID
  431. }
  432. //对阵表请求
  433. message SSGuildBattleCountPartReq { //project guild
  434. uint64 uid = 1; //玩家的UID
  435. }
  436. message SSGuildBattleCountPartAck { //project game
  437. int32 error = 1; //错误码
  438. uint64 champion = 2; //冠军
  439. int32 cur_stge = 3; //当前阶段
  440. uint64 tournament_prepare = 4; //8-4准备时间
  441. uint64 tournament_begin = 5; //8-4开始
  442. uint64 tournament_end = 6; //8-4结束
  443. uint64 semifinals_prepare = 7; //4-2准备时间
  444. uint64 semifinals_begin = 8; //4-2开始
  445. uint64 semifinals_end = 9; //4-2结束
  446. uint64 finals_prepare = 10; //2-1准备时间
  447. uint64 finals_begin = 11; //2-1开始
  448. uint64 finals_end = 12; //2-1结束
  449. GuildCountPartTable table = 13; //对阵表
  450. }
  451. //MVP信息请求
  452. message SSGuildBattleMvpInfoReq { //project guild
  453. uint64 uid = 1; //玩家的UID
  454. int32 guild_battle_idx = 2; //公会战索引(1 / 2,3 / 4,5,6,7)
  455. }
  456. message SSGuildBattleMvpInfoAck { //project game
  457. int32 error = 1;
  458. int32 guild_battle_idx = 2; //公会战索引(1 / 2,3 / 4,5,6,7)
  459. repeated GuildBattleDetail detail = 3; //公会战 公会的详细信息
  460. CountTableData count_part = 4; //对阵信息
  461. uint64 uid = 5; //玩家的UID
  462. }
  463. //Mvp详情请求
  464. message SSGuildBattleMvpDetailReq { //project guild
  465. uint64 uid = 1; //玩家的UID
  466. int32 mvp_type = 2; //mvp类型(1:积分 2:击杀)
  467. int32 req_rank = 3; //请求的起始排名
  468. int32 guild_battle_idx = 4; //公会战索引(1 / 2,3 / 4,5,6,7)
  469. }
  470. message SSGuildBattleMvpDetailAck { //project game
  471. uint64 uid = 1; //玩家的UID
  472. int32 mvp_type = 2; //mvp类型(1:积分 2:击杀)
  473. repeated GuildBattleMvp mvp = 3; //mvp列表(目前就2个)
  474. int32 req_rank = 4; //请求的起始排名
  475. int32 guild_battle_idx = 5; //公会战索引(1 / 2,3 / 4,5,6,7)
  476. }
  477. message SSGuildBattleStageChangeNtf { //project game
  478. bool in_guild_battle = 1; //true公会战入口开启,false公会战入口关闭
  479. }
  480. message SSGuildBattleRewardNtf{ //project game
  481. int32 reward_type = 1; //奖励类型
  482. repeated uint64 uid_list = 2; //成员列表
  483. uint64 guild_pre = 3; //会长
  484. int32 guild_round = 4; //公会战轮次
  485. }
  486. message SSGuildBattleOnlineGetRewardReq { //project guild
  487. uint64 uid = 1; //玩家ID
  488. int32 cur_reward_id = 2; //当前公会排名领奖ID
  489. int32 mvp_reward_id = 3; //公会战MVP排名领奖ID
  490. }
  491. message GuildBattleReward {
  492. bool is_pre = 1;
  493. int32 reward_type = 2; //奖励类型 (1:冠军,2:亚军 3:3-4名,4:4-8名)
  494. }
  495. message SSGuildBattleOnlineGetRewardAck { //project game
  496. repeated GuildBattleReward round_reward = 1; //轮次奖励
  497. int32 cur_battle_round = 2; //(领奖到此为止)
  498. repeated MvpRewardInfo score_mvp = 3; //积分MVP
  499. repeated MvpRewardInfo killer_mvp = 4; //击杀MVP
  500. int32 cur_mvp_round =5; //mvp奖励
  501. }
  502. message SSGuildBattleCPChangeNtf { //project game
  503. }
  504. //公会战GM
  505. //
  506. message SSGuildBattleGMAddGuildCPReq { //project guild
  507. uint64 guild_id = 1;
  508. uint32 add_score = 2;
  509. uint64 uid = 3;
  510. }
  511. //添加战斗积分
  512. message SSGuildBattleGMAddGuildScoreReq { //project guild
  513. int32 battle_index = 1;
  514. int32 guild_index = 2;
  515. int32 add_score = 3;
  516. }
  517. //GM会长转让
  518. message SSGuildBattleGMChangeLeaderReq { //project guild
  519. uint64 guild_id = 1;
  520. }
  521. //GM会长转让
  522. message SSGuildBattleGMKickMemberReq { //project guild
  523. uint64 guild_id = 1;
  524. uint64 uid = 2;
  525. }
  526. //GM设置公会魔王伤害
  527. message SSGuildBattleGMDemonDamageReq { //project guild
  528. }
  529. //取消公会战公会操作拦截
  530. message SSGuildBattleGMOperatorReq { //project guild
  531. int32 operator = 1; //0:正常, 1:取消拦截
  532. }
  533. message MvpRewardInfo {
  534. uint64 uid = 1; //
  535. int32 reward_type = 2; //战斗轮次奖励类型
  536. int32 battle_index = 3; //战斗场次
  537. }
  538. //公会战MVP奖励
  539. message SSGuildBattleSendMvpRewardReq { //project game
  540. int32 guild_battle_round = 1;
  541. repeated MvpRewardInfo score_mvp = 2; //积分MVP
  542. repeated MvpRewardInfo killer_mvp = 3; //击杀
  543. }
  544. //公会战MVP奖励
  545. message SSGuildBattleSendMvpRewardAck { //project guild
  546. int32 guild_battle_round = 1;
  547. repeated MvpRewardInfo score_mvp = 2; //积分MVP
  548. repeated MvpRewardInfo killer_mvp = 3; //击杀
  549. }
  550. //公会战购买buff请求
  551. message SSGuildBattleBuyBuffReq { //project guild
  552. int32 guild_battle_idx = 1;
  553. repeated int32 buff_id_list = 2;
  554. uint64 uid = 3;
  555. uint64 guild_id = 4; //
  556. uint64 total_gold = 5; //总金币数量
  557. }
  558. //公会战购买buff返回
  559. message SSGuildBattleBuyBuffAck { //project game
  560. int32 error = 1; //错误码
  561. uint64 uid = 2; //购买结果
  562. repeated KeyValueType need_res = 3; //需要的资源
  563. GuildBattleSelfData self_data = 4; //个人信息
  564. int32 guild_battle_idx = 5;
  565. }
  566. message SSGuildBattleRewardReq { //project guild
  567. }
  568. message SSGuildDemonFightReq { //project guild
  569. int32 demon_id = 1;
  570. uint64 damage = 2; //总伤害
  571. uint64 guild_id = 3;
  572. uint64 uid = 4;
  573. }
  574. message SSGuildDemonFightAck { //project game
  575. int32 error = 1;
  576. int32 demon_id = 2; //bossid
  577. int32 fight_count = 3; //剩余战斗次数
  578. uint64 total_damage = 4; //boss总伤害
  579. uint64 uid = 5; //唯一ID
  580. uint64 refresh_time = 6; //
  581. int32 free_fight_count = 7; //免费战斗次数
  582. //系统播报数据
  583. string guild_name = 9; //公会名称
  584. int32 reward_level = 10; //奖励档位
  585. uint64 req_uid = 11; //请求UID
  586. }
  587. message SSGuildDemonOnlineGetRewardNtf { //project game
  588. int32 demon_id = 1;
  589. repeated KeyValueType reward_list = 2;
  590. }
  591. message SSGuildDemonRewardNtf { //project game
  592. int32 demon_id = 1;
  593. int32 demon_level = 2;
  594. uint64 total_damage = 3;
  595. repeated uint64 uid_list = 4;
  596. }
  597. //////////////////////////expedition
  598. message SSExpeditionHelpReq { //project social|game
  599. uint64 be_helped_uid = 1; //被救助玩家uid
  600. CommonPlayerBriefInfo from_uid = 2; //发起救助玩家uid
  601. uint64 help_msg_send_time = 3; //求助消息发送时的时间
  602. }
  603. message SSExpeditionHelpAck { //project game|social
  604. int32 error = 1;
  605. uint64 be_helped_uid = 2; //被救助玩家uid
  606. CommonPlayerBriefInfo from_uid = 3; //发起救助玩家uid
  607. }
  608. //勇士积分排行
  609. message SSExpeditionScoreRankListReq { //project rank
  610. int32 start_idx = 1;
  611. }
  612. message SSExpeditionScoreRankListAck { //project game
  613. int32 error = 1; //错误码
  614. repeated ExpeditionRankInfo rank_list = 2;
  615. ExpeditionRankInfo self_rank_info = 3;
  616. int32 start_idx = 4;
  617. }
  618. //积分变动通知
  619. message SSExpeditionUpdateScoreRankNtf { //project rank
  620. uint32 cur_score = 1; //玩家历史最高积分
  621. }
  622. //////////////////////////invitation
  623. //填写邀请码成为导师成员
  624. message SSInvitationBeToMemberReq { //project game|social
  625. uint64 master_number = 1; //导师邀请码
  626. uint64 master_uid = 2; //导师uid
  627. InvitationMemberValData self_uid = 3; //自身uid
  628. }
  629. message SSInvitationBeToMemberAck { //project game|social
  630. int32 error = 1;
  631. uint64 master_number = 2; //导师邀请码
  632. uint64 master_uid = 3; //导师uid
  633. InvitationMemberValData self_uid = 4; //自身uid
  634. }
  635. //master不在线操作数据库
  636. message SSInvitationBeToMemberDBReq { //project db
  637. uint64 master_number = 1; //导师邀请码
  638. uint64 master_uid = 2; //导师uid
  639. InvitationMemberValData self_uid = 3; //自身uid
  640. }
  641. message SSInvitationBeToMemberDBAck { //project game
  642. int32 error = 1;
  643. uint64 master_number = 2; //导师邀请码
  644. uint64 master_uid = 3; //导师uid
  645. InvitationMemberValData self_uid = 4; //自身uid
  646. }
  647. //解除关系
  648. message SSInvitationDelMemberNtf { //project social|game
  649. uint64 master_uid = 1; //导师uid
  650. repeated uint64 del_member_list = 2;
  651. }
  652. //等级,充值等数据变更时通知导师
  653. message SSInvitationMemberNoticeMasterReq { //project social|game
  654. uint64 self_uid = 1;
  655. uint64 master_uid = 2; //master uid
  656. KeyValueType param = 3; //key任务类型 val数值
  657. }
  658. message SSInvitationMemberNoticeMasterAck { //project social|game
  659. int32 error = 1;
  660. uint64 self_uid = 2;
  661. uint64 master_uid = 3; //master uid
  662. KeyValueType param = 4; //key任务类型 val数值
  663. }
  664. //////////////////////////pay
  665. //订单对应的奖励信息
  666. message PayOrderSaveInfo {
  667. int32 goods_id = 1;
  668. int32 goods_type = 2;
  669. string goods_name = 3;
  670. uint64 cp_order_id = 4; //产品订单号
  671. float amount = 5; //支付总额
  672. int32 count = 6; //购买数量
  673. uint64 order_process_time = 7; //订单操作时间
  674. int32 order_state = 8; //订单状态(枚举说明PayOrderState common.proto)
  675. uint64 uid = 9; //玩家id
  676. repeated KeyValueType reward_list = 10; //支付获得奖励
  677. string sdk_order_id = 11; //SDK对应订单号
  678. string pay_method = 12; //SDK对应的充值通道
  679. string pay_currency = 13; //充值货币种类
  680. uint64 pay_time = 14; //支付时间
  681. string pay_channel = 15; //支付渠道
  682. int32 s_id = 16; //当前服务器ID
  683. }
  684. //充值订单数据保存/状态变更
  685. message SSPayInfoSaveReq { //project db
  686. PayOrderSaveInfo pay_order_info = 1;
  687. bool save_notify = 2; //表示十分是初次生成订单
  688. }
  689. message SSPayInfoSaveAck { //project game
  690. int32 error = 1;
  691. PayOrderSaveInfo pay_order_info = 2;
  692. }
  693. //上线获取成功成但是没有获取奖励的订单数据
  694. message SSPayInfoOrderOKListGetReq { //project db
  695. }
  696. message SSPayInfoOrderOkListGetAck { //project game
  697. repeated PayOrderSaveInfo pay_order_ok_list = 2;
  698. }
  699. //充值成功后gmweb通知给game服务器
  700. message SSPayInfoOrderNtf { //project social|game
  701. PayOrderSaveInfo pay_order_info = 1;
  702. }
  703. //////////////////////////百人道场
  704. //获取占位信息
  705. message SSDaoChang100PosInfoListReq { //project rank
  706. repeated int32 pos_idx_list = 1;
  707. }
  708. message SSDaoChang100PosInfoListAck { //project game
  709. int32 error = 1;
  710. repeated DaoChang100PosIdxData pos_data_list = 2; //占位信息
  711. }
  712. //占领日志信息
  713. message SSDaoChang100LogReq { //project rank
  714. uint64 begin_time = 1;
  715. }
  716. message SSDaoChang100LogAck { //project game
  717. repeated DaoChang100Log log_list = 1;
  718. bool is_end = 2;
  719. }
  720. //挑战占位
  721. message SSDaoChang100ChallengeReq { //project rank
  722. int32 pos_idx = 1;
  723. bool has_challenge_count = 2; //当前是否有挑战次数
  724. CommonPlayerBriefInfo owner_brief = 3; //发起挑战玩家
  725. }
  726. message SSDaoChang100ChallengeAck { //project game
  727. int32 error = 1; //错误码
  728. int32 pos_idx = 2;
  729. FightRoleInfo fight_info = 3; //对方玩家信息
  730. int32 robot_id = 4; //机器人id
  731. uint64 reward_delta_time = 5; //占位奖励时间
  732. DaoChang100PosIdxData self_pos_data = 6; //自身占位成功后的信息
  733. DaoChang100PosIdxData challenge_pos_data = 7; //挑战位置占位信息
  734. }
  735. //挑战占位战斗结果上报
  736. message SSDaoChang100ChallengeResultReq { //project rank
  737. int32 pos_idx = 1;
  738. uint64 pos_uid = 2; //挑战时位置上的玩家ID(机器人id)
  739. CommonPlayerBriefInfo owner_brief = 3; //发起挑战玩家
  740. bool battle_result = 4;
  741. }
  742. message SSDaoChang100ChallengeResultAck { //project game
  743. int32 error = 1; //错误码
  744. int32 pos_idx = 2;
  745. bool battle_result = 3; //战斗结果
  746. bool empty_pos_idx = 4; //结束时占领的是
  747. DaoChang100PosIdxData self_pos_data = 5; //自身占位成功后的信息
  748. }
  749. message SSDaoChang100ChallengeResultNtf { //project game|social
  750. uint64 ntf_uid = 1; //被动变化玩家uid
  751. bool pos_idx_data_change = 2;
  752. DaoChang100PosIdxData ntf_pos_data = 3; //被动变化玩家占位信息
  753. bool from_other_game = 4;
  754. uint64 challenge_uid = 5; //挑战该占位的玩家
  755. int32 battle_result = 6; //1胜利 2失败
  756. }
  757. //获取收益奖励
  758. message SSDaoChang100TimeRewardReq { //project rank
  759. uint64 uid = 1;
  760. uint64 base_reward_time = 2;
  761. uint64 reward_interval_time = 3;
  762. uint64 now_time = 4;
  763. }
  764. message SSDaoChang100TimeRewardAck { //project game
  765. repeated KeyValueType pos_idx_reward_list = 1;//位置对应奖励次数
  766. uint64 base_reward_time = 2;
  767. uint64 reward_interval_time = 3;
  768. uint64 now_time = 4;
  769. }
  770. //道场公会贡献点排行更新
  771. message SSDaoChang100GuildRankUpdateNtf { //project guild
  772. uint64 uid = 1;
  773. uint64 guild_id = 2;
  774. uint32 score = 3;
  775. }
  776. //////////////////////////精彩活动
  777. message SSActivitiesCollectionServerDataReq { //project rank
  778. int32 activity_id = 1;
  779. int32 reward_idx = 2; //兑换奖励时使用(为0表示获取全部)
  780. int32 server_limit_num = 3; //上限次数
  781. repeated ExchangeInfo pet_data = 4; //兑换宠物
  782. }
  783. message SSActivitiesCollectionServerDataAck { //project game
  784. int32 error = 1; //错误码
  785. int32 activity_id = 2;
  786. repeated KeyValueType data_list = 3; //全局相关数据
  787. int32 reward_idx = 4;
  788. repeated ExchangeInfo pet_data = 5; //兑换的宠物
  789. }
  790. message CollectionSaveData {
  791. int32 activity_id = 2;
  792. repeated KeyValueType data_list = 3; //全局相关数据
  793. }
  794. message SSActivitiesCollectionServerDataNtf { //project social|game
  795. int32 activity_id = 1;
  796. int32 reward_idx = 2;
  797. int32 server_cur_num = 3; //当前服务器已经兑换次数
  798. }
  799. message SSWebGMHeadChange { //project social|game
  800. uint64 uid = 1;
  801. int32 head_id = 2; // 称号id
  802. int32 state = 3; // 称号状态
  803. }