diff --git a/server/matchserver/player/playermgr.go b/server/matchserver/player/playermgr.go index 2108684e..d3fe648c 100644 --- a/server/matchserver/player/playermgr.go +++ b/server/matchserver/player/playermgr.go @@ -74,6 +74,14 @@ func (this *playerMgr) CMLogin(hdr *f5.MsgHdr, msg *cs.CMLogin) { return } + if msg.GetZoneId() < 1 || msg.GetZoneId() > 100 || + msg.GetNodeId() < 1 || msg.GetNodeId() > 10 { + rspMsg := cs.SMLogin{} + rspMsg.Errcode = proto.Int32(3) + rspMsg.Errmsg = proto.String("zone_id or node_id error") + GetWspListener().SendProxyMsg(hdr.Conn, hdr.SocketHandle, &rspMsg) + return + } } { oldHum := this.internalGetPlayerBySocket(hdr.GetSocket())