角色登陆流程
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 条评论
下一页