角色登陆流程
2020-04-22 10:37:04   2  举报             
     
         
 游戏登陆流程
    作者其他创作
 大纲/内容
 根据key查找角色id
  创建失败
  center
  login
  更新服务器对应的角色信息,如角色名等
  若加载成功写入redis
    GTS2CS_LoginAck
  记录本次登陆的服务器id
  设置user可见服务器列表
  从sessionMgr中清除
  NET_Connect
  关联key到角色id
  S2C_CreateRoleFail
  GTS2OS_Enter
  CS2LS_CreateRoleNtf
  client session 关联角色id
  socket连接
  LS2CS_Login
  从redis加载角色
  获得userid及各服角色名
  角色初始化
  主动断线
  S2C_EnterGame 通知登陆成功
  S2C_Enter
  携带svrid
  携带key
  GTS2OS_KickAck
  是否需要排队
  db
  CS2OS_Online
  OS2CS_CreateRoleNtf
  若玩家不在线
  检测白名单
  C2S_CreateRole
  C2S_Register
  回复userid及可用服务器列表
  OS2GTS_Kick
  同步Key及gate的IP和Port
  产生key
  gate
  更新角色信息,如gate id、clent session id等
  角色是否重名
  修改在线数量
  判断是否成功
  S2C_LoginAck
  OS2DB_CreateRole
  OS2CS_OnlineAck
  分配gate
  获得角色流程
  角色创建流程
  根据角色id角色信息
  账号验证流程
  GTS2CS_Authen
  成功
  保存账号到mysql,生成userid
  添加session到管理器
  S2C_AuthenAck
  redis中不存在
  踢掉旧的连接
  object
  S2C_DuplicateLogin
  client
  角色id关联client session id、userid、objid
  根据角色id选择表
  角色不存在
  CS2LS_LoginAck
  检测并设置登陆的服务器
  C2S_Authen
  若存在,从redis加载角色
  计算角色id
  玩家是否在线
  不存在从mysql加载
  S2C_CreateRoleNtf 转角色创建流程
  CS2GTS_Login
  不存在,通知client创建,转角色创建流程
  OS2DB_RoleExist
  根据角色id计算userid
  更新角色信息绑定新key
  角色登陆流程
  断开Login
  DB2OS_CreateRoleAck
  服务器人数是否已满
  注册流程
  查看reids中是否存在
  GTS2CS_Logout
  初始化各模块数据
  若玩家当前在线,顶号
  S2C_Blocked 被封停
  LS2C_EnterAck
  服务器是否禁止创建角色
  CS2GTS_AuthenAck
  DB2OS_RoleExistAck
  C2S_Login
  C2S_Link
  插入角色到mysql
   
 
 
 
 
  0 条评论
 下一页
  
   
   
  
  
  
  
  
  
  
  
 