| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394 |
- syntax = "proto3";
- package BBMessage;
- option go_package = "./;message";
- // 通用操作结果码
- enum GameStatus {
- GAME_STATUS_OK = 0;
- GAME_STATUS_PLAYER_NIL = 1001; // 玩家不存在
- GAME_STATUS_UID_PASSWD_NIL = 1002; // 账号或密码不能为空
- GAME_STATUS_UID_ERROR = 1003; // 账号不存在
- GAME_STATUS_PASSWD_ERROR = 1004; // 密码错误
- GAME_STATUS_ROOM_NOT_EXIT = 1005; // 房间不存在
- GAME_STATUS_PB_ERR = 1006;//协议解析报错
- GAME_STATUS_INNER_ERR = 1007; // 服务器内部错误
- GAME_STATUS_LOGIN_CHECK_ERR = 1055; // 登录校验失败
- Player_Status_0=11;//表示玩家在大厅,
- Player_Status_1=1;//表示玩家开始匹配,
- Player_Status_2=2;//玩家进入游戏房间,
- Player_Status_3=3;//ready,玩家落座开始游戏
- Player_Status_4=4;//play,
- Player_Status_5=5;//胜利后观战,
- Player_Status_6=6;//胜利后离开,
- Player_Status_7=7;//组队逃跑,
- Player_Status_8=8;//逃跑,
- Player_Status_9=9;//托管,
- Player_Status_10=10;//观战玩家,
- //GAME_STATUS_LOGIN_CHECK_ERR = 1055; // 登录校验失败
- }
- // 心跳包C->S, Cmd.MSGID_Heartbeat_Push(心跳包需要保持,不然玩家会被踢下线)
- message HeartbeatPush {
- }
- // 登录请求 C->S, Cmd.MSGID_Login
- message LoginReq {
- string uid = 1;//账号ID
- string passWd = 2;//密码
- }
- // 登录响应 S->C, Cmd.MSGID_Login
- message LoginRsp {
- uint32 result = 1;//结果
- int64 playerId = 2;//玩家ID
- bool isNew = 3;//是否为新玩家
- }
- message CreateGameReq {
- uint32 mode = 1;//游戏模式,1是经典,2是匹配
- uint32 playerNum = 2;//选择玩家人数 2是两个人,4是四个人
- uint32 admissionFee = 3;//入场金额 500、1000、2000、5000、10000、20000
- bool isRoom = 4;//是否房间内建房
- string uid = 5;//玩家id
- string name = 6;//玩家名称
- string headImg = 7;//玩家头像
- optional uint32 money = 8;//玩家金币
- optional uint32 chatRoomId = 9;//语聊房id
- }
- message CreateGameRsp {
- optional uint32 roomId =1; //房间id
- string uid =2; //用户id
- string name = 3;//玩家名称
- string headImg = 4;//玩家头像
- optional uint32 money = 5;//玩家金币
- }
- message RoomInfoRsp {
- optional uint32 result = 1;//结果
- repeated uint32 money=2;
- repeated string playerID =3;
- repeated string nick=4; //昵称
- repeated string headUrl =5; //头像
- repeated uint32 seatId =9; //头像
- uint32 mode = 6;//游戏模式,1是经典,2是匹配
- uint32 playerNum = 7;//选择玩家人数 2是两个人,4是四个人
- uint32 admissionFee = 8;//入场金额 500、1000、2000、5000、10000、20000
-
- }
- message JoinRoomReq {
- string uid = 1;//uID
- string name = 2;//玩家名称
- string headImg = 3;//玩家头像
- optional uint32 money = 4;//玩家金币
- optional uint32 roomId = 5;//房间id
- bool restartBtn = 6;//是否是restart点击
- }
- message RoomKickUserReq {
- string uid = 1;//uID
- }
- message RoomKickUserRsp {
- string uid = 1;//uID
- string name = 2;//玩家名称
- }
- message RoomQuitUserReq {
- string uid = 1;//uID
- }
- message RoomInviteReq {
- string uid = 1;//邀请的玩家id
- optional uint32 chatRoomId = 2;//语聊房id
- optional uint32 roomId = 3;//游戏房间id
- }
- message RoomInviteRsp {
- optional uint32 result = 1;//结果
- }
- message RoomQuitUserRsp {
- string uid = 1;//uID
- string name = 2;//玩家名称
- }
- message JoinRoomInfoRsp {
- optional uint32 result = 1;//结果
- string money=2;
- string playerID =3;
- uint32 playerStatus=4; // 玩家的当前状态, 0、1 表示空位无玩家,2: sitdown, 3: ready, 4: play, 5: 胜利后观战, 6: 胜利后离开,7: 组队逃跑,8: 逃跑
- uint32 tableID=5; // 桌子ID
- optional uint32 seatID=6; //座位号
- string nick=7; //昵称
- string headUrl =8; //头像
- string gender =9; //性别
- optional uint32 playerNum=10; // 玩家数量
- uint32 playerType=11; // 玩家类型1是正常玩家2是机器人
- }
- message RoomInfoReq {
- optional uint32 roomId = 1;//房间id
- string uid = 2;//玩家id
- }
- message CancelMatchReq {
- }
- message CancelMatchRsp {
- optional uint32 result = 1;//结果0表示成功,其他表示失败
- string uid = 2;//用户id
- }
- message MatchRsp {
- optional uint32 result = 1;//结果 0表示成功,其他表示失败
- }
- message MatchJoinUserRsp {
- optional uint32 result = 1;//结果
- string playerID =2;
- string nick=3; //昵称
- string headUrl =4; //头像
- string gender =5; //性别
- uint32 playerNum=6; // 玩家数量
- }
- message RoomStartGameReq {
- }
- message RoomStartGameRsp {
- }
- //获取玩家数据
- message GetUserInfoReq {
- string uid = 1;//账号ID
- uint32 roomId = 2;//房间ID
- }
- //获取玩家数据
- message KickUserReq {
- string uid = 1;//账号ID
- }
- message GetUserInfoRsp {
- optional uint32 result = 1;//结果
- repeated string money=2;
- repeated string playerID =3;
- repeated uint32 playerStatus=4; // 玩家的当前状态, 0、1 表示空位无玩家,2: sitdown, 3: ready, 4: play, 5: 胜利后观战, 6: 胜利后离开,7: 组队逃跑,8: 逃跑
- repeated uint32 tableID=5; // 桌子ID
- repeated uint32 seatID=6; //座位号
- repeated string nick=7; //昵称
- repeated string headUrl =8; //头像
- repeated string gender =9; //性别
- uint32 playerNum=10; // 玩家数量
- repeated uint32 playerType=11; // 玩家类型1是正常玩家2是机器人
- optional uint32 selfSeatId=12; // 玩家座位号
- optional uint32 watchingPlayers=13; // 观战玩家数量
- optional uint32 countdown=14; // 游戏结束倒计时
- uint32 gameType=15; // 游戏类型,1经典,2匹配
- }
- message TKickEventRsp {
- optional uint32 PlayerNum=1; // 被踢玩家数
- repeated KickPlayerRsp kickPlayer=2;
- }
- message KickPlayerRsp {
- optional uint32 seatId=1; // 被踢玩家
- optional uint32 planeNum=2; // 被踢飞机数
- string planeID=3; // 飞机ID
- }
- message FinishEventRsp {
- optional uint32 seatId=1; // 到达玩家
- string planeId=2;// 飞机ID
- }
- message PlayerRsp {
- optional uint32 seatId=1; // 到达玩家
- repeated PlaneRsp planes=2;// 飞机
- }
- message PlaneRsp {
- string planeId=1;// 飞机ID
- optional uint32 currentIndex=2; // 飞机下标
- optional uint32 planeStatus=3; // 0是未起飞,1是移动中,2是到达终点
- }
- message RoomDjsRsp {
- optional uint32 time=1;// 倒计时时间
- }
- //加入房间通知其他玩家
- message RoomJoinUserRsp {
- optional uint32 result = 1;//结果
- string money=2;
- string playerID =3;
- uint32 playerStatus=4; // 玩家的当前状态, 0、1 表示空位无玩家,2: sitdown, 3: ready, 4: play, 5: 胜利后观战, 6: 胜利后离开,7: 组队逃跑,8: 逃跑
- uint32 tableID=5; // 桌子ID
- uint32 seatID=6; //座位号
- string nick=7; //昵称
- string headUrl =8; //头像
- string gender =9; //性别
- uint32 playerNum=10; // 玩家数量
- uint32 playerType=11; // 玩家类型1是正常玩家2是机器人
- }
- //1,通知开始掷子并且开始倒计时
- message GameStartRsp {
- optional uint32 result = 1;//结果
- optional uint32 seatID = 2;//掷子玩家座位号
- optional uint32 castSecond = 3;//结果
- }
- // 2,客户端请求掷子,空消息
- message ThrowTheDiceReq {
- }
- //3,通知掷子结果
- message ThrowTheDiceRsp {
- optional uint32 result = 1;//结果 0表示成功,其他表示失败
- optional uint32 seatID = 2;//座位id
- uint32 point = 3;//掷子点数
- optional uint32 skipReason = 4;//玩家是否可以行棋,不为0表示不能行棋
- optional uint32 nextTurn=5;//玩家不能行走时下一玩家
- optional uint32 autoMove=6;//1代表正常 2自动骰子 3自动起飞,4自动行走
- repeated PlayerRsp players=7;
- }
- //4,客户端请求起飞
- message PlaneStartReq {
- string planeID = 1;//飞机id,从0开始
- }
- //5,通知起飞结果
- message PlaneStartRsp {
- optional uint32 result = 1;//结果
- optional uint32 seatID = 2;//起飞玩家座位id
- string planeID = 3;//起飞飞机ID
- optional uint32 nextTurn = 4;//下一个玩家座位id
- uint32 playerNum=5;//玩家数
- repeated PlayerRsp players=6;
- }
- // 6,客户端请求行走
- message MoveReq {
- string planeID = 1;//飞机id,从0开始
- }
- //7,通知移动结果
- message MoveRsp {
- optional uint32 result = 1;//0表示成功,其他表示失败
- optional uint32 seatID = 2;//起飞玩家座位id
- string planeID = 3;//行走飞机ID
- optional uint32 step = 4;//行走的步数
- optional uint32 curPosIndex=5;// 棋子当前相对于行走路线的索引
- optional uint32 nextTurn = 6;//下一个玩家
- optional uint32 hasWin = 7;//玩家是否已经获胜,1表示已经获胜,0表示还没有获胜
- uint32 playerNum=8;//玩家数
- FinishEventRsp finishEvent=9;
- TKickEventRsp tKickEvent=10;
- repeated PlayerRsp players=11;
- }
- //9,客户端请求托管
- message TrusteeshipReq {
- bool trust = 1;//true表示托管,2表示不托管
- }
- //8,通知玩家托管
- message TrusteeshipRsp {
- bool trust = 1;//true表示托管,false表示不托管
- optional uint32 seatID = 2;//座位id
- }
- //退出游戏请求
- message QuitReq {
- }
- //通知玩家退出游戏,直接剔除这个玩家
- message QuitRsp {
- uint32 playerStatus=1; // 玩家的当前状态, 0、1 表示空位无玩家,2: sitdown, 3: ready, 4: play, 5: 胜利后观战, 6: 胜利后离开,7: 组队逃跑,8: 逃跑 10,观战玩家
- optional uint32 seatID=2; //座位号
- optional uint32 nextTurn=3; //下一个座位号
- string uid =4; //用户id
- }
- //通知玩家游戏结束
- message EndGameRsp {
- repeated uint32 seatID =1; //座位号
- repeated string playerStatus =2; //玩家状态
- repeated uint32 kick =3; //- 玩家当局撞棋数量
- repeated uint32 beKick =4; //- 玩家当局被撞棋数量
- repeated uint32 money =5; //- 胜方当局赢得金额
- }
- //拉房失败解散游戏
- message DissolveTheGameReq {
- }
- //拉房失败解散游戏
- message DissolveTheGameRsp {
- }
- //pb解析失败
- message PbErrorRsp {
- string messageData =1; //错误信息
- }
- ////////////////////////////房间消息//////////////////////////////
- // 拉取房间列表 C->S, Cmd.MSGID_Get_Room_List
- message GetRoomListReq {
- }
- // 拉取房间列表 S->C, Cmd.MSGID_Get_Room_List
- message GetRoomListRsp {
- uint32 result = 1; //结果
- }
- // 踢人原因
- enum KickReason {
- KICK_REASON_UNKNOWN = 0;
- KICK_REASON_LOGIN_ELSEWHERE = 1;
- KICK_REASON_HEARTBEAT_TIMEOUT = 2;
- KICK_REASON_NOT_LOGIN = 3;
- }
- // 踢人通知 S->C, Cmd.MSGID_Kick_Notify
- message KickNotify {
- uint32 reason = 1;
- }
- //退出客户端房主变更
- message RoomChangeOfHomeownerRsp {
- string uid = 1;//玩家ID
- }
- message GetUserMoneyReq {
- string uid = 1;//玩家ID
- }
- message GetUserMoneyRsp {
- optional uint32 money = 1;//玩家金币
- }
- message DiscReq {
- string uid = 1;//玩家ID
- uint32 roomId = 2;//房间ID
- }
- message RoomQuitReq {
-
- }
- message RoomRestartReq {
-
- }
- message SendMsgReq{
- string data = 1;//消息数据
- }
- message SendMsgRsp{
- string data = 1;//消息数据
- string uid = 2;//消息数据
- }
|