游戏服务器,一个游戏服务器能承载多少人?
取决于服务器的质量,好的服务器能够承载数万,数十万甚至更多人
游戏服务器一般多少人同时在线?
游戏访问所占的带宽不少,一般要10k以上,多少人在线主要看你游戏的规模和受不受欢迎之类的...
理论上,1byte=8bits,以10M的带宽为例,服务器最高传输速率就是10Mbps=1024Kbps=1024/8KBps=1280KB/s;假设一个用户占用10KB/s,那么10M的带宽支持访问人数就是128人。
可以依次去推算,如果单单用云服务器,成本会比较高,可以考虑搭配一下cdn加速和负载均衡,分发一下服务器的访问流量,这样网站会更稳定些,像我搭建游戏网站,人数不多,用的是小鸟云,下单的时候用个85折券2W3V48,直接抵扣。
也可以看看其他厂商的,看看活动什么的。
LOL服务器是租的还是买的?
首先对于你的这个问题我是可以明确的告诉你,英雄联盟这个游戏的服务器既不是租的也不是买的,我们只需要在英雄联盟的官方助手里面把这个服务器下载下来,我们就可以直接通过我们的游戏帐号正常的进行一个登录和使用,并且在里面直接进入游戏。
手机游戏服务器架设教程?
1.如今的手游世界,如果没搞个跨服赛事,都不好意思说它是一个手游了。
说到跨服,就不得不说下匹配服了。比如一个跨服天梯赛事,需要满足不同服的玩家能够同屏PK。为了能够把实力接近的玩家作为对手,我们需要一个独立的匹配服来收集数据,然后进行房间分配。匹配服,也是跨服赛设计的基础。
典型的匹配服通信层我们可以采用http,也可以采用socket。本文将采用http作为游戏服与匹配服的通信层。选择http方式,我们可以搭个tomcat服务,非常方便。当然,如果不使用tomcat的话,我们也可以使用mina或者netty本身的http服务。
设计思路也非常简单,有点像游戏服的业务处理器。我们需要做到,对于不同的请求,我们都绑定一个方法与之对应。而对于数据的编解码,由于匹配服的通信数据一般都比较短,我们直接用json进行序列化即可。
下面,开始我们的编码。
2.搭建mina的http服务
在前面游戏后台设计中,我们已经看到如何使用mina搭建http服务了。
3.消息通信
在游戏服,我们发出一条http请求。匹配服为了将请求分发到对应的处理器,我们需要为每一条消息作一个标记。最简单的,可以使用请求消息的类名。所以,我们必须把业务签名和参数都融合到url里面去。也就是说,一个有效的url可能是这样:
http://localhost:8899?service=MReqLadderApplyMessage¶m={"playerId":0,"score":0,"power":0}
为了能区别游戏服和匹配服的消息类型,我们匹配服的消息,都加一个M(Match)前
4.业务处理器
我们依然使用 @Controller注解来标识一个模块处理器,使用@RequestMapper注解来标记业务处理方法。不同的是,在游戏服我们每个消息的元信息都带有一个模块号和子类型号。在匹配服,我们就不这里处理了。因为匹配服的业务比较少。我们直接用消息类的名称作为业务签名即可。
在业务分发器,我们保存每一个方法签名,与对应的方法处理器。
5.匹配服在收到一个http请求,通过参数解析得到对应的业务签名,同时通过json反序列化得到请求消息的参数。将消息分发到对应的业务处理器。代码如下: 一个完整的业务处理器,代码如下 (可以看出,跟游戏服是非常类似的):示例代码
启动匹配服服务器(MatchStartup.java)
再执行游戏服的单元测试
游戏服务器与普通服务器有什么区别?
游戏服务器是打电话,普通服务器是发短信。
游戏服务器通常采用的是socket长链接,用户和服务器建立链接后就一直保持链接状态,直到用户下线才会中断链接。
所以会有掉线,断线的说法。
普通服务器采用http短链接,服务器处于监听消息的状态,用户发送信息后,服务器收到信息后回复短信,之后就断开了链接,直到再次收到用户发送信息才做出回复。
由于游戏服务器采用的是长链接,消耗服务器资源大,所以我们登录游戏的时候,会选择大区,再选择服务器。
而我们登录网址的时候不需要进行大区,和服务器的选择。
另外游戏服务器会有复杂的逻辑运算,而且要保证实时性,对于服务器性能和网速要求比较高,一般网站不需要有复杂的逻辑运算,大部分是存储和查询运算,不费cpu。