123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- package com.backfire.socket.socketProto;
- option java_package = "com.backfire.socket.socketProto";
- option java_outer_classname = "Doudizhu";
- /********************
- * 房间协议
- *******************/
-
- // 1.5 认证请求
- message AuthReq
- {
- optional uint64 uid = 1; //用户id
- optional string key = 2; //用户session key
- }
- // 1.6 认证回应
- message AuthRpy
- {
- optional uint32 ret = 1; //返回值,1成功,2失败
- optional uint32 retcode = 2; //错误码,成功0
- optional string retmsg = 3; //错误信息,扩展用
- }
- message LoginoutReq
- {
- optional uint32 cmd =1;
- }
- //3 游戏模块
- message Ready
- {
- optional uint32 isready = 1; //是否准备,如果不想在这个房间,可以发送这条指令,也可直接退出
- optional uint32 handcardAnimMS = 2; //发牌的动画时间(毫秒)
- }
- message ReadyReply
- {
- optional uint32 ret = 1; //
- optional uint32 retcode = 2; //
- optional string retmsg = 3; //
- repeated uint32 seats = 4; //哪些位置已经准备,这个的做法再商量
- }
- // 3.1 房间内座位上玩家信息
- message PlayerInfo
- {
- optional uint32 seatId = 1; //座位ID
- optional uint64 uid = 2; //用户ID
- optional string uName = 3; //用户名称
- optional string icon = 4; //用户头像
- optional uint64 money = 5; //用户金币数
- optional uint32 level = 6; //用户等级
- optional uint32 sex = 7; //用户性别
- repeated uint32 items = 8; //用户道具
- optional uint32 gameCount = 9; //游戏场数
- optional uint32 winCount = 10; //胜利场数
- optional uint32 dropCount = 11; //掉线次数
- optional uint32 runCount = 12; //逃跑次数
- optional uint64 lottery = 13; //彩券数目
- optional string sign = 14; //用户签名
- }
- // 3.2 广播房间内打牌人信息(通过座位)
- message BroadcastPlayerInfo
- {
- repeated PlayerInfo seatList = 1;
- }
- message RebindReq
- {
- optional uint64 uid = 1;
- optional string session = 2;
- }
- //重连
- message RebindRpy
- {
- optional uint32 ret = 1;
- optional uint32 retcode = 2;
- optional string retmsg = 3;
- optional GameStart gamestart = 4;
- optional QiangdizhuRpy qdzRpy = 5;
- optional BroadcastPlayerAction playerAction = 6;
- optional BroadcastPlayerInfo playerinfo = 7;
- optional HandCard handcard = 8;
- optional uint32 seatid = 9;
- repeated uint32 playerCardsRemain = 10;
- repeated PlayerDepositRpy deposited = 11;
- optional uint32 roomType = 12;
- repeated BroadcastLaiziCard laizi = 13;
- optional SeatRpy seatInfo = 14; //斗地主座位信息
- }
- // 3.3 用户坐下站起
- message SeatReq
- {
- optional uint64 uid = 1; //用户ID
- optional uint32 seatId = 2; //座位ID
- optional uint32 action = 3; //动作,1坐下,2站起
- optional uint32 autoready = 4; //1自动准备 2不自动准备
- optional uint32 roomid = 5; //房间ID
- }
- // 3.4 坐下站起状态返回
- message SeatRpy
- {
- optional uint32 ret = 1; //返回值,1成功,2失败
- optional uint32 retCode = 2; //错误码
- optional string retMsg = 3; //用户提示信息
- optional uint32 seatid = 4; //玩家的座位
- optional uint32 action = 5; //玩家的动作
- optional uint32 basepoint = 6; //底分
- optional uint32 readytimeout= 7; //准备超时
- optional uint32 awardRoom = 8; //大奖赛场 1是大奖赛,0为其他
- optional uint32 laiziFlag = 9; //是否癞子场,0是普通场,1是普通癞子,2是超级癞子
- optional string roomName = 10; //场次名称
- }
- // 3.5 牌局开始
- message GameStart
- {
- optional uint32 gameNum = 1; //房间内第N局牌次
- optional uint32 bet = 2; //底注
- repeated CardInfo commcard = 3; //三张公牌
- optional uint32 dizhu = 4; //地主位置
- optional uint32 timeout = 5; //出牌超时
- }
- // 3.6 抢地主
- message QiangdizhuReq
- {
- optional uint32 ratio = 1; //抢地主,抢倍率
- optional uint32 giveup = 2; //放弃
- }
- // 3.7 抢地主返回
- message QiangdizhuRpy
- {
- optional uint32 ret = 1; //
- optional uint32 retcode = 2; //
- optional string retmsg = 3; //
- optional uint32 ratio = 4; //返回当前倍率
- optional uint32 seatid = 5; //当前抢地主玩家位置
- optional uint32 timeout = 6; //抢地主倒计时时间
- optional uint32 callCount = 7; //当前是第几次抢
- }
- // 3.8 单张牌信息
- message CardInfo
- {
- optional uint32 cardFace = 1; //牌点,癞子模式时是癞子替用的牌 3-15,其中11:J 12:Q 13:K 14:A 15:2
- optional uint32 cardSuit = 2; //花色 1方块,2黑葵,3红心,4黑桃
- optional uint32 laiziFace = 3; //癞子的原始牌点 0:不是癞子牌 3-15:与cardFace相同
- }
- // 3.9 发玩家手牌
- message HandCard
- {
- repeated CardInfo handCardList = 1; //用户手牌
- }
- // 3.10 玩家动作(出牌,pass,发表情等)
- message PlayerPlayActionReq
- {
- optional uint64 uid = 1; //用户ID
- optional uint32 action = 2; //动作
- repeated CardInfo pushCardList = 3; //出牌列表
- optional uint32 emotionId = 4; //表情ID
- }
- // 3.11 返回玩家动作结果
- message PlayerPlayActionRpy
- {
- optional uint32 ret = 1; //返回值,1成功,2失败
- optional uint32 retCode = 2; //错误码,待定
- optional string retMsg = 3; //用户提示,不能打此牌型; 超时(待定)
- }
- // 3.12 对手的动作(出牌,pass,表情等)
- message BroadcastPlayerAction
- {
- optional uint64 uid = 1; //用户id
- optional uint32 seatid = 2; //出牌玩家seat
- optional uint32 action = 3; //动作,1pass,2打牌,3发表情
- repeated CardInfo pushCardList = 4; //对手出牌内容
- optional uint32 emotionId = 5; //表情ID
- optional uint64 nextuid = 6; //下一个出牌玩家uid
- optional uint32 nextseatid = 7; //下一个出牌玩家seatid
- optional uint32 pointratio = 8; //当前倍率
- optional uint32 cardType = 9; //牌型
- optional uint32 highcard = 10; //主牌型的最大牌
- }
- message ChatReq{
- optional uint64 uId = 1; //用户uid
- required uint32 seatId = 2; //用户seatid座位
- optional uint32 roomId = 3; //房间
- optional string chatMsg = 4; //聊天信息
- optional uint32 faceId = 5; //表情id
- }
- message BroadcastChat{
- required uint32 seatId = 1; //座位id
- optional string chatMsg = 2; //聊天信息
- optional uint32 faceId = 3; //表情id
- optional uint32 roomId = 4; //table ID
- }
- // 3.13 牌局结束
- message GameOver
- {
- optional uint32 winSide = 1; //胜利方 1地主 2农民
- repeated GameResult result = 2; //赢得金钱 1-3座位排列
- }
- message GameResult
- {
- optional uint32 seatid = 1; //用户座位号
- optional uint64 winMoney = 2; //赢得金钱
- optional uint32 winRatio = 3; //翻倍数 按座位
- optional uint32 bombs = 4; //炸弹数 按座位
- repeated CardInfo seatCards = 5; //座位上剩余牌
- optional uint32 spring = 6; //春天 按座位
- optional uint32 reward = 7; //活动奖励 按座位
- optional uint64 money = 8; //用户的钱数
- optional uint64 lottery = 9; //用户剩余彩券数
- optional uint64 winLottery = 10; //用户赢彩券数
- }
- //广播新增的癞子牌
- message BroadcastLaiziCard
- {
- optional CardInfo laizicard = 1; //癞子牌
- optional uint32 seatid = 2; //小癞子的玩家座位
- }
- //托管请求
- message PlayerDepositReq
- {
- optional uint32 isdeposited = 1; //1托管, 2取消托管
- }
- //托管回应
- message PlayerDepositRpy
- {
- optional uint32 seatid = 1; //托管座位
- optional uint64 uid = 2; //托管uid
- optional uint32 isdeposited = 3; //1托管, 2取消托管
- optional uint32 ret = 4;
- optional uint32 retcode = 5;
- optional string retmsg = 6;
- }
|