1.离线玩家数据加分布式锁操作

2.修复聊天记录错乱
3.修复重启服务器后无法登录
This commit is contained in:
flswld
2023-02-12 23:47:44 +08:00
parent 0b3c075402
commit ddecfdea12
11 changed files with 108 additions and 35 deletions
+9 -1
View File
@@ -263,10 +263,18 @@ func (g *GameManager) Close() {
Msg: saveUserIdList,
}
<-EXIT_SAVE_FIN_CHAN
// 单纯的告诉网关下线玩家
// 告诉网关下线玩家并全服广播玩家离线
userList := USER_MANAGER.GetAllOnlineUserList()
for _, player := range userList {
g.KickPlayer(player.PlayerID, kcp.EnetServerShutdown)
MESSAGE_QUEUE.SendToAll(&mq.NetMsg{
MsgType: mq.MsgTypeServer,
EventId: mq.ServerUserOnlineStateChangeNotify,
ServerMsg: &mq.ServerMsg{
UserId: player.PlayerID,
IsOnline: false,
},
})
}
time.Sleep(time.Second)
}