关闭

数据服务器/平台服务器

1101人阅读 评论(0) 收藏 举报

         在我们的游戏服务器中,与数据库打交道的服务器有数据服务器、会话服务器。

         其中会话服务器,需要去存取游戏区中所有玩家的信息,读取所有玩家基本信息到数据库中,这个需要看功能的实现了,比如玩家A给离线玩家B发了一条消息,那么等这个玩家上线后,需要把这条消息发送到B。

         数据服务器:

         它的作用就是存取游戏中所有的信息,减少其他服务器的IO操作这样我们可以减少场景服务器的负担,把数据读取单独拿出来,每次其他服务器上存取信息,都通过这一个RecordServer去读取,发送一个消息到这个RecordServer上就可以了,然后去做其他逻辑。数据服务器上会做很多定时操作,定时存玩家档案、游戏档案,从效率上考虑,很重要的信息,如玩家的装备、金钱这些一旦改变就得立即存档,像不重要的排行榜这些信息一个小时存档、或一天存档就可以了,但是所有数据停机时必须存档。数据库的错误,就得去回档了。

         平台服务器:

         管理游戏中所有账号的服务器,管理所有游戏的所有账号,比如,玩家的账号abc在几个游戏区中都有游戏账号,那么就可以把这个账号abc绑定到这些账号上,这个就像盛大通行证,这些是一样的处理。其实,玩家每次登陆游戏G,都是登陆到平台,平台把这个玩家所需要登陆的游戏G大区发给这这个大区的suerserver,然后这个super去寻找一个合适网关,把这个网关信息发送到玩家,这个玩家去登陆这个网关,然后连接到游戏中,当然这其中有很多限制规则,程序自己去限定就可以了。比如,这里是打一个比方,不是真正的三国杀流程,我玩三国杀,我在盛大有一个盛大通行证sdtxz,然后我打开三国杀这个游戏,输入我的通行证名字和密码,然后三国杀把我的信息(包含了游戏类型,游戏大区信息)发送到盛大的平台服务器,这个平台验证我的信息,然后找到三国杀游戏大区zone的大区服务器,发送消息到这个服务器,这个服务器找一个合适的网关(网关生成一个令牌),把这个网关信息和这个令牌发送到大区服务器,大区服务器再发送给玩家的客户端,客户端接着去登陆这个网关,然后游戏开始了。这个平台的作用不仅限于做这个,统计玩家信息、游戏充值等等,具体就不描述了。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:120801次
    • 积分:1520
    • 等级:
    • 排名:千里之外
    • 原创:23篇
    • 转载:35篇
    • 译文:0篇
    • 评论:10条
    最新评论