Merge branch 'develop' into sdk
This commit is contained in:
commit
b880ac07a7
@ -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()
|
||||||
|
|||||||
@ -926,12 +926,24 @@ func Destroy() {
|
|||||||
log.Debug("palyer %d 断开连接 写入数据", k)
|
log.Debug("palyer %d 断开连接 写入数据", k)
|
||||||
return true
|
return true
|
||||||
})
|
})
|
||||||
G_GameLogicPtr.FriendMgr.SaveData()
|
if G_GameLogicPtr.FriendMgr != nil {
|
||||||
G_GameLogicPtr.RankMgr.SaveData()
|
G_GameLogicPtr.FriendMgr.SaveData()
|
||||||
G_GameLogicPtr.ChampshipMgr.SaveData()
|
}
|
||||||
G_GameLogicPtr.MailMgr.SaveData()
|
if G_GameLogicPtr.MessageMgr != nil {
|
||||||
G_GameLogicPtr.VarMgr.SaveData()
|
G_GameLogicPtr.MessageMgr.SaveData()
|
||||||
G_GameLogicPtr.MLogManager.Close()
|
}
|
||||||
|
if G_GameLogicPtr.VarMgr != nil {
|
||||||
|
G_GameLogicPtr.VarMgr.SaveData()
|
||||||
|
}
|
||||||
|
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("服务器下线完成")
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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,
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user