咨询邮箱 咨询邮箱:1947790376@qq.com 咨询热线 咨询热线:0371-56752222 微博 微信
以地图为中心的游戏服务器如何配置
发表日期:2017-09-13    来源:帝通科技http://www.9dm.cn    浏览次数:
如何在多个流程中分配运行的核心游戏功能的负载,以支持数千个并发玩家?
我们正在开发的服务器的大型多人在线游戏与客户端-服务器架构。游戏设计旨在通过使成千上万的玩家在共享的虚拟世界中相互交互来创造沉浸式的游戏体验。
 
游戏设计取决于是否有许多玩家同时在线。
游戏的设计并不需要虚拟世界中模拟单,大,无限开放的空间,允许运动和游戏的完全自由。
游戏设计可以指定使用短暂地图,其中小组玩家选择分享脚本体验。
游戏设计根据地图大小,特征,玩家角色流量模式以及预期在每张地图上发生的游戏活动,针对每张地图的玩家人数范围。
游戏服务器使用分布式部署架构。
游戏服务器使用分布式网络连接模式来管理游戏客户端连接。
开发计划有利于在运行时灵活配置和动态可扩展性的技术简单性和易于实施。
长期的产品计划要求通过添加内容和增加虚拟世界的大小来增加游戏的增强。
业务计划认为,运营和支持成本可能与内容扩张和玩家人数成正比。
 创建一个游戏服务器
开发以地图为中心的游戏服务器策略,将核心游戏活动与发生的地图集中起来。通过创建两种服务器类型,区域服务器和世界服务器来实现。游戏的服务器集群包含许多连接到单个中央服务器进程的区域服务器进程。一个或多个连接服务器通常管理客户端网络连接,但不是此模式的一部分。
 
 
以地图为中心的游戏服务器:地图详细信息
设计为许多玩家的公共空间的大地图通常以单身形式存在。也就是说,整个游戏中只存在该地图的一个实例。这些地图之一的区域服务器在服务器启动时创建其实例,并使其持续运行。
 
存在较小的地图,用于与较小的玩家群体一起运行脚本体验。这些地图是短暂的。该区域服务器上创建的需求,这些地图的实例,并关闭下来,不再需要时。
 
当玩家的角色在虚拟世界中的地图之间移动时,游戏将角色的状态从旧的地图实例移动到新的地图实例。如果地图实例位于不同的区域服务器进程中,则源区域服务器保存并卸载状态,目标区域服务器将其加载到新的映射实例中。
 
世界服务器
 游戏服务器的配置方法
在全球服务器充当中央控制器区域服务器。它将地图模板分配给区域服务器,通知区域服务器何时创建地图实例,并协调地图实例与其区域服务器之间的玩家角色的移动。
 
在世界服务器是同时在虚拟世界和中玩家角色的位置,中央机关区域服务器组成游戏服务器集群的工艺节点。当玩家角色在区域服务器之间移动时,世界服务器更新连接服务器使用的路由数据,以便客户端消息到达正确的区域服务器。
 
我们有一个MMO游戏服务器,可以在多个服务器进程中分发核心游戏播放负载,以一次支持数千个连接的客户端。游戏可以做得相当好,但会遇到增加玩家基数的障碍。
 
所有游戏活动都绑定到特定的地图实例。这意味着映射实例必须分配给特定的区域服务器进程,这些进程必须在创建或填充之前确定。获得正确的组合将需要附加元数据到地图模板,以根据预期的负载和/或群体特征对它们进行分类。开发和维护此元数据将进行仔细的性能测试,测量和分析,其中大部分必须手动完成。
 
将游戏扩大到更高的播放器并发性需要添加更多的地图实例,并且最有可能的是更多的区域服务器进程。这对于短暂地图很有用,可能有无限数量的实例。然而,在共享单身图中处理播放器负载的选择很少,其中较高的播放器负载将产生最大的影响。
 
一个选择是创建更多的共享映射,但是这会产生内容生产负担并需要时间。然而,这是主要内容发布或扩展的明显选择。
 
另一个选择是放松共享地图上的单例约束,在加载需要时添加更多的实例。这是以降低玩家体验为代价的,因为玩家必须知道他们在分组时或在其他社交互动期间的实例。存在技术解决方案来减轻这一点,但是它们不会完全消除它。
 
处理更高负载的最终选择是使用分片来处理增加的播放器负载。这本质上意味着创建整个游戏服务器的一个或多个完整副本。每个副本都是一个实体。使用分层的游戏服务器,玩家必须在登录时选择要加入的分片,并创建只能在该分片上使用的角色。这限制了玩家在分片之间的移动性,并且对社交游戏产生了障碍。存在用于解决这些问题的选项,但它们增加了更多的开发,运营和客户支持成本。

本文链接:http://www.9dm.cn/industry/176.html转载请注明。
标签:游戏服务器,游戏服务器托管,服务器托管公司,游


上一篇:在游戏服务器中如何划定边界? 下一篇:游戏服务器分布式网络连接的好处