game_sync/protocol/luckydice/luckydice.proto

147 lines
5.4 KiB
Protocol Buffer

syntax = "proto3";
package luckydice;
option go_package = "mongo.games.com/game/protocol/luckydice";
//幸运骰子
enum LuckyDicePacketID {
PACKET_LUCKYDICE_ZERO = 0; //弃用消息号
PACKET_SC_LUCKYDICE_ROOMINFO = 5280; //房间信息
PACKET_CS_LUCKYDICE_PLAYEROP = 5281; //玩家操作(客户->服务)
PACKET_SC_LUCKYDICE_PLAYEROP = 5282; //玩家操作(服务->客户)
PACKET_SC_LUCKYDICE_ROOMSTATE = 5283; //房间状态
PACKET_SC_LUCKYDICE_BETCHANGE = 5284; //投注变化
PACKET_SC_LUCKYDICE_GAMEBILLED = 5285; //游戏结算
PACKET_SC_LUCKYDICE_PLAYERHISTORY = 5286; //玩家押注记录
PACKET_SC_LUCKYDICE_ROUNDBETDATA = 5287; //单局押注记录
PACKET_SC_LUCKYDICE_DICEHISTORY = 5288; //牌局骰子记录
}
//操作结果
enum OpResultCode {
OPRC_Sucess = 0; //成功
OPRC_Error = 1; //失败
OPRC_CoinNotEnough = 2; //钱不够
}
message LuckyDicePlayerData {
string Name = 1; //名字
int32 SnId = 2; //账号
int32 Head = 3; //头像
int32 Sex = 4; //性别
int64 Coin = 5; //金币
int32 HeadOutLine = 6; //头像框
int32 VIP = 7;
int64 Bet = 8; //下注金额
int32 BetSide = 9; //押大押小 0大 1小
int64 Award = 10; //奖金
repeated string Params = 11; //其他数据 如:ip 等
}
message LuckyDiceRoundSimpleInfo {
int32 WinSide = 1; //赢大赢小 0大 1小
int32 RoundId = 2; //当局ID
}
//房间信息
message SCLuckyDiceRoomInfo {
int32 RoomId = 1; //房间id
int32 GameId = 2; //游戏id
int32 RoomMode = 3; //游戏模式
repeated int32 Params = 4; //规则参数
int32 State = 5; //房间当前状态
int32 TimeOut = 6; //该状态已经历时间 单位:秒
repeated int32 StateTimes = 7; //各状态总时间
repeated int32 Dices = 8; //骰子值 展示结果状态用
repeated int64 TotalBet = 9; //总投注:[0]押大总投注 [1]押小总投注
repeated int32 TotalPlayer = 10; //总人数:[0]押大总人数 [1]押小总人数
repeated LuckyDiceRoundSimpleInfo RoundHistory = 11; //17个历史牌局输赢结果 0大 1小
int32 RoundId = 12; //当前局数ID
repeated LuckyDicePlayerData Players = 13; //房间内的玩家信息
repeated int32 ParamsEx = 14; //其他参数
int32 GameFreeId = 15;
}
//玩家操作
message CSLuckyDiceOp {
int32 OpCode = 1; //操作码 0:押注 1:查看自己历史下注 2:查看某局下注结果 3:查看近100局骰子值
repeated int64 Params = 2; //操作参数 0押注:Params[0]投注金额[1]押大押小 2查看下注:Params[0]牌局Id
}
//玩家操作返回
message SCLuckyDiceOp {
int32 SnId = 1; //玩家ID
int32 OpCode = 2; //操作码
repeated int64 Params = 3; //操作参数 0押注:Params[0]投注总金额;Params[1]玩家余额
OpResultCode OpRetCode = 4; //操作结果
}
//投注变化
message SCLuckyDiceBetChange {
repeated int64 TotalBet = 1; //总投注:[0]押大总投注 [1]押小总投注
repeated int32 TotalPlayer = 2; //总人数:[0]押大总人数 [1]押小总人数
}
//发送给客户端的数据 结算
message SCLuckyDiceGameBilled {
int32 RoundId = 1; //牌局ID
repeated int32 Dices = 2; //骰子值
int64 Bet = 3; //总下注
int64 Refund = 4; //返还押注数
int64 Award = 5; //获奖金额
int64 Balance = 6; //玩家余额
}
// 玩家押注记录信息
message LuckyDicePlayerHistoryInfo{
int32 RoundId = 1; //牌局id
int64 CreatedTime = 2; //时间
repeated int32 Dices = 3; //骰子值
int32 BetSide = 4; //押大押小 0大 1小
int64 Bet = 5; //总下注
int64 Refund = 6; //返还押注数
int64 Award = 7; //获奖金额
}
// 玩家押注记录
message SCLuckyDicePlayerHistory{
repeated LuckyDicePlayerHistoryInfo PlayerHistory = 1;
}
message LuckyDiceRoundPlayerBet{
int64 BetTime = 1; //押注时间
string UserName = 2; //昵称
int64 Bet = 3; //总下注
int64 Refund = 4; //返还押注数
}
// 单局押注记录
message SCLuckyDiceRoundBetHistory{
int32 RoundId = 1; //牌局id
repeated int32 Dices = 2; //骰子值
repeated int64 TotalBet = 3; //所有人总押注 [0]押大总数 [1]押小总数
repeated LuckyDiceRoundPlayerBet BigBetters = 4; //押大玩家列表
repeated LuckyDiceRoundPlayerBet SmallBetters = 5; //押小玩家列表
}
// 牌局骰子记录
message SCLuckyDiceDiceHistory{
repeated int32 Dice1 = 1; //骰子1
repeated int32 Dice2 = 2; //骰子2
repeated int32 Dice3 = 3; //骰子3
}
// 大奖记录信息
message LuckyDiceWinRankInfo{
int32 RankIndex = 1; //排行id
int64 TotalWin = 2; //总赢分
string UserName = 3; //昵称
}
// 大奖记录
message SCLuckyDiceWinRank{
repeated LuckyDiceWinRankInfo WinRank = 1;
}
//房间状态
message SCLuckyDiceRoomState {
int32 State = 1; //房间当前状态
repeated int32 Params = 2;
}