http://blog.csdn.net/xufeng0991/article/details/48138625
接入第三方渠道后的手游登录流程
一、客户端登录渠道
流程:
1.玩家从客户端输入user_name和password
2.登录成功后,返回一个token
传入:app_id、app_key、user_name、password
返回:token
说明:app_id、app_key是由游戏制作方向渠道接入sdk时申请的
user_name和password是由玩家申请的,有些会支持游客登录
二、获取服务器列表
流程:
1.登录成功后,获取服务器的server_list
2.在客户端显示该服务器列表
返回:server_list
说明:游戏服务器列表一般是通过配置在客户端的一个链接(web服务器)直接获取的
这个配置文件在资源更新时进行更新
三、连接登录服务器
流程:
1.玩家在客户端的服务器列表中选择服务器登录
2.通过选择的服务器获得登录服务器的ip和port
3.登录获取游戏服务器的ip和port
传入:token
返回:登录服务器、游戏服务器的ip和port
四、认证服务器验证token
流程:
1.登录服务器收到客户端传入的token
2.登录服务器将token发给认证服务器,拿给渠道进行验证
3.渠道认证成功后,会返回一个aid,然后保存认证信息(登录游戏服务器时会用到)
4.登录服务器根据负载均衡向客户端返回一个ip和port
传入:token
渠道返回给认证服务器:aid
认证服务器返回给登录服务器:认证结果、aid
登录服务器返回:aid、ip和port
说明:
渠道认证一般也是一个链接,在渠道的开发文档中会给出
如果客户端选择是游客登录,以后绑定账号时aid也不会改变,除非是更换了设备,或者卸载游戏重新安装
保存认证信息是为了保证防止玩家在没有通过认证的情况下直接登录游戏服务器
大型手游一般后台会有多台游戏服务器,登录服务器会根据负载均衡分配一台给玩家登录
五、客户端连接游戏服务器
流程:
1.客户端拿到登录服务器返回的aid、ip和port后,断开和登录服务器的链接
2.客户端使用新的ip、port登录游戏服务器
传入:aid
六、游戏服务器下发
流程:
1.拿到aid后,认证服务器验证该玩家是否登录
2.认证服务器认证成功后,返回该玩家的角色信息
3.进入游戏
返回:角色信息
这个过程中涉及到三方:客户端、渠道、服务端
服务端分为三种:认证服务器、登录服务器、游戏服务器
图示: