本系列文章目前在MineBBS、b站、知乎同时发表
如果你是连服务器都没成功开起来过的小白,那么我建议你到各大平台搜索“我的世界开服教程”,根据教程操作,直到你做到自己开设的服务器能够让你自己连接并在里面正常游戏
注意:我的世界分Java版和基岩版,基岩版不能直接进入Java版服务器,Java版也不能直接进入基岩版服务器!首先确保你能完全分清Java版和基岩版,然后再学习开服。
我有的时候会忘更新我的文章,可以直接在文章下面评论催更,或者加我的群715732100联系我,或者和我一起讨论开服吧
下一篇教程的草稿已经开始写了,位于Minimouse48的教程大全 ,非常想要继续了解的各位可以前往这里提前了解进度,或者也可以前往文章对应的仓库发pr和我一起完善!
由于本文需要跨平台发表,因此格式化的内容较少,还请各位读者谅解!
上回说到开服需要准备的内容,本文将讲解服务器的计算资源(硬件或云服务器)
服务端的本质是去掉了游戏画面的游戏(客户端),而游戏程序(客户端)的本质是加上了游戏画面的服务端。从最底层开始讲起,现代常见的电子游戏(video game)都基于图形界面,而计算机的图形界面的工作逻辑其实就是根据人在图形界面上做出的一系列动作做出反应,比如点击关闭按钮计算机就执行关闭窗口的操作,而双击应用程序的快捷方式计算机就会执行打开对应软件的操作。电子游戏其实也是计算机对人做出的操作进行一系列反应。不要理解为人需要对计算机的操作进行反应,而是要理解为人对计算机进行正确的操作计算机将执行一个程序,而错误的操作将使计算机执行另一个程序。例如在我的世界中,移动鼠标,游戏画面就会跟着移动;按下w,游戏人物就会向前移动;按住鼠标左键,游戏就会破坏眼前的方块。在与僵尸战斗时,如果对着僵尸按下左键,僵尸就会被攻击并后退,如果不对着僵尸按下左键,僵尸就不会受到攻击,并得以靠近和攻击你。在这个人与计算机交互的过程中,计算机要做的事就是处理人的输入,并做出反应。比如对于我的世界来说,当你对着方块按下左键时,电脑检测到了你按下左键,然后开始执行相关的程序,之后在屏幕上做出反应,显示对应的生物被攻击。对于mc服务器来说,客户端(client),也就是玩家用来玩服务器使用的游戏程序,就是这个用来检测输入并进行显示输出的软件,而服务端(server),也就是开服的时候需要运行的那个最关键的软件,就是这个用来处理的软件。实际上在游戏中,各个程序对于玩家输入的处理要复杂得多,比如对于上述例子,在服务器里游戏的过程中,客户端检测到按下后,首先经过一定的计算,确定了玩家在攻击的生物,然后将这件事通过网络发送给服务器。随后服务器经过处理,把攻击的结果告诉客户端。
客户端:检测到鼠标左键按下,让我看看……此时玩家面向xx角度,附近的地形是xx,生物有xx,那么他应该是想要攻击xx生物。
客户端通过网络告诉服务端:玩家xx攻击了生物xx!
此时服务器收到了这个指令,开始处理。
服务器:生物xx被攻击的话,他的坐标应该出现xx变化,生命值应该出现xx变化。
服务器通过网络告诉客户端:玩家xx攻击生物xx成功了!生物此时的坐标变化为xx!(由于游戏本身并不显示生物血量,所以服务端并没有告诉客户端被攻击生物的生命值出现的变化)
由于每个服务器的性能需求不同,有的服务器较小,有的服务器较大,有的服务器开了一段时间很多人后突然没人了,也有的服务器刚开始没有人结果一段时间后突然来了很多人。有的服务器本来就开不大,比如玩高端生电的服务器,也有的服务器人常年非常多,比如小游戏服,所以我没办法给大家提供完全准确的配置推荐,在这里我会给出各种情况下的性能需求,供大家参考。
通常从性能的角度来说,我们可以把服务器分成四个大类:Java版、BDS、非原版、生电、模组。而本文也会大致把服务器硬件分为低、中、高配和顶配四个主要档次。
Java版是最常见的服务器类型,如果你想开一个能用Java原版玩的服务器,那么你的服务器肯定属于这一类。几乎所有的主流java版服务器软件都有优化软件支持,所以在主流硬件上开服还是没有太多严重性能问题需要担心的。但是再优秀的软件也抗不住人多,如果你已经决定了要开一个大服务器,且资源和资金都足够,那么你就需要考虑一个高配的服务器,并且需要为斥巨资买顶配服务器做准备。我不建议任何人从一开始就砸钱买顶配服务器,因为谁也不知道你的服务器将来会不会遇到资金困难的时期。但如果你暂时并没有想开一个大服务器,你可以先考虑低配或者中配服务器,等需求量增大了再考虑高配服务器。
BDS是一种服务端,如果你要开的服务器是只能用基岩版玩的原版生存、插件生存、模组生存等等这些需要安装addon或者依赖原版游戏内容的服务器,那么你必须选择BDS。BDS的部署非常简单,但是操作起来很棘手。它最大的问题是性能优化。这个服务端经常出现各种bug,导致游戏性能要求一会非常低,偶尔非常高。对于BDS,你只有低配和高配或顶配两种方案可选。相较Java版来说BDS更加极端,如果你的服务器很少有人玩,那么你大可选择低配服务器,否则,一定要选择高配及以上服务器。 非原版服务器包括小游戏和一部分基岩版模组服。非原版服务器没有太多原版游戏的内容,游戏内容大多由社区开发,优化参差不齐,不过还好大部分软件的优化都还不错。我非常建议非原版服务器根据服务器的活跃度考虑计算资源的开支,这些服务器扩展性不强,但是往往性能需求和在线人数挂钩。多数时候你并不需要顶配服务器,只有在你开到hypixel那种超大的服务器的时候才需要,而且你都已经开到这种地步了,想必也不用再到处了解怎么样合理选择服务器配置了吧。 生电服类似于原版生存,但是它对于服务器的性能要求非常高,因为经常会有玩家造出生产效率高,对服务器性能压力也极高的机器。对于生电服,建议至少高配服务器起步,因为就算玩家在线的少,单个玩家开动机器对服务器造成的压力也是相当可观的,更何况生电服一般有假人,不算在线玩家却要消耗服务器的性能。通常生电服CPU都是新款i9。 模组服其实就相当于你把你玩的打mod的游戏放到服务器上运行。模组服对CPU和内存要求都更高,但并不是生电那种高到离谱的那种程度。通常情况下模组服需要至少中配服务器,人多的时候也需要高配服务器。模组服对于CPU多核心性能的要求更高,至于什么是多核心,和中高配有什么关系,下面都会有详细说明。
CPU的工作其实就是进行一次一次的运算。CPU的速度越快,它计算出结果的速度就越快,性能就越强。比如计算1+1+1+1+1+1,一号CPU每秒计算两次加法,那么它就需要三秒才能完成计算。而二号CPU每秒计算三次加法,它只需要两秒就能完成计算。主频和IPC是决定CPU速度的两个重要指标,这两个参数越高,CPU的速度就越快。通常CPU的“频率”就是CPU的主频,通常以GHz为单位。对于一个mc服主来说,了解如何看CPU的最高频率就够了。通常最高频率的指标名为“加速频率”“最高睿频”这些,直接上网搜索CPU的型号就可以查到。例如e5-2680v2的最高频率是3.6GHz,i9-12900k的最高频率是5.2Ghz。IPC通常不会直接标注在CPU参数上,但是有一个这样的规律:CPU越新,IPC越高。例如在同样的主频下,12代英特尔酷睿的性能强于11代,锐龙7000系的性能强于5000系。主频和IPC共同决定了CPU的速度,并不是其中一个指标更高就代表CPU一定更强。例如,i9 11900k的最大频率虽然有5.3GHz,但是它的速度不如主频5.2GHz的i9 12900k,因为12900k的IPC比11900k高得多,11900k领先0.1Ghz的主频无法弥补这个差距。
为什么CPU要做成多核心?随着人们对于电脑处理任务的需求越来越复杂,CPU需要同时处理多个任务。例如CPU此时正在处理1+1+1+1+1+1+...+1一个非常长的计算任务,此时突然又让CPU计算2×2×2×2×2×...×2,那么CPU此时就需要分心,一边处理之前的加法任务,一边处理这边新的乘法任务,整体的效率就下降了。那么这个时候就可以再让一个CPU来分担其中一个任务,就可以做到两边互不干扰,整体的计算效率又是两个CPU之和。而现在的多核心CPU就是把这些很多个CPU封装在一起,一个CPU就是一个核心。现在,随着同时需要进行的任务越来越多,CPU的核心数也越来越多。在服务器领域,由于需要同时处理大量数据,服务器CPU经常有更多的核心数。
CPU多核心优化是什么?为什么有的程序不能做有的程序不能做?从上面的讲解我们可以看出来,必须要有能够同时进行的计算任务,才能分配给很多个CPU核心,让多核心CPU发挥优势。
不巧的是,我们的mc服务器就是一个这样很难进行多核心优化的程序。虽然有人提到mc服务器有多核心优化,但是其中一个计算任务达到CPU的极限,导致这个任务的运行变慢,也会拖慢整个服务器的运行速度。所以在选择CPU的时候,就需要选择主频更高,款式更新的CPU,因为这样的CPU单核性能(等于主频乘以IPC)更高,运行mc就会更流畅。
服务器上最常见的英特尔处理器是酷睿和至强系列。酷睿系列通常以i开头标识其性能等级,性能从低到高分为i3、i5、i7、i9,i9从第八代酷睿才开始有,而第一款台式机的游戏级的i9处理器是第九代的9900k。对于同一代CPU,并不一定代表着其i后面的数字越高,性能就越高。还需要综合其他方面进行判断。CPU后面的型号,前一位或前两位代表CPU是第几代,比如11700k是第十一代,6100f是第六代。通常来说,在后三位数字相同的情况下,前面的数字越高,代表CPU越新,性能越强。第几代后面的数字代表CPU的等级,和CPU是i几有一定关系。比如1-3是i3,4-6是i5,7是i7,8可能是i7或者i9,9是i9。例如12490f是i5,4790k是i7,10850k是i9,12800h是i7。等级后面两位数字代表CPU细分的型号,比如10105f比10100f稍快,12490f比12400f稍快,4790k比4770k稍快。最后一位的字母代表CPU的属性。如果什么都没有那就是标准版的CPU,通常用在办公和设计用的电脑上,如果有k代表CPU频率更高,适合游戏(就比如说开mc服务器)和发烧友,但是对配套三件要求也更高,如果有f代表CPU没有集成显卡,必须电脑上安装独立显卡才正常工作,而且这种CPU安装到主板上后主板的显示接口也用不了,但是这种CPU通常更便宜,功率也相对低一些,如果有h代表是用于笔记本的高频率CPU,更适合游戏和大型工作,但是安装这种CPU的电脑续航也不太好,如果有u代表是用于笔记本的低功耗CPU,更适合长时间办公,续航非常好。
至强系列分为很多个小的系列,至强的e系列常见的有e3和e5。e3系列就是吧友常说的“e3神教”,因为性能近似四代i7而且还可以安装在支持四代酷睿的主板上而非常受欢迎。e3常见的CPU几乎全都以12开头,第三位和第四位代表其等级。在CPU型号的最后带会跟上一个v几,这就是第几代至强e3,类似酷睿那边的第几代。e5系列就是吧友常说的“洋垃圾”,因为价格便宜而且多核心性能强而非常受欢迎,但是普遍频率较低,同时也被不良商家包装成“i9级性能”出售,很多电脑小白深受其害。e5系列的CPU型号多而杂,区分时建议上网查找参数,主要关注它的CPU架构,频率和核心数。后面英特尔推出新的至强系列,就是所谓的金银铜牌CPU。金银铜牌类似酷睿的i几,铂金是等级最高的。型号的第一个数字就代表CPU的等级,比如6是金牌,8是铂金。第二位是表示第几代至强。第三位和第四位表示的是细分的型号。
服务器上最常见的AMD处理器是锐龙系列和EPYC(霄龙系列)。锐龙和酷睿一样有等级的划分,分为r3,r5,r7,r9。CPU型号的第一位代表第几代锐龙,比如5600g是第五代锐龙,7800x3d是第七代锐龙。除了第二代锐龙,只有奇数代的锐龙有台式机用的游戏级CPU,例如第六代和第八代锐龙就没有这种CPU。型号的第二位是CPU的等级,通常与r几相关。第三位和第四位是CPU的细分型号。CPU后面的X代表CPU是游戏级的,频率更高;G代表是有核显的台式机CPU;H代表是笔记本的高性能CPU,U代表的是低功耗的CPU。
至于物理机则是相对服务器而言,物理机不存在上文提到的模拟硬件的情况,可以使用服务器上所有的资源,没有核心数和内存的限制。
首先我们需要具体化之前提到的四档配置。用具体的CPU来界定的话大致可以这样分:
低配:安卓手机/树莓派——e5 16xx
中配:e5 26xx——11700k
高配:8700k物理机——最新款i9云服务器(截止本文写成为14900k)
顶配:12700k物理机——最新款i9物理机(截止本文写成为14900k)
一部分配置重合了,因为这部分配置既可以算低的那档又可以算高的那档
首先,你需要选择你是否需要物理机。对于一个新手mc服主来说,直接购买中低配档次的物理机是没有意义的,因为你无法确定服务器能开多久,也无法确定自己的服务器是否需要这么高的配置。如果未来很长一段时间内你的服务器都只需要用到一年240块的配置,但是你花一千多买了个物理机,那这钱就是白花了。如果你手里已经有这些配置的闲置电脑,那么你可以直接把它用作服务器,不需要考虑购买云服务器。如果你选择了物理机,你就需要一个地方来保管它。你可以选择把它放在自己家,也可以送去机房托管。如果放在自己家,你就需要给服务器找一个你觉得不碍事的地方,而且它的噪音和光不会影响到你,你还要保证服务器有稳定的电力供应和网络连接,不能因为你家里三天两头停电断网影响服务器正常运行。至于机房托管就是你需要联系到一个机房,然后把电脑邮寄过去或者人力背过去,后续机房有偿会帮你保管服务器,给你的服务器提供电源和网络,而你仍然有服务器的控制权和所有权,并且托管结束后机房会把电脑还给你。下面我会列举云服务器和物理机的优缺点供大家权衡利弊:
稳定性:云服务器胜出。云服务器由于有专业的机房维护,稳定性普遍更强。如果选择物理机并送到机房托管,那么稳定性相近,然而你自己的电脑硬件出现问题则需要你自己解决。
弹性:云服务器胜出。云服务器可以随时更改服务器的硬件类型来提高性能或节省开支,然而物理机永远是那个硬件,除非你花钱买新硬件换上,然而换完了你还需要考虑旧硬件如何处理。
配置难度:云服务器胜出。云服务器硬件开箱即用,通过服务器上的软件就可以快速地为服务器重装系统。然而如果是物理机则需要自行购买或者安装硬件,装好了电脑还要自己装系统。
费用:物理机胜出。通过各种购物平台可以找到很多便宜的硬件,自己有闲置电脑的情况下更是不用担心硬件成本。然而云服务器包含了大量的维护成本,费用相较物理机要贵出很多。
如果你非常在意费用,那么很可能云服务器的优点对于你来说不值一提。毕竟你再回去看一眼,好像云服务器的优点对于mc服主来说也不是很重要
如果是选择物理机,建议尽可能选需求之上更高一档的内存容量,频率可以选择低的,ddr4内存2400mhz就完全够用
注意,开服后期不仅需要一个服务端,服务器足够大的时候,你需要同时开很多个服务端,还需要开一堆辅助软件,所以如果你开的服务器规模上升,那你就必须要考虑用大内存的服务器。
不要看完本教程就急着买硬件,至于何时需要开很多个服务端,后续的教程会讲到,你需要了解了自己的需求之后,再确定自己需要的配置。
阿里腾讯华为这三家是最有名最稳定的云服务器运营商,但是他们的服务器非常贵,而且配置也不高,要想以相对便宜的价格买到他们的服务器,只能蹲他们的优惠。不过他们的服务器非常稳定,几乎不会出现宕机的情况。
其他的服务器运营商有大有小,具体需要考察各家的口碑,并根据自己的预算综合判断。你也可以挨个试一遍各个运营商,最后选择最满意的回去续费。
(根据硬件在运行mc服务器方面性能性能从小到大排列)
(数据在服务器内容正常时得出,服务器出现bug或有滥用行为如区块不卸载bug或有人养大量村民时的数据不计入)
麒麟950:vanilla1.16.5“勉强能带”,单人在服务器内地图加载缓慢,tps无法稳定在20;spigot1.20.1加载区块依然慢tps不稳定
i3-5005u:vanilla1.19.2单人tps无法稳定在20,换成同版本paper端后单人tps长期稳定在20,更高压力未测试
i5-5200u:vanilla1.12.2单人tps无法稳定在20,换成同版本paper端后两人tps长期稳定在20,更高压力未测试;purpur1.16.5 3人内tps长期稳定在20,更高压力未测试
e5-1680v2:BDS1.20.x后期3人时tps仅能维持在10-15
(e5 26xx在这个区间,但是无数据)
至强金牌6148:BDS1.20.x前期3-4人内tps可稳定在20,压力更高时tps开始不稳定,人数达到15时tps只有4.5(注:腾讯云很多云服务器都是这个u)
至强金牌8255c:BDS未知版本(可能在1.20以上)前期4人内tps可稳定在20,压力更高时tps开始不稳定(注:腾讯云很多云服务器都是这个u)
e3-1276v3:BDS1.20.x后期3-4人内tps可稳定在20,压力更高时tps开始不稳定;purpur1.19.4、paper1.19.2 3人内tps长期稳定在20,更高压力未测试
i9-9900k:BDS1.19.x后期6人内tps可稳定在20,更高压力未测试;
i7-10700k/11700k:BDS1.20.x后期6人内tps可稳定在20,压力更高时tps开始不稳定,经测试实体控制在1000内即可保证流畅;paper1.19.4 5人内tps长期稳定在20,更高压力未测试;leaf1.20.6 3人内tps长期稳定在20,更高压力未测试
i5-12400f超频5.2g:BDS1.20.80前期可20人无压力,更高压力未测试
i9-12900k:BDS1.20.x后期10人内tps可稳定在20,压力更高时tps开始不稳定,实体达到1500时tps仅个位数,经测试只要没有猪人塔刷沙机等卡服的生电机器即可保证服务器高效流畅运行;purpur1.19.2后期4人内tps长期稳定在20,压力更高时tps不稳定,这份数据很可能不准确,有其他干扰因素;
i9-13900k:mohist1.20.1,空岛前期10人以上tps稳定在20,更高压力未测试;arclight1.18模组服后期40人tps在2-7;
i9-14900k:leaves未知版本(可能在1.20以上)34人tps10左右
以上部分数据来自https://www.minebbs.com/threads/26484/#post-157639
笔者仅在BDS服务端的开服经验相对丰富,根据笔者的经验,可以对自己的CPU进行cpuz17跑分来确定服务器的单核性能,并且cpuz单核跑分每100分可带BDS后期情况下的一人,例如6148的跑分在350以上,那么可以带3-4人,1276v3跑分在400以上可以带4人,9900k和10700k跑分在550可以带5-6人,12900k跑分在800可以带8人,14900k跑分在接近1000可以带10人
根据笔者经验,英特尔的Haswell架构及其衍生架构均遵循每GHz主频对应100分,Broadwell架构及其衍生架构均遵循每GHz对应110分,e3、e5、四代、五代都是Haswell架构衍生或者和该架构性能相近,六代到十一代和至强一代到三代(各种牌的至强的型号第二个数字就是第几代比如6148是一代8256是二代)都是Haswell架构衍生或者和该架构性能相近
由于不同服务器的实际情况不同,各位服主需要根据自己服务器的情况综合判断,在服务器出现卡顿时优先优化服务器,实在无法优化时再考虑升级
如果你是连服务器都没成功开起来过的小白,那么我建议你到各大平台搜索“我的世界开服教程”,根据教程操作,直到你做到自己开设的服务器能够让你自己连接并在里面正常游戏
注意:我的世界分Java版和基岩版,基岩版不能直接进入Java版服务器,Java版也不能直接进入基岩版服务器!首先确保你能完全分清Java版和基岩版,然后再学习开服。
我有的时候会忘更新我的文章,可以直接在文章下面评论催更,或者加我的群715732100联系我,或者和我一起讨论开服吧
下一篇教程的草稿已经开始写了,位于Minimouse48的教程大全 ,非常想要继续了解的各位可以前往这里提前了解进度,或者也可以前往文章对应的仓库发pr和我一起完善!
由于本文需要跨平台发表,因此格式化的内容较少,还请各位读者谅解!
上回说到开服需要准备的内容,本文将讲解服务器的计算资源(硬件或云服务器)
服务端是怎么工作的?
这个问题有很多教程都讲过,但是也有很多教程不会讲。为了方便大家理解服务器,这里就再讲一遍吧。服务端的本质是去掉了游戏画面的游戏(客户端),而游戏程序(客户端)的本质是加上了游戏画面的服务端。从最底层开始讲起,现代常见的电子游戏(video game)都基于图形界面,而计算机的图形界面的工作逻辑其实就是根据人在图形界面上做出的一系列动作做出反应,比如点击关闭按钮计算机就执行关闭窗口的操作,而双击应用程序的快捷方式计算机就会执行打开对应软件的操作。电子游戏其实也是计算机对人做出的操作进行一系列反应。不要理解为人需要对计算机的操作进行反应,而是要理解为人对计算机进行正确的操作计算机将执行一个程序,而错误的操作将使计算机执行另一个程序。例如在我的世界中,移动鼠标,游戏画面就会跟着移动;按下w,游戏人物就会向前移动;按住鼠标左键,游戏就会破坏眼前的方块。在与僵尸战斗时,如果对着僵尸按下左键,僵尸就会被攻击并后退,如果不对着僵尸按下左键,僵尸就不会受到攻击,并得以靠近和攻击你。在这个人与计算机交互的过程中,计算机要做的事就是处理人的输入,并做出反应。比如对于我的世界来说,当你对着方块按下左键时,电脑检测到了你按下左键,然后开始执行相关的程序,之后在屏幕上做出反应,显示对应的生物被攻击。对于mc服务器来说,客户端(client),也就是玩家用来玩服务器使用的游戏程序,就是这个用来检测输入并进行显示输出的软件,而服务端(server),也就是开服的时候需要运行的那个最关键的软件,就是这个用来处理的软件。实际上在游戏中,各个程序对于玩家输入的处理要复杂得多,比如对于上述例子,在服务器里游戏的过程中,客户端检测到按下后,首先经过一定的计算,确定了玩家在攻击的生物,然后将这件事通过网络发送给服务器。随后服务器经过处理,把攻击的结果告诉客户端。
客户端:检测到鼠标左键按下,让我看看……此时玩家面向xx角度,附近的地形是xx,生物有xx,那么他应该是想要攻击xx生物。
客户端通过网络告诉服务端:玩家xx攻击了生物xx!
此时服务器收到了这个指令,开始处理。
服务器:生物xx被攻击的话,他的坐标应该出现xx变化,生命值应该出现xx变化。
服务器通过网络告诉客户端:玩家xx攻击生物xx成功了!生物此时的坐标变化为xx!(由于游戏本身并不显示生物血量,所以服务端并没有告诉客户端被攻击生物的生命值出现的变化)
服务端的性能需求是什么样的?
在DIY台式机的时候,吧友们往往会让提问者们先说需求。mc服务器的三件也是一样。首先,你必须要知道mc服务器的资源消耗是很高的。平时你玩游戏的时候也能感受得到,如果玩高版本的游戏(不要去玩很多年前发布的低版本了之后觉得很流畅就觉得mc是个占用低的游戏),电脑配置低的会发现自己玩这个游戏很吃力,甚至带不动,就算是电脑配置高的也会感觉这个游戏对电脑的性能压力似乎很奇怪,好像占用不高但是玩起来也不是很流畅。这是因为ojng的神必优化导致了游戏的运行效率非常低。而到了服务端也是一样的情况。虽然因为去掉了渲染相关的计算,对于单人的情况性能需求小一些,但是服务端需要同时处理很多个玩家的数据,所以性能需求又提高上来了。由于每个服务器的性能需求不同,有的服务器较小,有的服务器较大,有的服务器开了一段时间很多人后突然没人了,也有的服务器刚开始没有人结果一段时间后突然来了很多人。有的服务器本来就开不大,比如玩高端生电的服务器,也有的服务器人常年非常多,比如小游戏服,所以我没办法给大家提供完全准确的配置推荐,在这里我会给出各种情况下的性能需求,供大家参考。
通常从性能的角度来说,我们可以把服务器分成四个大类:Java版、BDS、非原版、生电、模组。而本文也会大致把服务器硬件分为低、中、高配和顶配四个主要档次。
Java版是最常见的服务器类型,如果你想开一个能用Java原版玩的服务器,那么你的服务器肯定属于这一类。几乎所有的主流java版服务器软件都有优化软件支持,所以在主流硬件上开服还是没有太多严重性能问题需要担心的。但是再优秀的软件也抗不住人多,如果你已经决定了要开一个大服务器,且资源和资金都足够,那么你就需要考虑一个高配的服务器,并且需要为斥巨资买顶配服务器做准备。我不建议任何人从一开始就砸钱买顶配服务器,因为谁也不知道你的服务器将来会不会遇到资金困难的时期。但如果你暂时并没有想开一个大服务器,你可以先考虑低配或者中配服务器,等需求量增大了再考虑高配服务器。
BDS是一种服务端,如果你要开的服务器是只能用基岩版玩的原版生存、插件生存、模组生存等等这些需要安装addon或者依赖原版游戏内容的服务器,那么你必须选择BDS。BDS的部署非常简单,但是操作起来很棘手。它最大的问题是性能优化。这个服务端经常出现各种bug,导致游戏性能要求一会非常低,偶尔非常高。对于BDS,你只有低配和高配或顶配两种方案可选。相较Java版来说BDS更加极端,如果你的服务器很少有人玩,那么你大可选择低配服务器,否则,一定要选择高配及以上服务器。 非原版服务器包括小游戏和一部分基岩版模组服。非原版服务器没有太多原版游戏的内容,游戏内容大多由社区开发,优化参差不齐,不过还好大部分软件的优化都还不错。我非常建议非原版服务器根据服务器的活跃度考虑计算资源的开支,这些服务器扩展性不强,但是往往性能需求和在线人数挂钩。多数时候你并不需要顶配服务器,只有在你开到hypixel那种超大的服务器的时候才需要,而且你都已经开到这种地步了,想必也不用再到处了解怎么样合理选择服务器配置了吧。 生电服类似于原版生存,但是它对于服务器的性能要求非常高,因为经常会有玩家造出生产效率高,对服务器性能压力也极高的机器。对于生电服,建议至少高配服务器起步,因为就算玩家在线的少,单个玩家开动机器对服务器造成的压力也是相当可观的,更何况生电服一般有假人,不算在线玩家却要消耗服务器的性能。通常生电服CPU都是新款i9。 模组服其实就相当于你把你玩的打mod的游戏放到服务器上运行。模组服对CPU和内存要求都更高,但并不是生电那种高到离谱的那种程度。通常情况下模组服需要至少中配服务器,人多的时候也需要高配服务器。模组服对于CPU多核心性能的要求更高,至于什么是多核心,和中高配有什么关系,下面都会有详细说明。
让人抓狂的单线程软件
要想理解这段内容,你需要先了解为什么CPU要做成多核,以及什么是多核心优化,什么是主频,什么是IPC。CPU的工作其实就是进行一次一次的运算。CPU的速度越快,它计算出结果的速度就越快,性能就越强。比如计算1+1+1+1+1+1,一号CPU每秒计算两次加法,那么它就需要三秒才能完成计算。而二号CPU每秒计算三次加法,它只需要两秒就能完成计算。主频和IPC是决定CPU速度的两个重要指标,这两个参数越高,CPU的速度就越快。通常CPU的“频率”就是CPU的主频,通常以GHz为单位。对于一个mc服主来说,了解如何看CPU的最高频率就够了。通常最高频率的指标名为“加速频率”“最高睿频”这些,直接上网搜索CPU的型号就可以查到。例如e5-2680v2的最高频率是3.6GHz,i9-12900k的最高频率是5.2Ghz。IPC通常不会直接标注在CPU参数上,但是有一个这样的规律:CPU越新,IPC越高。例如在同样的主频下,12代英特尔酷睿的性能强于11代,锐龙7000系的性能强于5000系。主频和IPC共同决定了CPU的速度,并不是其中一个指标更高就代表CPU一定更强。例如,i9 11900k的最大频率虽然有5.3GHz,但是它的速度不如主频5.2GHz的i9 12900k,因为12900k的IPC比11900k高得多,11900k领先0.1Ghz的主频无法弥补这个差距。
为什么CPU要做成多核心?随着人们对于电脑处理任务的需求越来越复杂,CPU需要同时处理多个任务。例如CPU此时正在处理1+1+1+1+1+1+...+1一个非常长的计算任务,此时突然又让CPU计算2×2×2×2×2×...×2,那么CPU此时就需要分心,一边处理之前的加法任务,一边处理这边新的乘法任务,整体的效率就下降了。那么这个时候就可以再让一个CPU来分担其中一个任务,就可以做到两边互不干扰,整体的计算效率又是两个CPU之和。而现在的多核心CPU就是把这些很多个CPU封装在一起,一个CPU就是一个核心。现在,随着同时需要进行的任务越来越多,CPU的核心数也越来越多。在服务器领域,由于需要同时处理大量数据,服务器CPU经常有更多的核心数。
CPU多核心优化是什么?为什么有的程序不能做有的程序不能做?从上面的讲解我们可以看出来,必须要有能够同时进行的计算任务,才能分配给很多个CPU核心,让多核心CPU发挥优势。
不巧的是,我们的mc服务器就是一个这样很难进行多核心优化的程序。虽然有人提到mc服务器有多核心优化,但是其中一个计算任务达到CPU的极限,导致这个任务的运行变慢,也会拖慢整个服务器的运行速度。所以在选择CPU的时候,就需要选择主频更高,款式更新的CPU,因为这样的CPU单核性能(等于主频乘以IPC)更高,运行mc就会更流畅。
什么样的CPU才更好更快?
我们应该已经听说过电脑上的各种各样的CPU,但是你可能还不会很好地区分他们哪个更快,哪个性能更高,下面就来介绍一下英特尔、AMD处理器各代之间性能的差距,以及两个品牌之间性能的比较。服务器上最常见的英特尔处理器是酷睿和至强系列。酷睿系列通常以i开头标识其性能等级,性能从低到高分为i3、i5、i7、i9,i9从第八代酷睿才开始有,而第一款台式机的游戏级的i9处理器是第九代的9900k。对于同一代CPU,并不一定代表着其i后面的数字越高,性能就越高。还需要综合其他方面进行判断。CPU后面的型号,前一位或前两位代表CPU是第几代,比如11700k是第十一代,6100f是第六代。通常来说,在后三位数字相同的情况下,前面的数字越高,代表CPU越新,性能越强。第几代后面的数字代表CPU的等级,和CPU是i几有一定关系。比如1-3是i3,4-6是i5,7是i7,8可能是i7或者i9,9是i9。例如12490f是i5,4790k是i7,10850k是i9,12800h是i7。等级后面两位数字代表CPU细分的型号,比如10105f比10100f稍快,12490f比12400f稍快,4790k比4770k稍快。最后一位的字母代表CPU的属性。如果什么都没有那就是标准版的CPU,通常用在办公和设计用的电脑上,如果有k代表CPU频率更高,适合游戏(就比如说开mc服务器)和发烧友,但是对配套三件要求也更高,如果有f代表CPU没有集成显卡,必须电脑上安装独立显卡才正常工作,而且这种CPU安装到主板上后主板的显示接口也用不了,但是这种CPU通常更便宜,功率也相对低一些,如果有h代表是用于笔记本的高频率CPU,更适合游戏和大型工作,但是安装这种CPU的电脑续航也不太好,如果有u代表是用于笔记本的低功耗CPU,更适合长时间办公,续航非常好。
至强系列分为很多个小的系列,至强的e系列常见的有e3和e5。e3系列就是吧友常说的“e3神教”,因为性能近似四代i7而且还可以安装在支持四代酷睿的主板上而非常受欢迎。e3常见的CPU几乎全都以12开头,第三位和第四位代表其等级。在CPU型号的最后带会跟上一个v几,这就是第几代至强e3,类似酷睿那边的第几代。e5系列就是吧友常说的“洋垃圾”,因为价格便宜而且多核心性能强而非常受欢迎,但是普遍频率较低,同时也被不良商家包装成“i9级性能”出售,很多电脑小白深受其害。e5系列的CPU型号多而杂,区分时建议上网查找参数,主要关注它的CPU架构,频率和核心数。后面英特尔推出新的至强系列,就是所谓的金银铜牌CPU。金银铜牌类似酷睿的i几,铂金是等级最高的。型号的第一个数字就代表CPU的等级,比如6是金牌,8是铂金。第二位是表示第几代至强。第三位和第四位表示的是细分的型号。
服务器上最常见的AMD处理器是锐龙系列和EPYC(霄龙系列)。锐龙和酷睿一样有等级的划分,分为r3,r5,r7,r9。CPU型号的第一位代表第几代锐龙,比如5600g是第五代锐龙,7800x3d是第七代锐龙。除了第二代锐龙,只有奇数代的锐龙有台式机用的游戏级CPU,例如第六代和第八代锐龙就没有这种CPU。型号的第二位是CPU的等级,通常与r几相关。第三位和第四位是CPU的细分型号。CPU后面的X代表CPU是游戏级的,频率更高;G代表是有核显的台式机CPU;H代表是笔记本的高性能CPU,U代表的是低功耗的CPU。
我该如何选择服务器的配置?
之前提到服务器可以选择使用自己的电脑或者租云服务器,首先来解释一下云服务器的概念:云服务器就是通过软件模拟硬件,然后在模拟出的硬件上运行软件,就像是在电脑上模拟了一台电脑,这样模拟出来的电脑就叫虚拟机。由于是使用程序模拟,一台电脑上可以模拟很多个这样的虚拟机,就好像凭空用一台电脑创造了很多台电脑。虚拟机的运行也需要消耗模拟它的电脑的性能,而让服务器运行这些虚拟机的人也不希望让所有的虚拟机抢占资源,毕竟这会让服务器满载,拖慢所有虚拟机的性能。所以虚拟机可以选择只允许它使用CPU的其中几个核心和一部分内存,所以云服务器经常会出现像“2680v2 2核心4GB”这样放在硬件上不太合理的配置(2680有10个核心)。由于服务器的物理资源是有限的,所以核心数或内存多的虚拟机消耗的服务器资源多,价格就会更贵。至于物理机则是相对服务器而言,物理机不存在上文提到的模拟硬件的情况,可以使用服务器上所有的资源,没有核心数和内存的限制。
首先我们需要具体化之前提到的四档配置。用具体的CPU来界定的话大致可以这样分:
低配:安卓手机/树莓派——e5 16xx
中配:e5 26xx——11700k
高配:8700k物理机——最新款i9云服务器(截止本文写成为14900k)
顶配:12700k物理机——最新款i9物理机(截止本文写成为14900k)
一部分配置重合了,因为这部分配置既可以算低的那档又可以算高的那档
首先,你需要选择你是否需要物理机。对于一个新手mc服主来说,直接购买中低配档次的物理机是没有意义的,因为你无法确定服务器能开多久,也无法确定自己的服务器是否需要这么高的配置。如果未来很长一段时间内你的服务器都只需要用到一年240块的配置,但是你花一千多买了个物理机,那这钱就是白花了。如果你手里已经有这些配置的闲置电脑,那么你可以直接把它用作服务器,不需要考虑购买云服务器。如果你选择了物理机,你就需要一个地方来保管它。你可以选择把它放在自己家,也可以送去机房托管。如果放在自己家,你就需要给服务器找一个你觉得不碍事的地方,而且它的噪音和光不会影响到你,你还要保证服务器有稳定的电力供应和网络连接,不能因为你家里三天两头停电断网影响服务器正常运行。至于机房托管就是你需要联系到一个机房,然后把电脑邮寄过去或者人力背过去,后续机房有偿会帮你保管服务器,给你的服务器提供电源和网络,而你仍然有服务器的控制权和所有权,并且托管结束后机房会把电脑还给你。下面我会列举云服务器和物理机的优缺点供大家权衡利弊:
稳定性:云服务器胜出。云服务器由于有专业的机房维护,稳定性普遍更强。如果选择物理机并送到机房托管,那么稳定性相近,然而你自己的电脑硬件出现问题则需要你自己解决。
弹性:云服务器胜出。云服务器可以随时更改服务器的硬件类型来提高性能或节省开支,然而物理机永远是那个硬件,除非你花钱买新硬件换上,然而换完了你还需要考虑旧硬件如何处理。
配置难度:云服务器胜出。云服务器硬件开箱即用,通过服务器上的软件就可以快速地为服务器重装系统。然而如果是物理机则需要自行购买或者安装硬件,装好了电脑还要自己装系统。
费用:物理机胜出。通过各种购物平台可以找到很多便宜的硬件,自己有闲置电脑的情况下更是不用担心硬件成本。然而云服务器包含了大量的维护成本,费用相较物理机要贵出很多。
如果你非常在意费用,那么很可能云服务器的优点对于你来说不值一提。毕竟你再回去看一眼,好像云服务器的优点对于mc服主来说也不是很重要
服务器性能不够时会发生什么
游戏不会掉帧,但是会卡顿,世界会像慢放了一样,时间流逝变慢,生物移动缓慢,同时伴随着延迟变高。如何选择内存容量
mc服务器是相当吃内存的,毕竟是个游戏服务器。通常情况下需要给服务端本身留出的内存,插件服需要1g内存,模组服2g,大型整合包可能需要多达4g,然后在此基础上,每增加1个最大玩家数,内存要求增加100m(大型整合包墙根。加上操作系统本身需要2g内存,再留出1g内存留给其他程序如果是选择物理机,建议尽可能选需求之上更高一档的内存容量,频率可以选择低的,ddr4内存2400mhz就完全够用
注意,开服后期不仅需要一个服务端,服务器足够大的时候,你需要同时开很多个服务端,还需要开一堆辅助软件,所以如果你开的服务器规模上升,那你就必须要考虑用大内存的服务器。
不要看完本教程就急着买硬件,至于何时需要开很多个服务端,后续的教程会讲到,你需要了解了自己的需求之后,再确定自己需要的配置。
如何选择CPU核心数
上文提到由于mc服务器由于多核心优化不好所以需要选择更新主频更高的CPU。但是一旦使用多个服务端,电脑就会让不同的服务端运行在不同的CPU核心上,多核CPU的优势再次显现出来了。而如果多核CPU的性能不够,就会有的服务端互相抢占同一个核心,导致两个服务端运行都慢。所以你需要根据自己服务器的规模选择CPU的核心数。如果只需要开一个服务端,只需要两个CPU核心,如果需要开很多个服务端,那么每多开一个服务端,就推荐再增加一到两个核心。有一个特例是模组服,对多核心的要求会更高,但是一个端给到4核心就非常够用了,而如果和其他服务端在同一个服务器上,同样也是给模组服多加1-2核心就够用了,服务器会自动平衡cpu的性能开销,让次要的、占用低的任务跑在同一个核心上。至于你到底需要开几个服务端,同上文内存的选择中所说,后续教程会提到。自己组物理机需要选择的硬件
mc服务器只对CPU性能和内存容量有要求,其他都没有要求。所以选择硬件的时候,只需要选择足够好的CPU和内存即可。你甚至可以用机械硬盘当系统盘,显卡用亮机卡,只要保证散热能压得住CPU,主板供电能带动CPU(i9或者r9建议上x或者z的高端主板否则可能供电不够,当然硬用也不是不能用),电源质量过关即可云服务器的选择
需要注意的是,如果云服务器价格较低,也会容易出现稳定性不够的情况。例如小厂的服务器就可能会出现相对频繁的宕机。此外还有的运营商可能会突然倒闭,并且倒闭的时候可能不会归还你服务器的数据(圈内管经营存在问题的运营商叫跑路云,因为他们随时有可能跑路)阿里腾讯华为这三家是最有名最稳定的云服务器运营商,但是他们的服务器非常贵,而且配置也不高,要想以相对便宜的价格买到他们的服务器,只能蹲他们的优惠。不过他们的服务器非常稳定,几乎不会出现宕机的情况。
其他的服务器运营商有大有小,具体需要考察各家的口碑,并根据自己的预算综合判断。你也可以挨个试一遍各个运营商,最后选择最满意的回去续费。
相关经验参考
(部分经验来自其他服主,非本人得出)(根据硬件在运行mc服务器方面性能性能从小到大排列)
(数据在服务器内容正常时得出,服务器出现bug或有滥用行为如区块不卸载bug或有人养大量村民时的数据不计入)
麒麟950:vanilla1.16.5“勉强能带”,单人在服务器内地图加载缓慢,tps无法稳定在20;spigot1.20.1加载区块依然慢tps不稳定
i3-5005u:vanilla1.19.2单人tps无法稳定在20,换成同版本paper端后单人tps长期稳定在20,更高压力未测试
i5-5200u:vanilla1.12.2单人tps无法稳定在20,换成同版本paper端后两人tps长期稳定在20,更高压力未测试;purpur1.16.5 3人内tps长期稳定在20,更高压力未测试
e5-1680v2:BDS1.20.x后期3人时tps仅能维持在10-15
(e5 26xx在这个区间,但是无数据)
至强金牌6148:BDS1.20.x前期3-4人内tps可稳定在20,压力更高时tps开始不稳定,人数达到15时tps只有4.5(注:腾讯云很多云服务器都是这个u)
至强金牌8255c:BDS未知版本(可能在1.20以上)前期4人内tps可稳定在20,压力更高时tps开始不稳定(注:腾讯云很多云服务器都是这个u)
e3-1276v3:BDS1.20.x后期3-4人内tps可稳定在20,压力更高时tps开始不稳定;purpur1.19.4、paper1.19.2 3人内tps长期稳定在20,更高压力未测试
i9-9900k:BDS1.19.x后期6人内tps可稳定在20,更高压力未测试;
i7-10700k/11700k:BDS1.20.x后期6人内tps可稳定在20,压力更高时tps开始不稳定,经测试实体控制在1000内即可保证流畅;paper1.19.4 5人内tps长期稳定在20,更高压力未测试;leaf1.20.6 3人内tps长期稳定在20,更高压力未测试
i5-12400f超频5.2g:BDS1.20.80前期可20人无压力,更高压力未测试
i9-12900k:BDS1.20.x后期10人内tps可稳定在20,压力更高时tps开始不稳定,实体达到1500时tps仅个位数,经测试只要没有猪人塔刷沙机等卡服的生电机器即可保证服务器高效流畅运行;purpur1.19.2后期4人内tps长期稳定在20,压力更高时tps不稳定,这份数据很可能不准确,有其他干扰因素;
i9-13900k:mohist1.20.1,空岛前期10人以上tps稳定在20,更高压力未测试;arclight1.18模组服后期40人tps在2-7;
i9-14900k:leaves未知版本(可能在1.20以上)34人tps10左右
以上部分数据来自https://www.minebbs.com/threads/26484/#post-157639
笔者仅在BDS服务端的开服经验相对丰富,根据笔者的经验,可以对自己的CPU进行cpuz17跑分来确定服务器的单核性能,并且cpuz单核跑分每100分可带BDS后期情况下的一人,例如6148的跑分在350以上,那么可以带3-4人,1276v3跑分在400以上可以带4人,9900k和10700k跑分在550可以带5-6人,12900k跑分在800可以带8人,14900k跑分在接近1000可以带10人
根据笔者经验,英特尔的Haswell架构及其衍生架构均遵循每GHz主频对应100分,Broadwell架构及其衍生架构均遵循每GHz对应110分,e3、e5、四代、五代都是Haswell架构衍生或者和该架构性能相近,六代到十一代和至强一代到三代(各种牌的至强的型号第二个数字就是第几代比如6148是一代8256是二代)都是Haswell架构衍生或者和该架构性能相近
由于不同服务器的实际情况不同,各位服主需要根据自己服务器的情况综合判断,在服务器出现卡顿时优先优化服务器,实在无法优化时再考虑升级