日志
This commit is contained in:
parent
ab269ac8a6
commit
104ab707a6
@ -147,6 +147,7 @@ func HandleClientReq(args []interface{}) {
|
||||
data, _ := proto.Marshal(ResRegisterAccount)
|
||||
gl.PackResInfo(a, "ResRegisterAccount", data)
|
||||
case "ReqLogin":
|
||||
now := time.Now().UnixMilli()
|
||||
detail := &msg.ReqLogin{}
|
||||
proto.Unmarshal(buf, detail)
|
||||
accountInfo := db.GetAccountInfoFromDb(detail.UserName)
|
||||
@ -162,11 +163,13 @@ func HandleClientReq(args []interface{}) {
|
||||
G_GameLogicPtr.PackLoginResInfo(a, ResLogin)
|
||||
return
|
||||
}
|
||||
newPlayer := false
|
||||
if ResLogin.DwUin > 0 {
|
||||
PlayerInfo := G_GameLogicPtr.GetPlayer(ResLogin.DwUin)
|
||||
err := G_GameLogicPtr.ReplaceExistPlayerAndAgent(a, PlayerInfo)
|
||||
if err != nil {
|
||||
PlayerInfo = G_GameLogicPtr.CreateNewPlayer(a, detail.UserName)
|
||||
newPlayer = true
|
||||
}
|
||||
if PlayerInfo.PlayMod.getBaseMod().IdCardName == "" && conf.Server.IdVerify {
|
||||
ResLogin.ResultCode = MergeConst.Protocol_Error_Id_Not_Verify
|
||||
@ -184,6 +187,8 @@ func HandleClientReq(args []interface{}) {
|
||||
p.(*Player).LoginBackData()
|
||||
p.(*Player).TeLog("Login_log", nil)
|
||||
}
|
||||
execTime := time.Now().UnixMilli() - now
|
||||
log.Debug("uid : %d, func : %s, execTime : %d ms, isNew: %v", p.(*Player).M_DwUin, m.GetFunc(), execTime, newPlayer)
|
||||
p.(*Player).ProcessTrigger()
|
||||
case "ReqServerTime": // 获取服务器时间
|
||||
detail := &msg.ReqServerTime{}
|
||||
@ -219,15 +224,13 @@ func HandleClientReq(args []interface{}) {
|
||||
}
|
||||
p.(*Player).ProcessTrigger()
|
||||
execTime := time.Now().UnixMilli() - now
|
||||
if execTime > int64(500) {
|
||||
log.Warn("uid : %d, func : %s, execTime : %d ms", p.(*Player).M_DwUin, m.GetFunc(), execTime)
|
||||
log.Debug("uid : %d, func : %s, execTime : %d ms", p.(*Player).M_DwUin, m.GetFunc(), execTime)
|
||||
p.(*Player).TeLog("Long_Method_Log", map[string]interface{}{
|
||||
"method_name": m.GetFunc(),
|
||||
"exec_time": execTime,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
p, b := internal.Agents.Load(a)
|
||||
if b {
|
||||
p.(*Player).SendClientRes()
|
||||
|
||||
@ -92,7 +92,7 @@ func (p *PlayerChessData) UpdatePlayerChessData(player *Player, buf []byte) erro
|
||||
for _, v := range update.MChessHandle {
|
||||
HandleStr += fmt.Sprintf("%v-%v-%v,", v.Id, v.ChessId, v.Type)
|
||||
}
|
||||
log.Debug("棋子数据不一致, %v===%v===%v===%v", HandleStr, LastMap, update.MChessData, player.PlayMod.getChessMod().GetChessList())
|
||||
log.Debug("棋子数据不一致地图, %v===%v===%v===%v", HandleStr, LastMap, update.MChessData, player.PlayMod.getChessMod().GetChessList())
|
||||
player.SendErrClienRes(res)
|
||||
player.TeLog("outsync_event", map[string]interface{}{
|
||||
"outsync_event": "UpdatePlayerChessDataFunc",
|
||||
@ -118,7 +118,7 @@ func (p *PlayerChessData) UpdateChessData(player *Player, MChessData map[string]
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: "棋子数据不一致",
|
||||
}
|
||||
log.Debug("棋子数据不一致, %v---%v", p.Data.MChessData, player.PlayMod.getChessMod().GetChessList())
|
||||
log.Debug("棋子数据不一致地图, %v---%v", p.Data.MChessData, player.PlayMod.getChessMod().GetChessList())
|
||||
player.SendErrClienRes(res)
|
||||
player.TeLog("outsync_event", map[string]interface{}{
|
||||
"outsync_event": "UpdatePlayerChessDataFunc",
|
||||
@ -165,7 +165,47 @@ func (p *PlayerChessData) checkChessEqual(player *Player) bool {
|
||||
for _, v := range p.Data.MChessData {
|
||||
bCopy = append(bCopy, int(v))
|
||||
}
|
||||
return SlicesEqual(aCopy, bCopy)
|
||||
isEqual := SlicesEqual(aCopy, bCopy)
|
||||
|
||||
if isEqual {
|
||||
return true
|
||||
}
|
||||
// 找出aCopy多的元素和少的元素
|
||||
aMap := make(map[int]int)
|
||||
bMap := make(map[int]int)
|
||||
|
||||
for _, v := range aCopy {
|
||||
aMap[v]++
|
||||
}
|
||||
for _, v := range bCopy {
|
||||
bMap[v]++
|
||||
}
|
||||
|
||||
extra := make([]int, 0)
|
||||
missing := make([]int, 0)
|
||||
|
||||
// 找出aCopy多的元素
|
||||
for k, v := range aMap {
|
||||
if bMap[k] < v {
|
||||
for i := 0; i < v-bMap[k]; i++ {
|
||||
extra = append(extra, k)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 找出aCopy少的元素
|
||||
for k, v := range bMap {
|
||||
if aMap[k] < v {
|
||||
for i := 0; i < v-aMap[k]; i++ {
|
||||
missing = append(missing, k)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if len(extra) > 0 || len(missing) > 0 {
|
||||
log.Debug("棋子数据对比: aCopy多的元素=%v, aCopy少的元素=%v", extra, missing)
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// 棋子操作
|
||||
|
||||
Loading…
Reference in New Issue
Block a user