其实和单机游戏或者其他局域网游戏不同,其实大型游戏的服务端不在对于数据进行逻辑处理,大部分的逻辑计算都放在后端的服务器进行,想要知道更多内容就可以看看这篇文章吧!
其实和单机游戏或者其他局域网游戏不同,其实大型游戏的服务端不在对于数据进行逻辑处理,大部分的逻辑计算都放在后端的服务器进行,想要知道更多内容就可以看看这篇文章吧!
逻辑计算放在后端服务器进行,导致玩家与后台服务器间的数据传输频次多且大多保持长时链接,服务器端的响应速度、并发能力、链接稳定性等性能也就直接决定了客户端玩家的用户体验。因此游戏服务器选型和架构建设与一般的Web服务器不同,游戏服务器对于硬件和整个系统架构的要求更高。
由于网游的服务器集群对应所有的游戏客户端,每个玩家的动作都会实时地互相影响。比如玩家间PK,在接收到玩家的指令后,服务器需要立刻判断双方攻击力、血量、防御力、抗性等属性,然后经过一定的算法才能最终输出一个伤害值。而这些都需要服务器进行实时的运算并作出反馈,延迟需要在毫秒级。因此,网游的逻辑服务器需要强大的计算能力,或是采用高性能的服务器,或是通过计算服务器集群提升整个系统的计算能力。
对于一款热门的网游,高并发能力是考验服务器端的一道难题。玩家的大规模同时登陆和游戏内的国战、群聊都会需要极高的并发链接处理。以IM服务器举例,当某个玩家在游戏发布了一条消息,目标是全地图所有玩家,那么这则消息可能需要同时发送给数万的玩家,而这仅仅只是一个玩家发布的消息,如果是10个、100个或者10000个玩家同时发送广播呢?所以,一个同样硬件配置的服务器,可能跑Nginx(用于处理Web服务器的并发)可以同时处理上万的链接,但是对于一个游戏服务器就只有1、2千了。因此,对于登录和管理服务器而言,能否支持高并发是重要的考量依据。
一款大型网游在服务器端需要存储大量的数据,比如游戏中的地图数据、资源数据等基本不会有太大变化的数据。另外,玩家每创建一个游戏角色都会有一系列数据需要存储,比如名称、ID、装备、宠物、属性等等,而且不论这个玩家是否上线、是否长时间没有登录,相关的数据都需要永久保存。因此,网游的存储服务器需要较大的、安全的存储空间来保存这些数据。