CommonProto.proto 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. syntax = "proto3";
  2. package com.incubator.message.proto;
  3. option java_package = "com.incubator.message.proto";
  4. option java_outer_classname = "CommonProto";
  5. /**
  6. * 消息类型
  7. */
  8. enum MsgType {
  9. Game = 0; //游戏消息 ws
  10. Game_Http = 1; //游戏消息 http
  11. GM = 2; //gm管理后台消息
  12. }
  13. /**
  14. * 网络消息号定义
  15. * 规则:
  16. * 1. 所有客户端请求以奇数结尾
  17. * 2. 所有服务器响应和推送以偶数结尾
  18. * 3. 推送消息以9开头
  19. */
  20. enum Cmd {
  21. //******* 服务器 → 客户端 ******//  
  22. DEFAULT = 0; //默认
  23. //******* 游戏服 → 中控 ******//
  24. S2S_GAME_REG = 5000; // 请求 注册中控
  25. S2S_GAME_REG_RSP = 6000; // 响应 注册中控
  26. // 系统消息 100001-100100
  27. HeartBeatReq = 100001; // 心跳请求(客户端)
  28. HeartBeatRes = 100002; // 心跳响应(服务器)
  29. LoginReq = 100003; // 登录请求(客户端)
  30. LoginRes = 100004; // 登录响应(服务器)
  31. CreateRoomReq = 100007; // 创建房间请求
  32. CreateRoomRes = 100008; // 创建房间响应
  33. JoinRoomReq = 100009; // 加入房间请求
  34. JoinRoomRes = 100010; // 加入房间响应
  35. RoomReadyReq = 100011; // 玩家进入房间后点击准备请求
  36. RoomReadyRes = 100012; // 玩家进入房间后点击准备响应
  37. // 测试消息 200001-200100
  38. NormalMsgReq = 200001; // 普通消息请求(客户端)
  39. NormalMsgRes = 200002; // 普通消息响应(服务器)
  40. // 商城消息 200101-200200
  41. ShopInfoReq = 200101; // 获取商城信息请求(客户端)
  42. ShopInfoRes = 200102; // 获取商城信息响应(服务器)
  43. ShopBuyReq = 200103; // 购买物品请求(客户端)
  44. ShopBuyRes = 200104; // 购买物品响应(服务器)
  45. // 背包消息 200201-200300
  46. BagInfoReq = 200201; // 获取背包信息请求(客户端)
  47. BagInfoRes = 200202; // 获取背包信息响应(服务器)
  48. BagUseReq = 200203; // 使用物品请求(客户端)
  49. BagUseRes = 200204; // 使用物品响应(服务器)
  50. //个人中心
  51. ProfileInfoReq = 200301; //个人中心信息请求
  52. ProfileInfoRes = 200302; //个人中心信息响应
  53. //排行榜
  54. RankInfoReq = 200401; //排行榜信息请求
  55. RankInfoRes = 200402; //排行榜信息响应
  56. //好友
  57. FriendInfoReq = 200501; //好友信息请求
  58. FriendInfoRes = 200502; //好友信息响应
  59. //俱乐部
  60. ClubInfoReq = 200601; //俱乐部信息请求
  61. ClubInfoRes = 200602; //俱乐部信息响应
  62. // 服务器推送消息 900000-999999 (全部以偶数结尾)
  63. PlayerInfoUpdate = 900002; //玩家信息数据变更推送
  64. PlayerOnline = 900004; // 玩家上线推送
  65. PlayerOffline = 900006; // 玩家下线推送
  66. RoomPlayerJoin = 900008; // 玩家加入房间推送
  67. RoomPlayerLeave = 900010; // 玩家离开房间推送
  68. GameStateChange = 900012; // 游戏状态变化推送
  69. ShopUpdate = 900014; // 商城更新推送
  70. BagUpdate = 900016; // 背包更新推送
  71. ErrorRes = 910000; // 错误响应(服务器)
  72. }
  73. /** 返回码 **/
  74. enum Code {
  75. OK = 0; //OK
  76. PARAMETER_ERR = 1; //参数错误
  77. SYSTEM_ERR = 2; //系统错误
  78. PLAYER_ROOM_EXIST_ERR = 3; //玩家已在房间
  79. ROOM_NOT_EXIST_ERR = 4; //房间已解散
  80. JOIN_ROOM_REPEATEDLY_ERR = 5; //重复加入其他房间
  81. }
  82. message CardInfo {
  83. repeated int32 RemainCards = 1; // 玩家手牌
  84. int32 RemainCardsNum = 2; // 玩家手牌数量
  85. }
  86. message PlayerInfo {
  87. int64 Id = 1;
  88. string Name = 2;
  89. int32 Sex = 3;
  90. int64 Exp = 4;
  91. int32 Level = 5;
  92. int32 Vip = 6;
  93. int64 Diamond = 7; // 玩家携带钻石
  94. int32 Pos = 8; // 玩家位置(0东 1南 2西 3北)
  95. int32 State = 9; // 玩家状态(0未准备 1已准备 2游戏中 3结束)
  96. bool IsAuto = 10; // 是否托管
  97. CardInfo CardInfo = 11; // 玩家牌信息
  98. }
  99. message RoomInfo {
  100. int32 RoomId = 1; // 房间号
  101. int32 Type = 2; // 房间玩法类型 1:经典掼蛋
  102. int64 OwnerId = 3; // 房主playerId
  103. int32 State = 4; // 房间状态(0等待 1开局 2进行中 3已结束)
  104. int32 Time = 5; // 倒计时
  105. int32 CurRound = 6; // 当前局数
  106. int32 ZhuangPos = 7; // 先手位置
  107. int32 CardNum = 8; // 牌库剩余数量
  108. int64 OpId = 9; // 当前操作玩家id
  109. int32 OpPos = 10; // 当前操作玩家位置
  110. repeated int32 CurDisCardList = 11; // 当前出牌玩家打出的牌集合
  111. int32 CurDisCardSex = 12; // 当前出牌玩家性别
  112. PlayerInfo MyInfo = 13; // 自己数据
  113. repeated PlayerInfo OtherInfo = 14; // 其他玩家数据
  114. }