game_sync/protocol/smallrocket/smallrocket.proto

157 lines
6.0 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto3";
package smallrocket;
option go_package = "mongo.games.com/game/protocol/smallrocket";
//小火箭
enum SmallRocketPacketID {
PACKET_SMALLROCKET_ZERO = 0; //弃用消息号
PACKET_SC_SMALLROCKET_ROOMINFO = 5581; //房间信息
PACKET_CS_SMALLROCKET_PLAYEROP = 5582; //玩家操作(客户->服务)
PACKET_SC_SMALLROCKET_PLAYEROP = 5583; //玩家操作(服务->客户)
PACKET_SC_SMALLROCKET_ROOMSTATE = 5584; //房间状态
PACKET_SC_SMALLROCKET_PLAYERTAKEGAIN = 5585; //玩家跳伞
PACKET_SC_SMALLROCKET_GAMEBILLED = 5586; //游戏结算
PACKET_SC_SMALLROCKET_ROOMPLAYERBETNUM = 5587; //当局玩家下注人数未逃离
PACKET_SC_SMALLROCKET_PlayerEnter = 5589; // 玩家进入
PACKET_SC_SMALLROCKET_PlayerLeave = 5590; // 玩家离开
PACKET_SC_SMALLROCKET_PLAYERINFO = 5591; // 玩家状态信息变化
}
//操作结果
enum OpResultCode {
OPRC_Success = 0; //成功
OPRC_Error = 1; //失败
OPRC_CoinNotEnough = 2; //钱不够
OPRC_PosAlReadyBet = 3; //本局位置已下注
}
// 下注信息
message BetDataInfo {
int64 BetVal = 1; //下注金额
float TakeMul = 2; //领取倍数
bool IsCurBet = 3; // 本局是否下注
bool IsNextBet = 4; // 下局是否下注
bool IsTakeGain = 5; // 是否收取过奖励
bool IsAutoBetAndTake = 6; // 是否自动下注收取
}
message SmallRocketPlayerData {
string Name = 1; //名字
int32 SnId = 2; //账号
int32 Head = 3; //头像
int32 Sex = 4; //性别
int64 Coin = 5; //金币
int32 HeadOutLine = 6; //头像框
int32 VIP = 7;
int32 Flag = 8; //二进制标记 第一位:是否掉线(0:在线 1:掉线) 第二位:是否准备(0:未准备 1:已准备)
int64 WinCoin = 9; // 本局赢分
repeated BetDataInfo BetDataArr = 10; //下注信息
repeated string Params = 15; //其他数据 如:ip 等
}
//房间信息
message SCSmallRocketRoomInfo {
int32 RoomId = 1; //房间id
int32 GameId = 2; //游戏id
int32 RoomMode = 3; //游戏模式
repeated int32 Params = 4; //规则参数
int32 State = 5; //房间当前状态
int32 TimeOut = 6; //该状态已经历时间 单位:秒
repeated SmallRocketPlayerData Players = 7; //房间内的玩家信息
float BombMul = 8; //爆炸倍数
int32 TotalPlayer = 9; //房间总人数
int32 TotalBetPlayer = 10; //下注总人数
repeated float RoundBoomMuHistory = 11; //5个历史倍数记录
int32 RoundId = 12; //当前局数ID
repeated int32 ParamsEx = 13; //其他参数
int32 BombRandomNum = 14; //爆炸随机数
int32 GameFreeId = 15;
int32 BaseScore = 16; //基础分
}
//玩家操作
message CSSmallRocketOp {
int32 OpCode = 1; //操作码 0:下注 1:取消下注 2:下车收取奖励 3:设置自动下注状态 4:设置自动领取 5:中断后回到游戏请求玩家信息
repeated int64 Params = 2; //操作参数 0Params[0]下注位置 0, 1 Params[1]下注金额 Params[2]收取倍数
//操作参数 1Params[0]取消下注 位置 0, 1
//操作参数 2Params[0]收取 位置 0, 1
//操作参数 3Params[0] 0:{ 0: 取消自动 1:设置为自动下注} 1Params[1]{位置} 2: Params[2]下注金额 3:Params[3]收取倍数
//操作参数 4Params[0] 0:{ 0: 取消自动 1:设置为自动下注} 1Params[1]{位置} 2: Params[2]下注金额 3:Params[3]收取倍数
//操作参数 5Params[0] 0:{ 0: 掉线 1切屏 }
}
//玩家操作返回
message SCSmallRocketOp {
int32 SnId = 1; //玩家ID
int32 OpCode = 2; //操作码
repeated int64 Params = 3; //操作参数 同上 CSSmallRocketOp
OpResultCode OpRetCode = 4; //操作结果
repeated BetDataInfo BetDataArr = 5; //下注信息
}
//房间人数变化
message SCSmallRocketBetPlayerChange {
int32 TotalBetPlayerCnt = 1; // 房间本局下注的总人数
}
//历史倍数记录
message SCSmallRoundBoomMuHistory {
repeated float RoundBoomMuHistory = 1; //5个历史倍数记录
}
//玩家获取收益跳伞
message SCSmallRocketPlayerTakeGain {
int32 SnId = 1; // 跳伞玩家
float LeaveTime = 2; // 跳伞时间
}
//发送给客户端的数据 单局结算
message SCSmallRocketRoundGameBilled {
int32 RoundId = 1; //牌局ID
float BombMul = 2; // 爆炸倍数
int64 Award = 3; //获奖金额
int64 Balance = 4; //玩家余额
repeated float RoundBoomMuHistory = 5; //5个历史倍数记录
}
//房间状态
message SCSmallRocketRoomState {
int32 State = 1; //房间当前状态
repeated float Params = 2;
}
//玩家信息
message SCSmallRocketPlayerInfo {
int32 SnId = 1; //玩家ID
int64 gainCoin = 2; //本局赢取金币
int64 Coin = 3; // 玩家金币
repeated BetDataInfo BetDataArr = 4; //下注信息
int64 GainCoinBet1 = 5; // 下注面板1获取金币
int64 GainCoinBet2 = 6; // 下注面板2获取金币
}
// 中断后接着游戏请求玩家信息
message SCSmallRocketResumePlayerInfo {
int32 SnId = 1; //玩家ID
int64 gainCoin = 2; //本局赢取金币
int64 Coin = 3; // 玩家金币
int32 TimeOut = 4; //该状态已经历时间 单位:秒
repeated BetDataInfo BetDataArr = 5; //下注信息
}
//玩家进入
//PACKET_SCSmallRocketPlayerEnter
message SCSmallRocketPlayerEnter {
SmallRocketPlayerData Data = 1;
}
//玩家离开
//PACKET_SCSmallRocketPlayerLeave
message SCSmallRocketPlayerLeave {
int32 Pos = 1; //玩家位置
}