logic.proto 37 KB

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