34
游戏服务器和普通服务器那些地方不一样?

游戏服务器是玩家玩游戏的主要场所,它里面装载着所有用户的登录、等级、装备等数据信息.根据香港数据湾服务器开发经验而言:与普通的服务器性比较,游戏服务器比一般的服务器要保存更多的状态,且每一个用户都是独立存在的.具体区别如下:

 

首先,游戏服务器与普通服务器相比较来说,游戏服务器能保存更多的用户的状态.用户的等级等属性必用说,一般的IM服务也会有,还有一些马上就会变化的数据,比如某个玩家的生命值,发技能前后的法力值等等,这些值区别于一般的属性值如名字,ID这些的差异在于,会经常性的变化,还会参与到逻辑的计算中,比如你一个多少等级的玩家吃了什么东西之后战力值变化为多少,打在一个多少属性的玩家身上会不会被他闪避,会不会产生暴击...诸如此类的信息,在游戏服务器中皆会一一保存.

 游戏服务器和普通服务器那些地方不一样?

其次,游戏服务器中每一个用户都是独立存在的,每一个用户的数据、请求等都是独立的,用户彼此间的数据并没有任何交互.这也是游戏服务器与普通服务器之间最大的区别.至于客户端之间会有交互这一点,举最简单的例子,一个人在一个场景里面说了一句话,那么同一个屏幕的玩家也需要能够看到他说的这句话.此时游戏服务器就需要判断,多远的距离以内的玩家,会认定为是"同屏幕"的玩家,需要向这些玩家广播这个玩家说的这句话.

 

这个广播就比较麻烦了.首先,计算哪些玩家在"同屏幕",就是我们在第一点提到的玩家身上某些经常变化的属性需要做的运算,在这里需要根据玩家的坐标,找出来跟在同屏幕的玩家,用到的是AOI的概念.另外,找到了这些需要接收这个消息的玩家之后,将消息转发给它们又是一个IO密集的操作,假如场景中有10个人,那么一句话就需要同时广播给另外9个人,假如有100人,1000人呢,量就更大了.所以同样的一个硬件配置的服务器,可能跑Nginx可以同时处理上万的链接,但是对于一个游戏服务器就只有1,2千了,就是因为游戏服务器是一个CPU密集而且IO密集的服务器类型.

 

此外,游戏服务器需要更好的数据承载能力和处理能力.而普通服务器则在各个方面都比较均衡.在寻找游戏服务器租用商的时候,一定要选择那种cpu性能非常出色的.普通服务器的则不需要那么强的能力.


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!