Merge branch 'develop' into dev_slots

This commit is contained in:
sk 2024-09-05 15:38:07 +08:00
commit e39a08bb29
13 changed files with 226 additions and 72 deletions

Binary file not shown.

View File

@ -1,8 +1,9 @@
$0@HЂ‡§
0@HЂЪД
0@­в
0@HЂк0
08@H В
 08d@Hа§
082@HАљ
$0@HЂ‡§
08d@HЂЪД
08<@­в
08(@HЂк0
08@H В
 08@Hа§
08
@HАљ

View File

@ -5,7 +5,7 @@
"RankType": 1,
"Level": 36,
"Award2Id": 2,
"Award2Num": 1000,
"Award2Num": 200,
"Award3Id": 1,
"Award3Num": 30000000
},
@ -14,7 +14,7 @@
"RankType": 1,
"Level": 31,
"Award2Id": 2,
"Award2Num": 500,
"Award2Num": 100,
"Award3Id": 1,
"Award3Num": 20000000
},
@ -23,7 +23,7 @@
"RankType": 1,
"Level": 26,
"Award2Id": 2,
"Award2Num": 300,
"Award2Num": 60,
"Award3Id": 1,
"Award3Num": 10000000
},
@ -32,7 +32,7 @@
"RankType": 1,
"Level": 21,
"Award2Id": 2,
"Award2Num": 200,
"Award2Num": 40,
"Award3Id": 1,
"Award3Num": 800000
},
@ -41,7 +41,7 @@
"RankType": 1,
"Level": 16,
"Award2Id": 2,
"Award2Num": 150,
"Award2Num": 30,
"Award3Id": 1,
"Award3Num": 500000
},
@ -50,7 +50,7 @@
"RankType": 1,
"Level": 11,
"Award2Id": 2,
"Award2Num": 100,
"Award2Num": 20,
"Award3Id": 1,
"Award3Num": 300000
},
@ -59,7 +59,7 @@
"RankType": 1,
"Level": 6,
"Award2Id": 2,
"Award2Num": 50,
"Award2Num": 10,
"Award3Id": 1,
"Award3Num": 200000
}

Binary file not shown.

View File

@ -19,6 +19,7 @@ const (
ClawDollPlayerStatePlayGame //游戏中
ClawDollPlayerStateBilled //结算
ClawDollPlayerWaitPayCoin //等待下一局投币
ClawDollPlayerAudience //观众状态
ClawDollPlayerStateMax
)
@ -58,3 +59,15 @@ const (
ClawStrong //强力抓
ClawGain //必出抓
)
const (
RoomStat_Audience = iota //观众旁观者
RoomStat_Wait //等待状态
)
// actionType : 1 禁止推流 ForbidRTCStream
// actionType : 2 恢复推流 ResumeRTCStream
const (
Zego_ForbidRTCStream = iota + 1
Zego_ResumeRTCStream = iota + 1
)

View File

@ -2,3 +2,11 @@ package clawdoll
type Logic struct {
}
type ZegoForbidRTCResp struct {
Code int64
Message string
RequestId string
Data any
Error int
}

View File

@ -2,15 +2,28 @@ package clawdoll
import (
"container/list"
"crypto/md5"
"encoding/hex"
"encoding/json"
"fmt"
"io/ioutil"
"math/rand"
"mongo.games.com/game/common"
rule "mongo.games.com/game/gamerule/clawdoll"
"mongo.games.com/game/gamesrv/base"
"mongo.games.com/game/proto"
"mongo.games.com/game/protocol/clawdoll"
"mongo.games.com/game/protocol/machine"
"mongo.games.com/game/protocol/webapi"
"mongo.games.com/goserver/core/basic"
"mongo.games.com/goserver/core/logger"
"mongo.games.com/goserver/core/netlib"
"mongo.games.com/goserver/core/task"
"mongo.games.com/goserver/core/timer"
"mongo.games.com/goserver/srvlib"
"net/http"
"net/url"
"time"
)
type PlayerData struct {
@ -84,6 +97,10 @@ func (this *SceneEx) BroadcastPlayerEnter(p *base.Player, reason int) {
pack.Data.HeadUrl = p.HeadUrl
pack.Data.Name = p.Name
if playerEx, ok := p.ExtraData.(*PlayerEx); ok {
pack.Data.Stat = playerEx.clawDollState
}
proto.SetDefaults(pack)
this.Broadcast(int(clawdoll.CLAWDOLLPacketID_PACKET_SC_PlayerEnter), pack, p.GetSid())
@ -109,9 +126,9 @@ func (this *SceneEx) OnPlayerEnter(p *base.Player, reason int) {
return
}
if this.GetPlayerNum() > 0 {
// 发送http Get请求 打开直播间流
if this.GetPlayerNum() >= 1 && this.GetPlayerNum() <= 3 {
// 发送http Get请求 恢复直播间流
//operateTask(this, 2, rule.Zego_ResumeRTCStream, p.Platform)
}
}
@ -126,9 +143,9 @@ func (this *SceneEx) OnPlayerLeave(p *base.Player, reason int) {
return
}
if this.GetPlayerNum() <= 0 {
if len(this.players) <= 0 {
// 发送http Get请求 关闭直播间流
//operateTask(this, 2, rule.Zego_ForbidRTCStream, p.Platform)
}
}
@ -413,3 +430,110 @@ func (this *SceneEx) SendToMachine(pid int, msg interface{}) {
logger.Logger.Error("MachineConn is nil !")
}
}
// actionType : 1 禁止推流 ForbidRTCStream
// actionType : 2 恢复推流 ResumeRTCStream
func operateTask(sceneEx *SceneEx, times int, actionType int, platform string) {
machineId := sceneEx.GetDBGameFree().GetId() % 6080000
machineInfo := sceneEx.GetMachineServerInfo(machineId, platform)
if machineInfo == nil {
logger.Logger.Errorf("ZegoRTCStreamAction machineId: %v, platform: %v", machineId, platform)
return
}
actionTypeStr := "NoneAction"
if actionType == rule.Zego_ForbidRTCStream {
actionTypeStr = "ForbidRTCStream"
} else {
actionTypeStr = "ResumeRTCStream"
}
logger.Logger.Tracef("ZegoRTCStreamAction: actionTypeStr: %v, machineId: %v, machineInfo: %v", actionTypeStr, machineId, machineInfo)
var resp rule.ZegoForbidRTCResp
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
resp = ZegoRTCStreamAction(actionTypeStr, machineInfo)
return nil
}), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) {
if resp.Error == 0 && resp.Code == 0 && resp.Message == "ok" {
} else {
logger.Logger.Errorf("ZegoForbidRTCResp Code: %v, Error: %v, Message: %v", resp.Code, resp.Error, resp.Message)
if times > 0 {
timer.StartTimer(timer.TimerActionWrapper(func(h timer.TimerHandle, ud interface{}) bool {
operateTask(sceneEx, times-1, actionType, platform)
return true
}), nil, time.Second*5, 1)
}
}
}), "ZegoRTCStream_Action").Start()
}
func ZegoRTCStreamAction(Action string, machineInfo *webapi.MachineInfo) rule.ZegoForbidRTCResp {
var zegoForbidRTCResp = rule.ZegoForbidRTCResp{
Error: 1,
}
timestamp := time.Now().Unix()
queryParams := url.Values{}
queryParams.Set("StreamId", "test")
queryParams.Set("Sequence", fmt.Sprintf("%d", timestamp))
// 生成16进制随机字符串(16位)
nonce := make([]byte, 8)
rand.Read(nonce)
hexNonce := hex.EncodeToString(nonce)
// 生成签名
signature := generateSignature(uint32(machineInfo.AppId), machineInfo.ServerSecret, hexNonce, timestamp)
authParams := url.Values{}
authParams.Set("AppId", fmt.Sprintf("%d", uint32(machineInfo.AppId)))
//公共参数中的随机数和生成签名的随机数要一致
authParams.Set("SignatureNonce", hexNonce)
authParams.Set("SignatureVersion", "2.0")
//公共参数中的时间戳和生成签名的时间戳要一致
authParams.Set("Timestamp", fmt.Sprintf("%d", timestamp))
authParams.Set("Signature", signature)
//authParams.Set("IsTest", "true")
// rtc-api.zego.im 表示使用的产品是云通讯产品包括了实时音视频Express Video、实时音频Express Audio、低延迟直播L3
addr := fmt.Sprintf("https://rtc-api.zego.im/?Action=%s&%s&%s", Action, authParams.Encode(), queryParams.Encode())
logger.Logger.Tracef("ZegoRTCStreamAction Get addr: %+v", addr)
rsp, err := http.Get(addr)
if err != nil {
logger.Logger.Errorf("ZegoRTCStreamAction Get err %v", err)
return zegoForbidRTCResp
}
defer rsp.Body.Close()
body, err := ioutil.ReadAll(rsp.Body)
if err != nil {
logger.Logger.Errorf("ZegoRTCStreamAction ioutil.ReadAll err %v", err)
return zegoForbidRTCResp
}
logger.Logger.Tracef("ZegoRTCStreamAction Action: %+v, body: %+v", Action, string(body))
err = json.Unmarshal(body, &zegoForbidRTCResp)
if err != nil {
zegoForbidRTCResp.Error = 5
logger.Logger.Errorf("ZegoRTCStreamAction %v %v", zegoForbidRTCResp, err.Error())
return zegoForbidRTCResp
}
zegoForbidRTCResp.Error = 0
return zegoForbidRTCResp
}
// 生成签名
// Signature=md5(AppId + SignatureNonce + ServerSecret + Timestamp)
func generateSignature(appId uint32, serverSecret, signatureNonce string, timeStamp int64) string {
data := fmt.Sprintf("%d%s%s%d", appId, signatureNonce, serverSecret, timeStamp)
h := md5.New()
h.Write([]byte(data))
return hex.EncodeToString(h.Sum(nil))
}

View File

@ -103,10 +103,7 @@ func (this *PolicyClawdoll) OnPlayerEnter(s *base.Scene, p *base.Player) {
baseScore := sceneEx.GetBaseScore()
p.ExtraData = playerEx
playerEx.Clear(baseScore)
if sceneEx.playingSnid == 0 {
//sceneEx.playingSnid = p.GetSnId()
}
//playerEx.clawDollState = rule.ClawDollPlayerAudience
p.MarkFlag(base.PlayerState_WaitNext)
p.UnmarkFlag(base.PlayerState_Ready)
@ -114,7 +111,7 @@ func (this *PolicyClawdoll) OnPlayerEnter(s *base.Scene, p *base.Player) {
//给自己发送房间信息
this.SendRoomInfo(s, p, sceneEx)
ClawdollBroadcastRoomWaitPlayers(s)
ClawdollSendRoomWaitPlayers(s, p)
ClawdollBroadcastPlayingInfo(s)
// 玩家数据发送
@ -175,7 +172,7 @@ func (this *PolicyClawdoll) OnPlayerRehold(s *base.Scene, p *base.Player) {
p.MarkFlag(base.PlayerState_Ready)
}
this.SendRoomInfo(s, p, sceneEx)
ClawdollBroadcastRoomWaitPlayers(s)
ClawdollSendRoomWaitPlayers(s, p)
ClawdollBroadcastPlayingInfo(s)
this.SendGetVideoToken(s, p, sceneEx)
@ -196,7 +193,7 @@ func (this *PolicyClawdoll) OnPlayerReturn(s *base.Scene, p *base.Player) {
p.MarkFlag(base.PlayerState_Ready)
}
this.SendRoomInfo(s, p, sceneEx)
ClawdollBroadcastRoomWaitPlayers(s)
ClawdollSendRoomWaitPlayers(s, p)
ClawdollBroadcastPlayingInfo(s)
this.SendGetVideoToken(s, p, sceneEx)
@ -329,7 +326,7 @@ func ClawdollSendPlayerInfo(s *base.Scene) {
}
// 广播房间里所有等待玩家信息
func ClawdollBroadcastRoomWaitPlayers(s *base.Scene) {
func ClawdollSendRoomWaitPlayers(s *base.Scene, p *base.Player) {
pack := &clawdoll.CLAWDOLLWaitPlayers{}
if sceneEx, ok := s.ExtraData.(*SceneEx); ok {
@ -341,13 +338,14 @@ func ClawdollBroadcastRoomWaitPlayers(s *base.Scene) {
Head: proto.Int32(playerEx.Head),
HeadUrl: proto.String(playerEx.HeadUrl),
Name: proto.String(playerEx.Name),
Stat: proto.Int32(playerEx.clawDollState),
}
pack.WaitPlayersInfo = append(pack.WaitPlayersInfo, pd)
}
}
s.Broadcast(int(clawdoll.CLAWDOLLPacketID_PACKET_SC_WAITPLAYERS), pack, 0)
p.SendToClient(int(clawdoll.CLAWDOLLPacketID_PACKET_SC_WAITPLAYERS), pack)
}
}

View File

@ -118,7 +118,7 @@ func init() {
}
switch d := scene.ExtraData.(type) {
case tienlen.TienLenSceneData:
case *tienlen.TienLenSceneData:
for k := range d.BilledList {
pack.SnId = append(pack.SnId, k)
}

View File

@ -1004,6 +1004,7 @@ type CLAWDOLLPlayerDigestInfo struct {
Head int32 `protobuf:"varint,2,opt,name=Head,proto3" json:"Head,omitempty"` //头像
HeadUrl string `protobuf:"bytes,3,opt,name=HeadUrl,proto3" json:"HeadUrl,omitempty"` //头像
Name string `protobuf:"bytes,4,opt,name=Name,proto3" json:"Name,omitempty"` //名字
Stat int32 `protobuf:"varint,5,opt,name=Stat,proto3" json:"Stat,omitempty"` //玩家状态 0排队状态 5:大厅观众状态
}
func (x *CLAWDOLLPlayerDigestInfo) Reset() {
@ -1066,6 +1067,13 @@ func (x *CLAWDOLLPlayerDigestInfo) GetName() string {
return ""
}
func (x *CLAWDOLLPlayerDigestInfo) GetStat() int32 {
if x != nil {
return x.Stat
}
return 0
}
var File_clawdoll_proto protoreflect.FileDescriptor
var file_clawdoll_proto_rawDesc = []byte{
@ -1167,47 +1175,48 @@ var file_clawdoll_proto_rawDesc = []byte{
0x6c, 0x61, 0x77, 0x64, 0x6f, 0x6c, 0x6c, 0x2e, 0x43, 0x4c, 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c,
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x0f, 0x57, 0x61, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66,
0x6f, 0x22, 0x70, 0x0a, 0x18, 0x43, 0x4c, 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a,
0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49,
0x64, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12,
0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e,
0x61, 0x6d, 0x65, 0x2a, 0xfd, 0x02, 0x0a, 0x10, 0x43, 0x4c, 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c,
0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x41, 0x43, 0x4b,
0x45, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x49, 0x4e, 0x46, 0x4f, 0x10,
0xe1, 0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f,
0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0xe2, 0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f,
0x50, 0x10, 0xe3, 0x2b, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53,
0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0xe4, 0x2b, 0x12, 0x19,
0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45,
0x42, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xe5, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x65, 0x72, 0x10, 0xe6, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x10, 0xe7,
0x2b, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50,
0x4c, 0x41, 0x59, 0x45, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe8, 0x2b, 0x12, 0x17, 0x0a, 0x12,
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x4f, 0x4b,
0x45, 0x4e, 0x10, 0xe9, 0x2b, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x53, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0xea, 0x2b, 0x12,
0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x41, 0x49,
0x54, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0xeb, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x50, 0x4c, 0x41,
0x59, 0x45, 0x52, 0x53, 0x10, 0xec, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x49, 0x4e, 0x47, 0x49, 0x4e, 0x46, 0x4f,
0x10, 0xed, 0x2b, 0x2a, 0x64, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43,
0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x63,
0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72,
0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f,
0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x02, 0x12, 0x1a, 0x0a,
0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x6f, 0x73, 0x41, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79,
0x50, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x42, 0x28, 0x5a, 0x26, 0x6d, 0x6f, 0x6e,
0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x63, 0x6c, 0x61, 0x77, 0x64,
0x6f, 0x6c, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x6f, 0x22, 0x84, 0x01, 0x0a, 0x18, 0x43, 0x4c, 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x50, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12,
0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e,
0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72,
0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c,
0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01,
0x28, 0x05, 0x52, 0x04, 0x53, 0x74, 0x61, 0x74, 0x2a, 0xfd, 0x02, 0x0a, 0x10, 0x43, 0x4c, 0x41,
0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x0f, 0x0a,
0x0b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x17,
0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d,
0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe1, 0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0xe2, 0x2b,
0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c,
0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0xe3, 0x2b, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x53, 0x54, 0x41, 0x54, 0x45,
0x10, 0xe4, 0x2b, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43,
0x5f, 0x47, 0x41, 0x4d, 0x45, 0x42, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xe5, 0x2b, 0x12, 0x1a,
0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xe6, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65,
0x61, 0x76, 0x65, 0x10, 0xe7, 0x2b, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe8,
0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47,
0x45, 0x54, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0xe9, 0x2b, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x54, 0x4f, 0x4b, 0x45,
0x4e, 0x10, 0xea, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43,
0x53, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0xeb, 0x2b,
0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x41,
0x49, 0x54, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0xec, 0x2b, 0x12, 0x1a, 0x0a, 0x15,
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x49, 0x4e,
0x47, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xed, 0x2b, 0x2a, 0x64, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43,
0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50,
0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50,
0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68,
0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x6f, 0x73, 0x41, 0x6c,
0x52, 0x65, 0x61, 0x64, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x42, 0x28,
0x5a, 0x26, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f,
0x63, 0x6c, 0x61, 0x77, 0x64, 0x6f, 0x6c, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -130,4 +130,5 @@ message CLAWDOLLPlayerDigestInfo {
int32 Head = 2; //
string HeadUrl = 3; //
string Name = 4; //
int32 Stat = 5; // 0 5:
}

View File

@ -183,9 +183,9 @@ func (m *SceneMgr) MarshalAllRoom(platform string, groupId, gameId int, gameMode
((s.gameId == gameId && s.gameMode == gameMode) || gameId == 0) &&
(s.sceneId == sceneId || sceneId == 0) && (s.groupId == int32(groupId) || groupId == 0) &&
(s.dbGameFree.GetId() == gameFreeId || gameFreeId == 0) &&
(s.sceneMode == sceneMode || sceneMode == -1)) || isNeedFindAll &&
(s.sceneMode == sceneMode || sceneMode == -1) &&
((s.IsCustom() && isCustom) || !isCustom) &&
(s.GetRoomConfigId() == roomConfigId || roomConfigId == 0) {
(s.GetRoomConfigId() == roomConfigId || roomConfigId == 0)) || isNeedFindAll {
var platformName string
if s.limitPlatform != nil {
platformName = s.limitPlatform.IdStr

Binary file not shown.