163 lines
5.1 KiB
Protocol Buffer
163 lines
5.1 KiB
Protocol Buffer
syntax = "proto3";
|
||
package dragonvstiger;
|
||
option go_package = "mongo.games.com/game/protocol/dragonvstiger";
|
||
//操作结果
|
||
enum OpResultCode {
|
||
OPRC_Sucess = 0; //成功
|
||
OPRC_Error = 1; //失败
|
||
OPRC_BankerLimit = 2;
|
||
OPRC_BankerWaiting = 3;
|
||
OPRC_NotBankerWaiting = 4;
|
||
OPRC_BankerCannotBet = 5;
|
||
OPRC_CoinMustReachTheValue = 6;
|
||
OPRC_EachBetsLimit = 7;
|
||
OPRC_CoinIsNotEnough = 8;
|
||
}
|
||
//龙虎斗
|
||
enum DragonVsTigerPacketID{
|
||
PACKET_DVST_ZERO = 0;// 弃用消息号
|
||
PACKET_SC_DVST_ROOMINFO = 5450; //房间信息
|
||
PACKET_CS_DVST_PLAYEROP = 5451; //玩家操作(客户-》服务)
|
||
PACKET_SC_DVST_PLAYEROP = 5452; //玩家操作(服务-》客户)
|
||
PACKET_SC_DVST_ROOMSTATE = 5453; //房间状态
|
||
PACKET_SC_DVST_GAMEBILLED = 5454; //游戏结算
|
||
PACKET_SC_DVST_SEATS = 5455; //座位信息
|
||
PACKET_SC_DVST_PLAYERLIST = 5456; //玩家列表
|
||
PACKET_SC_DVST_SENDBET = 5457; //批量押注筹码信息
|
||
PACKET_SC_DVST_UPLIST = 5458; //上庄列表
|
||
}
|
||
|
||
message DragonVsTigerPlayerData{
|
||
string Name = 1; //名字
|
||
int32 SnId = 2; //账号
|
||
int32 Head = 3; //头像
|
||
int32 Sex = 4; //性别
|
||
int64 Coin = 5; //金币
|
||
int32 Pos = 6; //座位位置
|
||
int32 Flag = 7; //二进制标记
|
||
repeated string Params = 8; //其他数据 如:ip 等
|
||
string City = 9; //城市
|
||
int64 Lately20Win = 10;//最近20局输赢 (赢的次数)
|
||
int64 Lately20Bet = 11;//最近20局总下注 (可能是负值)
|
||
int32 HeadOutLine = 12; //头像框
|
||
int32 VIP = 13;
|
||
int32 NiceId = 14;
|
||
}
|
||
|
||
//筹码数据
|
||
message DragonVsTigerChips{
|
||
int32 Chip = 1;
|
||
int32 Count = 2;
|
||
}
|
||
|
||
message DragonVsTigerZoneChips{
|
||
int32 Zone = 1;//和,龙,虎
|
||
repeated DragonVsTigerChips Detail = 2;//筹码类型
|
||
}
|
||
|
||
//房间信息
|
||
message SCDragonVsTigerRoomInfo {
|
||
int32 RoomId = 1; //房间id
|
||
int32 Creator = 2; //创建者SnId
|
||
int32 GameId = 3; //游戏id
|
||
int32 RoomMode = 4;//游戏模式
|
||
repeated int32 Params = 5; //规则参数
|
||
int32 NumOfGames = 6;//当前第几局
|
||
repeated int32 Cards = 7;//牌数据 (没开牌之前是两个-1)
|
||
int32 State = 8; //房间当前状态
|
||
int32 TimeOut = 9; //等待剩余时间 单位:毫秒
|
||
int32 BankerId = 10;//庄家Id
|
||
int32 DisbandGen = 11;//解散申请
|
||
int32 AgentId = 12; //代开房者
|
||
repeated int32 ParamsEx = 13; //其他参数
|
||
int32 SceneType = 14; //房间模式 0:房卡模式 1:钻石模式
|
||
repeated DragonVsTigerPlayerData Players = 15; //房间内的玩家信息
|
||
repeated int64 TotalChips = 16; //3个区域内的筹码总额 和,龙,虎
|
||
repeated DragonVsTigerZoneChips MyChips = 17; //区域内我的筹码数据
|
||
repeated int32 Trend100Cur = 18; //当前100局走势数据
|
||
repeated int32 Trend20Lately = 19; //最近20龙虎走势数据
|
||
int32 OLNum = 20; //在线玩家数量
|
||
repeated int32 OtherIntParams = 21; //规则参数
|
||
int32 LoopNum = 22; // 后台控制结算结果时使用
|
||
}
|
||
|
||
//座位位置
|
||
message SCDragonVsTigerSeats{
|
||
repeated DragonVsTigerPlayerData Data = 1; //玩家信息
|
||
int32 PlayerNum = 2; //玩家数量
|
||
int32 BankerId = 3; //庄的id, 0:系统庄
|
||
}
|
||
|
||
|
||
//玩家操作
|
||
message CSDragonVsTiggerOp{
|
||
int32 OpCode = 1; //操作码 0:押注 1:获取在线玩家 2:上庄 3:下庄 4:上庄列表 5:在庄的下庄
|
||
repeated int64 Params = 2; //操作参数
|
||
}
|
||
|
||
//玩家操作返回
|
||
message SCDragonVsTiggerOp{
|
||
int32 SnId = 1; //玩家ID
|
||
int32 OpCode = 2; //操作码
|
||
repeated int64 Params = 3; //操作参数
|
||
OpResultCode OpRetCode = 4; //操作结果
|
||
}
|
||
|
||
//房间状态
|
||
message SCDragonVsTigerRoomState{
|
||
int32 State = 1; //房间当前状态
|
||
int32 SubState = 2; //房间当前子状态
|
||
repeated int32 Params = 3; //状态参数
|
||
// State==3时:Params中三个值,依次为牌,牌,比牌结果
|
||
}
|
||
|
||
//玩家列表
|
||
message SCDragonVsTigerPlayerList {
|
||
repeated DragonVsTigerPlayerData Data = 1;
|
||
int32 OLNum = 2; //在线人数
|
||
}
|
||
|
||
//
|
||
message DragonVsTigerBill{
|
||
int32 SnId = 1;//玩家ID
|
||
int64 Coin = 2;//总金币
|
||
int64 GainCoin = 3;//输赢的金币
|
||
}
|
||
|
||
//大赢家
|
||
message DragonVsTigerBigWinner{
|
||
int32 SnId = 1; //账号
|
||
string Name = 2; //名字
|
||
int32 Head = 3; //头像
|
||
int32 HeadOutLine = 4; //头像框
|
||
int32 VIP = 5;
|
||
int32 Sex = 6; //性别
|
||
int64 Coin = 7; //金币
|
||
int32 GainCoin = 8;//本局赢的钱
|
||
string City = 9; //城市
|
||
}
|
||
|
||
//结算
|
||
message SCDragonVsTigerBilled{
|
||
repeated DragonVsTigerBill BillData = 1;//8个位置的结算数据
|
||
DragonVsTigerBigWinner BigWinner = 2;//大赢家数据
|
||
int32 LoopNum = 3; // 后台控制结算结果时使用
|
||
}
|
||
|
||
message DragonVsTigerBetInfo{
|
||
int32 SnId = 1; //座位上的人ID
|
||
repeated int64 TotalChips = 2; //3个区域内的筹码总额 和,龙,虎
|
||
}
|
||
|
||
message SCDragonVsTigerSendBet{
|
||
repeated DragonVsTigerBetInfo Data = 1;//所有座位筹码信息
|
||
repeated int64 TotalChips = 2; //3个区域内的筹码总额 和,龙,虎
|
||
}
|
||
|
||
//上庄列表
|
||
message SCDragonVsTiggerUpList{
|
||
int32 Count = 1; //数量
|
||
int32 IsExist = 2; //玩家是否已经在上庄列表 0:不在上庄列表 1:在上庄列表
|
||
repeated DragonVsTigerPlayerData Data = 3; //上庄列表
|
||
}
|