游戏登录过程在玩家的眼里是非常简单的,只需要点一下登陆按钮即可;
实际上这个过程没有想象的那么简单,特别是在手游中,一般会加入第三方渠道之后;
下面就把这个登录的整个过程写下来。
一 登录渠道(客户端)
流程:
1 客户端输入渠道账号user_name和密码password;
2 登录,登录SDK成功之后,会返回一个token;
3 保存token;
传入:app_id、app_key、user_name、password
返回:token
说明:
app_id和app_key是游戏制作方在接入渠道sdk时申请的;
user_name和password需要游戏玩家自己申请,有的渠道支持游客登录。
二 获取服务器列表(客户端)
流程
1 登录成功之后可以获取服务器列表server_list;
2 显示服务器列表;
返回:server_list
说明:
游戏服务器列表一般是通过配置在客户端的一个链接直接获取的;
这个配置文件可以通过资源更新的方式更新。
三 链接登录服(客户端)
1 客户端选择服务器;
2 通过选择的服务器可以得到登录服的ip和port;
3 登录获取游戏服的ip和端口;
传入:token
返回:ip、port
说明:
在登录成功之后会返回游戏服服的ip和port。
四 验证token(服务端)
1 登录服拿到客户端传入的token;
2 将token传给认证服,拿给渠道验证;
3 渠道验证成功之后会返回aid,然后保存认证信息(登录游戏服的时候会用到);
4 根据负载均衡分配游戏服ip和port,返回给客户端;
传入:app_id、app_key、token
渠道返回:aid
返回给客户端:ip、port、aid
说明:
渠道验证一般也是一个链接,在渠道的开发文档中会给出;
如果客户端用的是游客账号登录,以后绑定账号之后aid也不会改变,除非是更换了设备,或者卸载游戏重新安装;
保存认证信息是为了防止玩家在没有通过认证的情况下直接登录游戏服,
大型手游后端会有多台游戏服务器,登录服会根据负载均衡分配一台游戏服给玩家。
五 链接游戏服(客户端)
1 拿到登录服返回的ip和port及aid之后断开与登录服的链接;
2 拿新的ip和port登录游戏服;
传入:aid
六 游戏服(服务端)
1 拿到aid之后到认证服中验证改玩家是否登录;
2 认证成功之后返回玩家该服务器上角色信息;
3 进行游戏;
返回:角色信息
以上就是大型手游登录的全部流程。
这个过程中会涉及到三方:客户端,渠道,服务端;
服务端分为三种:登录服,认证服,游戏服。
下面简单画了一个图:
版权声明:本文为博主原创文章,未经博主允许不得转载。