From bee588b7ea5aadd85c7f2ed6b7493d81c2670c58 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 5 Feb 2024 17:08:28 +0800 Subject: [PATCH] 1 --- server/hallserver/room/room.go | 10 ++++++++-- server/hallserver/room/roommgr.go | 7 +++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/server/hallserver/room/room.go b/server/hallserver/room/room.go index 49c92f56..4bbe0e09 100644 --- a/server/hallserver/room/room.go +++ b/server/hallserver/room/room.go @@ -23,6 +23,7 @@ type room struct { nodeId int32 passwd string maxTeamNum int32 + maxObTeamNum int32 } owner *member roomState int32 @@ -50,7 +51,12 @@ func (this *room) init(roomId string, roomIdx int64, owner common.Player, msg *c this.config.zoneId = msg.GetZoneId() this.config.nodeId = msg.GetNodeId() this.config.passwd = msg.GetPasswd() - this.config.maxTeamNum = constant.ROOM_MAX_TEAM_NUM + if msg.GetMapId() == 12004 { + this.config.maxTeamNum = 2 + } else { + this.config.maxTeamNum = 10 + } + this.config.maxObTeamNum = 10 this.owner = newMember(this, owner) this.addMember(this.owner) this.addTeam(newTeam(this, this.genTeamId(), msg.GetTeamUuid(), this.owner)) @@ -189,7 +195,7 @@ func (this *room) isTeamFull() bool { } func (this *room) isObTeamFull() bool { - return this.getObTeamNum() >= this.config.maxTeamNum + return this.getObTeamNum() >= this.config.maxObTeamNum } func (this *room) join(hum common.Player, msg *cs.CMJoinRoom) bool { diff --git a/server/hallserver/room/roommgr.go b/server/hallserver/room/roommgr.go index 810fa998..e5f4fa7c 100644 --- a/server/hallserver/room/roommgr.go +++ b/server/hallserver/room/roommgr.go @@ -216,6 +216,13 @@ func (this *roomMgr) CMEnterObserver(hdr *f5.MsgHdr, msg *cs.CMEnterObserver) { return; } + if roomPtr.isObTeamFull() { + rspMsg.Errcode = proto.Int32(3) + rspMsg.Errmsg = proto.String("ob team is full") + hum.SendMsg(&rspMsg) + return + } + t := memberPtr.team roomPtr.removeTeam(t) roomPtr.addObTeam(t)