游戏登陆流程 .
来源:互联网 发布:linux 屏幕键盘 编辑:程序博客网 时间:2024/04/27 20:21
当公司有很多游戏的时候,那么公司往往会有一个统一的账号管理平台,就就像盛大通行证、网易通行证,战网平台,这些平台统一管理游戏的账号数据。
打个比方,现在我们玩星辰变,那么玩家登陆游戏的时候有两个过程,一是登陆游戏账号,取得我们需要登陆的游戏区的网关,也就是之前说平台服务器那里,然后是进入到游戏角色选择界面,登陆到星辰变游戏中。第一步已经在《数据/平台服务器》说过了。现在说第二阶段。
在叙述这个过程中,我们需要知道玩家登陆游戏时“卡号”的现象,也就是玩家某此下线,没有设置玩家下线标志或是清除某些上线数据,导致玩家在下一次登陆时,造成无法登陆的现象,我们在程序设计,考虑到这一步就可以了。
我们已经进入到星辰变的游戏选择界面,
1. 我们点击进入游戏,那么客户端发送玩家登陆游戏的数据给网关,网关根据之前的令牌,验证是否可以通过
2. 网关发送消息到会话,会话的全区玩家管理器中添加新的玩家,然后通知super
3. Super添加玩家的信息,(主要是玩家的各个服务器id,),然后通知数据服务器;
4. 数据服务器通过这个账号id去数据库读取这个玩家的数据,如果有,读取玩家数据,
数据服务器将玩家的基本游戏数据发给客户端,并且通知该玩家的场景服务器,有玩家上线
5. 场景服务器上解析来自数据服务器的数据,添加一个新的玩家,做上线处理,并且通知会话服务器,玩家登陆到某个场景了
6. 会话服务器知道该玩家登陆到某个场景了,做上线处理,主要是社会关系之类的
从网关之后的每一步,都会发送一个消息到网关服务器,告诉网关服务器该玩家有没有登陆成功,如果没有成功,需要清除玩家这一次的登陆信息,否则下次登陆时,就卡号了,玩家下线时,必须清除玩家在每个服务器上的在线情况,否则下次就无法登陆了。总之,我们再设计时,考虑好这些数据的处理就可以了。这就是一个玩家的登陆流程了,当中的异常处理就自己去处理了。
我们在做功能时,在几个服务器间有数据交互时, 一定要避免流程重入,在一次数据交互没有全部完成时,不能让流程从中间切入,或流程重复发起,只要是在服务器上做的验证处理,就一定要想周全,这样也就能最大程度的避免外挂,就算在消息中添加冗余数据也是可以的。
- 游戏登陆流程 .
- 游戏登陆流程
- 游戏的登陆和离线流程思考
- 游戏流程
- SQO 登陆流程
- 账号登陆加密流程
- 服务器登陆流程
- ue4 服务器登陆流程
- ue4 服务器登陆流程
- Flux框架...登陆流程...
- 登陆注册实现流程
- 登陆流程分析
- SpringMVC登陆设计流程
- 单点登陆流程易懂
- 游戏服务器,登陆认证
- 游戏登陆界面完整版
- 游戏登陆机制
- 游戏客户端_登陆
- 《望岳》赏析
- 《绝句》赏析
- 涂料化工行业:ORACLE EBS R12的解决方案经验总结(OPM项目)
- 《锄禾》赏析
- IBM DB2 日常维护汇总 【监控】
- 游戏登陆流程 .
- Business Intelligence/Big Data in 2013 and Beyond
- vmware下,MSDOS如何共享文件
- java.lang.String cannot be resolved, Indirectly referenced from required .class file
- 据说是一段美妙的代码-----试试
- DB2日常维护之优化 【优化】
- 程序中使用system调用sqlplus命令来检查是否可以连接
- php 发邮件 (socket smtp)
- 配置sqlnet.ora限制IP访问Oracle