站务联系

游戏服务器架构演进(2)

发布时间:2021-03-26   来源:网络整理    
字号:

非场景服务器:它主要负责完成与游戏场景不相关的游戏逻辑,这些逻辑不借助游戏的地图系统也能正常进行,比如帮派聊天或世界聊天,之所以把它从场景服务器中独立下来,是为了节约场景服务器的CPU跟码率资源,让场景服务器才能尽可能快地处理这些对游戏流畅性影响较大的游戏逻辑。

网关服务器: 在类别一种的构架中,玩家在多个地图跳转或则场景切换的时侯选用跳转的方式,以此进行跳转不同的服务器。还有一种形式是把这种服务器的节点都通过网段服务器管理,玩家跟网段服务器交互,每个场景或则服务器切换的时侯,也有网段服务器统一来交换数据,如此玩家操作会比较流畅。

通过这些类别服务器构架,因为压力分散了,性能会有显著提高,负载也更大了,包括现今一些小型的 MMORPG游戏就是选用此构架。不过每提高一级服务器,状态机复杂度可能会翻番,导致研制跟找bug的费用上升,这个对开发组挑战比较大,没有经验,很容出错。

三类别(无缝地图)

魔兽世界的中无缝地图,想必你们印象深刻,整个世界的联通没有象往年的游戏一样,在切换场景的时侯还要loading等候,而是直接穿行过去,体验流畅。

现在的游戏大地图选用无缝地图多数选用的是9宫格的款式来处理,由于地图没有魔兽世纪这么大,所以选用单台服务器多进程处理即可,不过类似魔兽世界这些大世界地图,必须考虑2个问题:

1、多个地图节点怎么无缝条纹,特别是当地图节点比较多的时侯,如何保证无缝条纹

2、如何支持动态分布,有些区域人多,有些区域人少,保证服务器资源运用的最大化

为了解决这个问题,比较往年根据地图来切割游戏而言,无缝世界并不存在一块地图里面的人有且只由一台服务器处理了,此时还要一组服务器来处理,每台 Node服务器拿来管理一块地图区域,由 NodeMaster(NM)来为它们提供总体管理。更高层次的 World则提供台湾级别的管理服务。

游戏服务器架构演进

玩家A、B、C分别代表3种不同的状态,以及不同的迁移模式,我们分别来看。

具体魔兽世界服务器的剖析,篇幅过多,我们之后再聊。

3、房间服务器(游戏大厅)

房间类打法跟MMORPG有巨大的不同,在于其在线广播单元的不确定性跟广播数目太小。而且还要匹配一台书房服务器使少数人踏入一个服务器。

这一类游戏最重要的是其“游戏大厅”的承载量,每个“游戏书房”受逻辑所限,需要维持跟广播的玩家数据是有限的,但是“游戏大厅”需要维持相当高的在线用户数,所以一般来说,这种游戏还是还要做“分服”的。典型的游戏就是《英雄联盟》这一类游戏了。而“游戏大厅”里面最有挑战性的任务,就是“自动匹配”玩家踏入一个“游戏书房”,这还要对所有在线玩家做搜索跟过滤。

玩家先登入“大厅服务器”,然后选择组队游戏的功能,服务器会通告参与的所有游戏客户端,新开一条连结至书房服务器上,这样所有参与的用户能够在屋内服务器里进行游戏交互了。

游戏服务器架构演进

以上就是现在游戏服务器的演变进程,由于所牵涉的内容很多,关于服务器的相关网路IO以及显存模型都没有介绍,以后有机会再详细讲讲这一部分。

图说天下

  • 2页:
  • 上一页
  • 1
  • 2
  • 下一页
  • ×
    二维码生成