搭建游戏服务器首先需要确定整个游戏程序的框架,这样才能确定游戏服务器所需要物理架构。大型多人在线游戏服务器,负载,稳定,效率(包括反馈延迟和开发效率)是这种服务器基本要求。游戏服务器,是一个会长期运行程序,并且它还要服务于多个不定时,不定点的网络请求。所以这类服务的特点是要特别关注稳定性和性能。这类程序如果需要多个协作来提高承载能力,则还要关注部署和扩容的便利性;同时,还需要考虑如何实现某种程度容灾需求。由于多进程协同工作,也带来了开发的复杂度,这也是需要关注的问题。
服务器说白了就是配置好一点的电脑,要是想从零开始搭建的话,一是可以自己选购物理机也就是服务器,常用的有刀片式还有机架式,或者预算有限就选普通的配置好点的台式机也行,这个要根据以后服务器要跑的业务有关,然后选好之后就是装系统,常用的有linux和windows,linux可以选redhat或者centos,windows的话现在主要用windowsserver2012,然后系统装好之后就是配置网卡,交换机,以及防火墙,最后根据服务器所要运行的业务,安装相应的软件比如数据库之类的,因为不太明白这个说的服务器指的就是服务器还是用来部署应用程序的web应用服务器,如果需要部署类似网站的应用,需要安装tomcat,这个也分linux和windows两种版本,有免安装的版的,也有需要安装的,最后配置相应的路径,就可以使用了。
另外也可以直接购买云服务器,用的比较多的是阿里云还有腾讯云,好处就是便宜,另外云服务器的基础环境不用自己再去布置,而且也会自带一些免费的安全防护,相对来说比较适合个人使用,当然如果是出于学习的角度,想了解下服务器搭建的整个流程,那就还是使用物理服务器,自己尝试下
首先要知道游戏类型是什么,然后知道承载人数是多少,以及开发周期多少。需要根据这些来决定游戏架构和技术选型。对于gameplay来说,本身就是个大循环,一定频率进行tick,接收来客户端或者其他服务器的rpc,处理逻辑,然后数据落地以及发送数据给客户端或者其他服务器,一般gameplay来说在同一个进程里都是同步的方式去编写,同步的实现大多数是单线程的,或者使用coroutine来实现actor这种模式。大部分游戏交互都是比较多,所以不论service和service之间的交互还是玩家和玩家之间的交互,如果考虑多线程的同步的问题,会非常复杂以及很容易做错,所以一个service内同一个时刻都是在一个线程中执行的。
针对mmo或者一些竞技类游戏往往有场景管理的概念,就是游戏AOI,比如一个玩家移动,需要告诉周围所有的玩家,复杂度在nn,如果减少这个n,就有了AOI算法,比如九宫格,十字链表等,如果刚开服的时候很多人挤到一个主城中,就算采用九宫格和十字链表等AOI等算法,往往同屏内玩家数量还是很大,客户端渲染的单位数量比服务器少一个数量级的,所以场景管理这里还可以有个分线的做法,玩家多的时候,不同线不可见,玩家少的时候进行合并。
如果做帧同步一些关键点为表现要和逻辑分离,随机算法和随机种子的一致性,数学库浮点换定点,三角函数采用泰勒展开或者查表法,需要保序的容器,timer不能基于钟表时间而需要帧timer,以及防作弊(一般都是投票法,或者服务器跑个验证端)
现在很多游戏在线更新bug甚至不停服更新慢慢变成一种强需求了,实现这种方式主要使用脚本热更新,热重启+逻辑内存以及ab服切换来实现。
1如果自己购买实体机架的话,那么代价是很大的。从机房建设、通风等,再到水电、设备购买、安装这些都耗费人力物力的。
2如果自己从阿里云、腾讯云等第三方云服务提供商购买云服务器,那么自己的云服务器,所要做的就是应用部署、应用管理,服务器的维护、监控、动态扩容,这些都需要自己去关心啦。只需要关心应用业务逻辑即可。
3决定好模式后,就可以决定购买服务器。服务器购买好后,就是服务器应用管理,创建角色、分配资源、集群建立,基础应用软件安装。
4目前常用的是,购买服务器后,采用k8s、docker进行服务器资源管理,动态扩容。
姓名 郭宇学号 16130130299
>
创造模式玩家的确只能够一个一个的搭建,速度不是非常的快速,但是相对于生存来说是非常不错的了。
如果是在服务器当中的话,一般都会加入创世神插件(仅限OP使用),创世神插件只需要选择自己想要的范围就可以任意的 *** 作了。
单机模式下,加入了一些关于建筑类的MOD也可以增加建筑的速度,一般在MCBBS的MOD一栏里面可以找到一部分,不同的建筑类MOD效果也不同,甚至有的可能会达到创世神插件的地步。
创造或者消除最好的方法是使用地图编辑器,在MCBBS或者贴吧当中都可以找到,速度非常迅速,而且非常的方便,对于较大工程的建筑那么最好使用编辑器,如果是较小类的,叫精细的话,那么最好是原版的创造模式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)