游戏服务器该如何选择?要注意可扩展性

小编发布于:2021-10-07阅读:0

游戏服务器该如何选择?网络游戏飞速发展,各种游戏也是愈来愈多。游戏领域竞争力也是越来越大,一个网络游戏要想长久运作下来,客户体验是十分关键的。而客户体验最能主要表现便是流畅性和稳定性。游戏的清晰和稳定处死服务器和搭建。那麼游戏运营商又怎样在诸多的服务器提供商寻找适合自身的服务器,在租用游戏服务器时需要留意什么?在搭建游戏服务器时又需要留意什么问呢?

搭建游戏服务器如何选择适合的服务器配置?

①机房所属的所在位置

挑选什么地方的服务器优选需要考虑到服务器延迟时间问题。延迟时间太过高影响服务器速率,从而影响游戏玩家的感受实际效果。一般机房间距客户越近的,延迟时间越低,访问速率就越来越快。针对国内游戏玩家而言,最好是的挑选便是国内服务器。要是没有办理备案得话可以委屈求全,香港和韩国也是非常好的挑选,均值延迟时间可以在70ms之内。

②机房线路

挑选租用服务器时,机房线路的优劣可以直接影响服务器速率和稳定性。由于国内一直有南电信、北联通的布局,因此 在挑选服务器的过程中第一步要考量什么地域的消费者来访问。伴随着移动互联网的快速发展趋势,移动端消费者的日益增加,机房移动线路也逐渐登台,为移动端客户提供高效率稳定的信息服务。

③服务器配置

挑选多少的服务器配置,需要看游.戏站规模尺寸和访问量。配置越高,服务器性能越好,价.格也就越高。带宽是影响客户体验的最重要的一个要素,带宽的价格也伴随着尺寸、独享和共享、地域而不一样。很有可能许多客户搞不懂,带宽价.格如何还会继续因地域影响而不一样,实际上这主要是全球互联网的发展水平不一样而导致的,一般来说,美国地域带宽价格要比香港、韩国和国内划算许多,这也是许多游.戏企业优选美国服务器做为游.戏服务器的缘故,可是香港服务器韩国服务器也是有间距国内游.戏游戏玩家间距近的优点。

④服务器防御性能

受欢迎的网络游戏,非常容易受到网络黑客或是是对手的攻击,如今市场上最大的便是ddos、cc等流量型攻击,一般客户会挑选租用高防服务器来抵挡流量攻击时。因此 在租用高防服务器的情况下需要考评服务器防御能力。租用高防服务器的防御是多少,要视攻击状况而定。

比如:棋牌游戏游戏服务器的构架设计需要留意那些点

一、棋牌服务器的特性

1、棋牌不系统分区不区分服

一般来说,棋牌游戏游戏全是不系统分区不区分服的。因此 棋牌服务器要考虑伴随着用户数量的提高而扩大的需要。

2、屋子方式

即在同一局游戏中也是在同一个屋子中,同一个屋子中的人可以接受到别人的信息。

3、每一个卧室的使用一定是次序性

这一特性相近与一般游戏的回合制游戏,每一个用户的使用全是有次序性的。

二、需要解决的技术点

1、数据信息共享

由于棋牌游戏不系统分区不区分服,我们在设计服务器的情况下,是按全球服的观念去设计,即服务器是一个n多台物理机的群集。当用户登陆服务器,建立屋子时,很有可能依据web服务优化算法,它可以在一切一台服务器上边。因此 ,无论用户登陆到哪一台服务器上边了,都可以得到自身的数据信息。大家可以使用redis来做数据共享。

2、怎样进入房间

在同一局游戏中,大家要求任何人都是在同一个屋子中,大家可以要求在同一个屋子中的客户,务必登录到同一台物理服务器上边。在建立屋子成功以后,别人依据房间号搜索屋子的情况下,可以依据房间号,获得这一屋子所属的服务器ip和端口号,分辨一个当今用户登陆的服务器ip与屋子所属的服务器ip是不是同样,假如同样,也不做转换,假如不一样,客户端就使用ip和端口号,连接到屋子所属的服务器上边。(游戏服务器该如何选择)

3、确保屋子使用的次序性

建立屋子成功以后,下面的使用必须确保它的次序性,因此 屋子需要有一个它自身的信息个序列。大家可以把各个屋子抵达服务器的信息封裝为一个每日任务,把这个每日任务放进线程池中,随后有一个每日任务实施者去按序实施这种每日任务。

 

三、系统构架

1、功能设计

登录。一般全是需要接第三方登录,登录这一块是http实际操作,大家统一提供一个web服务,用于做登录认证。由于在登录时,启用第三方的http服务项目,这一全过程也许比较慢,假如放到逻辑性服务器得话,很有可能变卡领域模型每日任务。由于有可能不一样的用户业务流程要求很有可能共行一个进程中,如果有任务卡了,那麼这种每日任务之后新到的要求请会卡死,造成 信息延迟时间。

获得游戏公示,也放到web服务中。公示一般是游戏登录的情况下向服务器获得一次。把它放到web服务器中,与领域模型分离出来的益处是,当领域模型服务器维护保养或升级的情况下,不影响客户的登录,和获得公示,那样客户体验会更好一些。

建立客户唯一的id,由于棋牌游戏服务器是全球服,无系统分区,因此客户的id务必是全局性唯一的。可以利用redis的incr方法,分子的增长,假如不希望被他人依据userid的增长计算出来有多少申请注册客户,增长的梯度方向可以任意,例如每一次增长的值从1到1024中任意一个。

建立屋子,当屋子主建立屋子时,屋子的id需要在一切台服务器上可以查看到,因此 建立屋子成功后,屋子id要储存在共享运行内存redis中,每一个屋子id相匹配一个屋子所属的ip详细地址或服务器id.那样,当有客户要进入房间,在查看屋子id时,很有可能分辨这一屋子是不是和自身登录的游戏服务器同样。

搜索添加屋子。依据屋子id查询屋子,搜索到屋子后,获得屋子所属的ip详细地址或服务器id,假如看到和自身所登录的服务器一样,直接可以添加屋子。假如不一样,把这个屋子所属的ip和端口号回到给客户端,让客户端再次与屋子所属的服务器创建连接,使用登录时的token认证客户。

游戏脚本制作启用。在认证游戏是不是合理合法时,客户端与服务器都需要认证,认证的计算方法是一样的,因此 可以使用脚本制作来写,写一份脚本制作,在服务器与客户端中与此同时使用。可以使用lua。同一个优化算法使用同一个脚本制作,那样在开发的同种类棋牌游戏游戏时,只需要更换一下这一脚本制作就可以了,无需再反复开发设计。

2、管理后台系统

这一一般是依据经营需要研发的,每一个企业不一样。但是有一点,管理后台系统很有可能要和游戏服务器通讯,这类通信方式最好选用redis的定阅/公布体制。那样可以把某些新闻事情一起发送给全部的业务流程服务器上边。依据客户所属的服务器进行解决。

3、游戏玩家同台

游戏玩家同台是棋牌游戏游戏中的一个关键,针对做了这些大中型的arpg,或mmo游戏的开发人员而言,这并并不是什么难题。由于同台便是服务器对客户端的信息进行分享。一个屋子四个人,一个人出的牌或实际操作能被别的三个人与此同时见到。

由于棋牌游戏游戏的同歩信息量非常小。一般常用的关联方法有二种:

1、客户端积极获取

客户端按时自动向服务器要求一个客户的线程池,当一个游戏玩家有实际操作需要同歩到别的游戏玩家时,在服务器端先把这个信息放在这一客户的线程池中。等候客户端的获取实际操作。这类方法的益处是,不需要考虑到网络闪断或网络不太好的状况,信息内容基本都是同歩获得的。缺陷是,按时获取的间隔时间很短,很有可能不上一秒便会获取一次。

2、服务器积极消息推送

当一个客户打牌的信息需要同歩给别的游戏玩家时,服务器会得到这一游戏玩家与服务器创建的socket连接,随后服务器使用socket积极向客户端推送信息。

这类方法要考虑到网络闪断,信息遗失的问题。由于服务器消息推送的信息,客户端有可能会不能收到。因此 客户端需要依据心率来分辨网络是不是有断掉过,如果有断掉,需要再次从服务器获取整个屋子情况的信息。或是依据服务器推送的信息号,假如客户端发觉接受到的服务器信息号有跳号的,例如应当接受10,却收到了12,表明正中间有信息遗失,需要再次获取整个屋子的情况信息内容。

这类方法的不足之处是,开发设计繁杂,需要考虑到一些网络问题。优势是,只有在有最新消息的过程中才会消息推送,沒有得话不消息推送,不占有带宽等系统資源,可以提升客户线上PK量,也就是提高了服务器的承载能力。

 

4、数据库同步和分布式锁

1、因为棋牌的游戏数据信息少,测算量也小,因此 彻底可以不使用运行内存缓存文件,而直接使用redis共享运行内存,客户的任何信息都缓存在redis中。升级也同时升级到redis中,那样无论一个用户登陆哪一台业务流程服务器,都能得到自身的最新数据。(游戏服务器该如何选择)

2、升级数据库,因为数据信息第一缓存文件是redis,因此 活跃性的消费者信息全是可以从redis中直接得到的,而无需查看数据库,因此 数据库的升级可以采用多线程升级,而不会产会数据信息的延迟时间。需要留意的一点是,数据信息的多线程升级务必确保是有先后顺序的。那麼这便会产生一个问题,如何确保客户的升级不会乱呢?

3、怎样确保发布的次序性

由于大家的业务流程服务器是多个的,客户很有可能连接其中的任意一个,假如说登录的是服务器A,添加的屋子在服务器B上,那麼连接便会转换。为了更好地确保数据升级的次序,大家可以做一个数据库分布式锁服务项目,把需要升级数据库的每日任务即时发送至这台服务器上,由数据库分布式锁服务项目实行对数据库的升级。那样无论客户连接的哪台业务流程服务器,它的升级全是有次序确保的。

4、一种快速简单的方式

因为棋牌的业务流程少,数据信息升级少,因此 查看可以有redis缓存文件,降低数据库查看的工作压力,而升级推行自动更新到数据库,早期不需要开发设计数据库分布式锁服务项目。等客户积淀到一定程序流程以后,发觉升级数据库较慢的情况下,再独立做一个数据库分布式锁服务项目。

四、服务器构架

1、登录时,客户端最先向登录的web服务器要求登录信息内容,登录成功以后,回到登录的token,为了更好地融入大规模的web要求和登录服务项目的稳定,可以使用nginx做web服务。

2、登录成功以后,要求web服务服务器,获得一台连接的业务流程服务器。这一web服务服务器可以和登录web在一个过程中,也可以独立出去。

3、取得登录成功的token和需要连接的业务流程服务器的ip和端口号以后,再去连接业务流程服务器。连接成功以后,要使用token到登录服务器去认证,这一客户是不是登录了。

4、同一个屋子的客户要连接到同一台物理服务器上边。在上面早已说过去了。

5、redis用于做共享缓存文件。

6、mysql做分布式锁储存。

7、数据库分布式锁服务器,统一做数据进库实际操作。

五、有关网关ip的问题

1、网关的作用

分享信息包

业务流程的web服务,例如A业务流程由服务器a解决,B业务流程由服务器b解决,由网关ip进行分享。

维护保养与客户端的连接

带宽的融合,一般的云服务器全是按购入的服务器测算带宽的。根据一台服务器分享信息,可以只选购一个大带宽就可以了,以节约成本。

2、棋牌游戏需要网关ip吗?

我觉得不太需要,由于棋牌游戏业务流程非常单一,做的较多的便是信息同台分享。数最多是还有一些每日任务或活动,这种由一台服务器直接解决彻底可以拿下。并且开发设计网关ip也是一个错综复杂的工作中,没必要在这个上边花很多的時间。

游戏服务器需要具有扩展性

游戏服务器需要具有扩展性。在打游戏的情况下,你是不是会出现卡屏的情形呢?那样的状况针对很多人而言,实际上全是会存在的,在我们出现卡屏的情况下,自身的心态也会十分的槽糕,特别是在紧要关头卡屏了,那这针对大家的影响和我们自己的整体实力而言,全是有一定的弊端的。因此 游戏服务器就十分的关键,而这种服务器也需要具有非常大的扩展性,这样一来,大家的服务器就可以运作畅顺,而大家在玩游戏的过程中也可以更强的游刃有余,并且如果我们使用的是其余的兼容模式较弱的服务器,实际上在使用的历程之中也会存在大量的问题,因此 为什么我们不挑选租用一些游戏的服务器呢?

 

在我们挑选租用游戏服务器的情况下,大家还要考量清晰价格的问题,如果我们选购了一整机主机,那麼大家使用的时间段也许是非常长的,可是只有我自己确保它的品质,就可以长期的维持下来呢,因此 在比较了之后,实际上大家挑选一个服务器来进行租用,便是比较好的一种挑选,由于大家房租并没有十分的价格昂贵,并且相较为选购而言,这也是较为实惠的一种方法,那这也就在无形中为大家带来了一种比较好的便宜方法,并且相较为我们去选购一整机主机而言,这也是更快的方式 ,由于大家订购了主机,之后它的使用时间长了,那麼需要运作的运行内存也就变得越来越变大,相对应的问题也便会出现。

可是如果我们挑选了一些租用的服务器,假如这一个服务器出现了问题,那咱们就可以挑选别的的服务器,这也是可以互相替代的,因此相相对而言,在价格及其应用性方面,大家都可以能够更好地挑选租用这一些游戏的服务器。因此 游戏服务器该如何选择,需要具有扩展性,特别是在这一个快速发展趋势的商务全球之中,业务流程的市场需求转变是特别快的,而大家游戏的要求也是变幻无穷,因而,许多的独立服务器经销商全是可以依据对应的业务流程进行資源的扩大,自然,大家只需要额外运行内存,电脑硬盘,或是是宽带这些,有这一些資源就可以了,整个全过程也是非常便捷的。

【微云网络】提供高防VPS云主机,香港服务器,高防云服务器,游戏服务器,高防服务器,香港站群系统服务器,高防服务器租用,高防服务器托管等,是一家大中型技术专业的云服务器提供服务平台。

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

本站原创内容未经允许不得转载,或转载时需注明出处:https://news.kd010.com/fwqjs/3208.html

TAG标签:

上一篇:汕头100G服务器抵御DDoS攻击的方法和步骤!
下一篇:租用什么样的服务器做游戏好

相关文章

返回顶部