游戏服务器与普通服务器有什么区别

avatar 2019年10月4日10:48:12 评论 37

游戏服务器跟聊天服务器类似,服务器推(Server Push)是一个必不可少的常用操作.

而普通的网站服务器并不需要服务器推,也就是不需要广播操作,基本都是HTTP请求/响应操作.

游戏服务器相比聊天服务器,操作更多,状态更多.

在一个游戏房间里,聊天,发发信号只是其中的一个小功能.

战斗逻辑,英雄等各种对象在游戏房间里玩家之间的状态同步,都是聊天服务器所没有的.

游戏服务器:CPU密集(Redis:内存状态值读写),网络IO密集(广播).

网站服务器:状态比较少(Redis:会话信息),数据库IO密集.

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

视情况而定,弱联网、短连接,即采用HTTP方式通讯和普通Web服务器基本没有区别;强联网、长连接,即采用Socket方式通讯更注重同步性。其次从连接状态来看,普通Web服务器是有求必应,各个客户端即浏览器间是没有消息传递的,都是由服务器来返回数据,而游戏服务器特别是MMORPG这类游戏每个状态的变化都需要服务器广播给所有客户端,高并发、高同步是主要特点。

没有本质区别

只是在开发原则上和开发难度上有点差异。而且两者还是可以相互平衡的

先说开发原则的问题,如果偷懒,或者水平有限,或者历史包袱沉重,那游戏服务器要考虑较多的稳定性和效率的问题,毕竟最偷懒的做法还是所有的状态在进程内存空间里,如果宕了就没了,而这样玩,你能折腾的cpu也没几个,没几下就到计算上限了

当然了,如果你足够牛,上面的问题都不是问题,但绝大部分人不得不面对一个和开发通用软件不同的地方,你没多少现成的轮子可以用,无论是理论层面的还是工具层面的,毕竟来源的网游大作好像真不多

注册阿里云账号

如果您还没有阿里云账号,访问阿里云官网注册,点击右上角免费注册即可。

服务器优惠购买

点击访问阿里云新用户专享活动(这个活动在官网上没有直接入口的),推荐购买3000元的这台服务器,配置为2核8G,带宽为5M,网络为BGP线路,全国访问速度都很快。

注意!3000元就可以使用3年哦!真的非常超值了。当然,除了这款之外,活动页面内也有多款其他配置的服务器供选择,比如10000元/3年的8核16G,带宽8M的服务器。

需要说明的是,这里的服务器只配置了40G的系统盘,如果容量不够的话,可以后期添加数据盘,或者从云服务器ECS产品页面进入配置选择界面,我们对比下同样配置,要8000多元,

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: