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