mmo游戏服务器架构简述

mmo服务器架构总体来说相对比较复杂,由多组服务器进程组成。而这些服务器进程大致分为两类,一类是平台服,另一类是普通服。

一、平台服

平台服务器一般都用于处理全局相关功能,涉及玩家登陆,角色唯一性认证,跨区,全区排行榜等。主要包括以下几种:

flserver:登陆服务器进程,玩家登陆时首先连接flserver服务器。

dbaccessserver:数据库访问中间服务器,flserver会连这个服

roleregserver:角色唯一性验证服务器,验证角色名是否重复。

rolechangeserver:转区服务器进程,玩家跨区、旅游等需要通过此服务器进行中转,一般来说。

globalserver:全局服务器,处理所有区服的全局信息,比如处理所有区服的主播排名等。

idipserver:一个管理服务器,用来给玩家发邮件,补偿等特殊操作。

二、普通服

普通服一般都是涉及单个区服相关的,和其他区服往往是独立开来的,一般包括:

gatewayserver:网关服务器进程,与flserver服务器断开连接后,连接gatewayserver,gatewayserver相当于游戏客户端与mmo服务器之间交换数据的桥梁,游戏客户端与mmo服务器中其他服务器进程交互都是通过gatewayserver进行转发的。网关服务器收到玩家的消息后,根据消息类型转发给对应的服务器进程,同理各个服务器进程也是先把消息发给网关服务器,然后再由网关服务器发给玩家。

recordserver:存储服务器进程,通过该服务器进程进行数据持久化操作,比如把数据存到mysql数据库。

sceneserver:场景服务器进程,mmo服务器中主要的服务器进程,承担了大量的服务器端逻辑操作,比如玩家在游戏地图中移动,跳转地图,玩家PK,与npc的交互,怪物的攻击,移动等等。在场景服务器进程中存在一个场景玩家对象,该玩家对象身上又存了很多与玩家相关的数据与操作,比如装备及其装备的打造,升级;坐骑及其参战,休息;图鉴及其激活,升级等。

sessionserver:回话服务器进程,为了使mmo游戏能够支持更多玩家同时在线,sceneserver服务器进程一般有多组,从而分担单个sceneserver服务器所带来的压力。多个sceneserver服务器虽然能够支持更多玩家同时在线,但同时也使sceneserver服务器进程变得更加复杂,由此催生出了sessionserver,简单来说,sessionserver就是用来管理sceneserver服务器的。

functionserver:功能服务器进程,由于存在多个sceneserver服务器,那么在不同的sceneserver服务器进程中,数据可能会不一致或者说想要在不同的scenesever中做到数据一致实现起来会比较复杂,比如说排行榜功能,假如想统计全服所有玩家的等级排名,只需要把各个sceneserver上玩家等级数据发到functionserver上,在functionserver上统一排名即可,倘若放在sceneserver上做排名就会变得复杂很多。所以functionserver一般用来处理全局的数据或者全局相关功能。

voiceserver:声音相关服务器进程,处理声音相关功能。

mailserver:邮件相关服务器进程,处理邮件相关功能。

imageserver:完成图像相关验证的服务器进程。

superserver:管理服务器进程,用来管理上述所有普通服务器,同时也是处理对外区服相关操作的桥梁,一般需要连接rolechangeserver,从而完成转区操作。

上述服务器进程是mmo服务器的基本框架,很多mmo游戏服务器都是采用这种架构。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值