Merge branch 'develop' into sdk

This commit is contained in:
hahwu 2026-01-26 17:35:33 +08:00
commit b880ac07a7
5 changed files with 39 additions and 9 deletions

View File

@ -156,7 +156,7 @@ func (w *fileLogWriter) doRotate() error {
// return error if the last file checked still existed // return error if the last file checked still existed
if err == nil { if err == nil {
return fmt.Errorf("rotate: cannot find free log number to rename %s", w.Filename) //return fmt.Errorf("rotate: cannot find free log number to rename %s", w.Filename)
} }
w.fileWriter.Close() w.fileWriter.Close()

View File

@ -926,12 +926,24 @@ func Destroy() {
log.Debug("palyer %d 断开连接 写入数据", k) log.Debug("palyer %d 断开连接 写入数据", k)
return true return true
}) })
if G_GameLogicPtr.FriendMgr != nil {
G_GameLogicPtr.FriendMgr.SaveData() G_GameLogicPtr.FriendMgr.SaveData()
G_GameLogicPtr.RankMgr.SaveData() }
G_GameLogicPtr.ChampshipMgr.SaveData() if G_GameLogicPtr.MessageMgr != nil {
G_GameLogicPtr.MailMgr.SaveData() G_GameLogicPtr.MessageMgr.SaveData()
}
if G_GameLogicPtr.VarMgr != nil {
G_GameLogicPtr.VarMgr.SaveData() G_GameLogicPtr.VarMgr.SaveData()
G_GameLogicPtr.MLogManager.Close() }
if G_GameLogicPtr.ChampshipMgr != nil {
G_GameLogicPtr.ChampshipMgr.SaveData()
}
if G_GameLogicPtr.MailMgr != nil {
G_GameLogicPtr.MailMgr.SaveData()
}
if G_GameLogicPtr.RankMgr != nil {
G_GameLogicPtr.RankMgr.SaveData()
}
} }
log.Debug("服务器下线完成") log.Debug("服务器下线完成")
} }

View File

@ -119,6 +119,7 @@ func HandleClientReq(args []interface{}) {
G_GameLogicPtr.SendServerVersion(a) G_GameLogicPtr.SendServerVersion(a)
case "ReqRegisterAccount": case "ReqRegisterAccount":
detail := &msg.ReqRegisterAccount{} detail := &msg.ReqRegisterAccount{}
log.Debug("player %s start login", detail.UserName)
proto.Unmarshal(buf, detail) proto.Unmarshal(buf, detail)
gl := G_getGameLogic() gl := G_getGameLogic()
defer func() { defer func() {
@ -181,16 +182,18 @@ func HandleClientReq(args []interface{}) {
db.UpdateAccountInfoDeviceToDb(accountInfo) db.UpdateAccountInfoDeviceToDb(accountInfo)
p, _ := internal.Agents.Load(a) p, _ := internal.Agents.Load(a)
if p != nil { if p != nil {
p.(*Player).lock.Lock() //加锁
defer p.(*Player).lock.Unlock() //解锁
log.Debug("player %s login success", detail.UserName) log.Debug("player %s login success", detail.UserName)
p.(*Player).PlayMod.getBaseMod().DiviceId = detail.Device //加锁 p.(*Player).PlayMod.getBaseMod().DiviceId = detail.Device //加锁
p.(*Player).PushClientRes(ResLogin) p.(*Player).PushClientRes(ResLogin)
p.(*Player).LoginBackData() p.(*Player).LoginBackData()
p.(*Player).TeLog("Login_log", nil) p.(*Player).TeLog("Login_log", nil)
p.(*Player).ProcessTrigger()
} }
if newPlayer { if newPlayer {
log.Debug("uid : %d, init user process : %s, execTime : %v , isNew: %v", p.(*Player).M_DwUin, m.GetFunc(), time.Since(start), newPlayer) log.Debug("uid : %d, init user process : %s, execTime : %v , isNew: %v", p.(*Player).M_DwUin, m.GetFunc(), time.Since(start), newPlayer)
} }
p.(*Player).ProcessTrigger()
case "ReqServerTime": // 获取服务器时间 case "ReqServerTime": // 获取服务器时间
detail := &msg.ReqServerTime{} detail := &msg.ReqServerTime{}
proto.Unmarshal(buf, detail) proto.Unmarshal(buf, detail)

View File

@ -286,6 +286,9 @@ func ComsumerMsgHandler(data *msg.Msg) (interface{}, error) {
messages.mu.Lock() messages.mu.Lock()
defer messages.mu.Unlock() defer messages.mu.Unlock()
for i, msgItem := range messages.Messages { for i, msgItem := range messages.Messages {
if msgItem == nil {
continue
}
if msgItem.UniKey == data.UniKey { if msgItem.UniKey == data.UniKey {
// 删除消息 // 删除消息
messages.Messages = append(messages.Messages[:i], messages.Messages[i+1:]...) messages.Messages = append(messages.Messages[:i], messages.Messages[i+1:]...)
@ -766,6 +769,12 @@ func FriendMgrSend(m1 *msg.Msg) error {
// 异步发送消息到指定节点 节点不在线则保存消息 // 异步发送消息到指定节点 节点不在线则保存消息
func sendMessageAsync(m *msg.Msg, node int) error { func sendMessageAsync(m *msg.Msg, node int) error {
defer func() {
if r := recover(); r != nil {
log.Error("message_mgr fatal : sendMessageAsync err:%s", fmt.Sprintf("fatal : %s", r))
GoUtil.SendFeishuFatal(0, "sendMessageAsync", fmt.Sprintf("fatal : %s", r))
}
}()
log.Debug("[Middleware] Send Async message to node: %d, message: %v", node, m) log.Debug("[Middleware] Send Async message to node: %d, message: %v", node, m)
err := mergeCluster.SendServerMsg(m, node) err := mergeCluster.SendServerMsg(m, node)
if err != nil && GoUtil.InArray(m.HandleType, save_msg_type) { if err != nil && GoUtil.InArray(m.HandleType, save_msg_type) {
@ -778,6 +787,12 @@ func sendMessageAsync(m *msg.Msg, node int) error {
// 同步消息到指定节点 节点不在线则保存消息 // 同步消息到指定节点 节点不在线则保存消息
func sendMessageSync(m *msg.Msg, node int) (*msg.Msg, error) { func sendMessageSync(m *msg.Msg, node int) (*msg.Msg, error) {
defer func() {
if r := recover(); r != nil {
log.Error("message_mgr fatal : sendMessageSync err:%s", fmt.Sprintf("fatal : %s", r))
GoUtil.SendFeishuFatal(0, "sendMessageSync", fmt.Sprintf("fatal : %s", r))
}
}()
log.Debug("[Middleware] Send Sync message to node: %d, message: %v", node, m) log.Debug("[Middleware] Send Sync message to node: %d, message: %v", node, m)
msg, err := mergeCluster.CallServerMsg(m, node) msg, err := mergeCluster.CallServerMsg(m, node)
if err != nil && conf.Server.ServerType == "center" && GoUtil.InArray(m.HandleType, save_msg_type) { if err != nil && conf.Server.ServerType == "center" && GoUtil.InArray(m.HandleType, save_msg_type) {

View File

@ -152,7 +152,7 @@ func (player *Player) TriggerShippingOrderOrigin(req *msg.ReqShippingOrder) {
"Price": OrderData.Price, "Price": OrderData.Price,
"PayType": OrderData.PayType, "PayType": OrderData.PayType,
} }
player.Kafka("pay", orderDataMap) player.TeLog("pay", orderDataMap)
player.PushClientRes(&msg.ResShippingOrder{ player.PushClientRes(&msg.ResShippingOrder{
Code: msg.RES_CODE_SUCCESS, Code: msg.RES_CODE_SUCCESS,
}) })