MC开服指南(软硬件皆有)和牢骚

您所在的位置:网站首页 搭建服务器用什么cpu好 MC开服指南(软硬件皆有)和牢骚

MC开服指南(软硬件皆有)和牢骚

2023-08-13 18:20| 来源: 网络整理| 查看: 265

一、游戏本身对于服务器的影响1、 MC游戏本身对于服务器的优化

“MC的多核心优化极差!”这是普遍的想法,也是过去的想法,抛开1.13海洋更新之后的版本,这个结论基本是正确的。

大多数服务器都集中在1.7.10-1.8.9,这几个版本的多核心优化极差,mojang对于MC的多核心优化是从1.12版本开始的,但那个版本的优化也仅仅是有,并不优秀。

而到了1.13海洋更新之后,多核心优化慢慢好起来了。我在24线程的服务器下进行1.14.4版本的服务器测试,能够吃到12个核心。这样测试并不严谨,但是相比1.12版本只能吃5个核心。已经十分“感人”。

2、游戏对于多线程优化的难点以及解决方案

回到游戏本身对服务器的影响上来,多核心对于游戏来讲困难吗?分情况,分角度。现阶段大多数游戏引擎对于并行计算都已经非常普遍了,例如动画中就有很多可以并行做的系统,粒子特效、碰撞测试等等。这些都是包含在游戏引擎当中的,本来是有普遍的解决方案的,但遗憾的是。。。现阶段大家流行玩的版本是java版。。。

Java本身不是为了游戏所开发的语言,为了保证游戏高效运行,大多数开发者选择的都是更为底层的编程语言,c/c++/c#,以及利用这些语言所开发出的游戏引擎。这就是为什么基岩版的优化要远远好于Java版。

关于游戏多线程优化的问题,可以参考知乎对于该论题的讨论:https://www.zhihu.com/question/52957429。本文不再赘述。简单来讲,java版本想要做多核心优化,限于现在的游戏机制,难度是很大的。(ps:事实上,光影和材质其实可以考虑做一次单独的优化,1.16可以通过资源包来导入光影,我不确定这是光影作者们的一次突破还是mojang的通融。讨论下去又会没完没了,所以不多做延伸。)

 

二、游戏对于服务器性能的侧重点1、主频、内存、带宽的影响

先说硬件,最简单粗暴的选择方式就是:

内存决定了你的服务器能承载的人数;

CPU决定了你们在服务器里能一次做多少事情;

带宽决定了你的服务器玩着是否流畅。

 

其中带宽是最为玄学(花钱)的一个问题,因为牵扯到线路优化、运营商限速等一系列毛病。我就遇到过我一个北京的朋友,连我北京的服务器1000多延迟,我在四川50多。就很尴尬,我见过最遥远的距离,就是服务器跟你在同一个市,而网上却相距千里。。。。。。

 

2、游戏设置梗概

在硬件达到瓶颈的情况下,我们依旧存在优化方案。最为常见且为多数玩家诟病的方式就是降低视距。MC服务器的默认视距是10,PVP服务器大多数会调整为4。

除此之外还有以下方式:

1、小游戏可以通过多个服务器分担的方式进行,然后利用MySQL进行用户数据同步。简单来讲,就是你进入游戏后把你转移到另一个服务器,以此来分担主服务器的压力。

2、建筑服可以关闭生物生成、关闭昼夜变化、关闭火焰蔓延、关闭生物更新等游戏规则。

3、阉割部分游戏机制。。。例如红石、BUD等。。。不建议,这种方式非常影响游戏体验。

4、1.16版本之后可以调整实体计算范围,这也能降低性能消耗。

5、加入优化插件、优化mod等。

除此之外应该还有别的优化方案,但大多数都是以牺牲某些游戏机制为代价的。与其说是“优化”,不如说是“取舍”。

 

三、服务器类型1、服务器类型综述

通常开服无外乎就是面板服、vps、云服务器。

面板服基本可以不考虑,一是因为可自定义的内容受到平台限制,有些面板服甚至传个文件还得联系客服,这是一个服主无法容忍的。因为你得保证所有东西都在你自己的掌控之下。二是因为面板服大多数自带插件,也就是自带了阉割版本的MC。。。

从盈利性质的角度来讲,云服务器其实是最具性价比的,但在玩家基数不足的情况下,其优势并不明显。所以VPS则成了普遍的折中方案。

除此之外还有家用电脑和实体服务器,这两种方案最大的好处是所有东西基本都在自己掌控之下。(除了ip,因为静态公网ip贵,也没必要。)坏处则是需要本钱,需要一个地方放它,尤其实体服务器,这玩意儿吵死了。

2、VPS

综上所述,面板服不考虑,我们先从VPS开始,这东西最大的好处就是他的配置方案,主流的云服务器都是1核搭载2G/4G。VPS则可以1核搭载8G甚至16G。。。。。。对于游戏来讲,大内存意味着大容量,能够让你的MC服务器里塞更多人。

至于CPU是否足以支持这么多人游戏?降低视距不就完事了,能玩就行还要什么自行车。

如果仅仅是1.7/1.8版本,只考虑内存和带宽即可,丰富且完善的插件和变态的游戏设置足以让你的服务器应对尽可能多的玩家。

如果是高版本则不好协调,总体上以带宽为主,保证游戏时不回弹;以CPU为辅,保证游戏时不卡方块;最后内存方面能承载多少人算多少人,设置好服务器最大人数即可。低版本的具体标准可以在优化插件那里找到,高版本我也是凭感觉,除了必要的mod,例如玩红石需要结构显示和投影,玩建筑需要optifine/optifabric等,为了保证游戏性,通常不增加额外优化插件/mod。

3、云服务器

一般来讲,贵的东西最大的缺点,就是贵。云服务器本身不是为了游戏所设计的,但性能和服务方面用于游戏也没有问题,要知道,现阶段能做云计算的厂家,无一不是行业领袖。

最好的云服务器是阿里云,性价比最高的是腾讯云、华为云。除此之外还有百度云、网易云。兼具性价比的情况下,腾讯云和华为云是较好的选择。(最好在有优惠券的时候去买,比如华为云经常有满2000减500,满4000减1500这种)

开新服的话,主频选择尽可能大的,内存选择少核多内存的,带宽选择“按流量计费”,固定带宽太贵了。

近几年我开的都是高版本,视距很高的建筑服和消耗很大的红石服,所以高版本的选择标准我也没有仔细研究过。其中一个16视距困难难度不改其他任何游戏规则的MOD建筑服,2核8G,动态300M带宽按流量计费,一次性承载20位建筑师是能保证流畅的(有WE的情况下)。

4、实体服务器

实体服务器现在的情况下都是买二手,北上广深大厂淘汰下来的二手货都行。价格通常在1500元-4000元不等。

我购买过一套2500元的服务器配置如下:

CPU:E52637V2*2,主频3.5G

内存:32G,频率1333

硬盘:2个3T组的raid1

价格并不贵,对比2核8G,主频2.5G,一年2000元的云服务器。还是很有性价比的。

购买实体服务器一定要看准主频和核心数,有些服务器用的U虽然很好,线程很多,但是单个MC服务器并不能物尽其用,所以没必要。

总体上只看主频就行了,这种服务器线程都不需要考虑,因为实体服务器一般都是多个CPU,线程这东西直接堆CPU数量就完事了。

内存方面不需要刻意追求高频率内存,实际上对于MC服务器的影响并不是特别大。

硬盘一定得至少有2块组一个raid1做备份,毕竟二手货,真坏了数据没了就GG了,有钱的话可以买3块组raid5。

操作系统选择linux,主流的一般用centos,ubantu/Debian也可以。装操作系统和组raid可以让商家帮忙,不建议不熟悉linux系统的人自己装,因为里面还是有挺多坑的,例如我就栽在了centos8开网口的坑里。。。。。。

最后,如果你真的买了实体服务器,一定要多加学习计算机基础知识充分利用他,开多个服无所谓,只开一个服的话肯定会有多余的线程,你可以用来搭建一个私人网盘或者文件资料库什么的,物尽其用嘛。

5、家用电脑

如果你是为了好友联机,人不是很多,那么你完全可以用自己的电脑开。家用电脑厉害的什么9900k之类的,性能比服务器好多了,而且好友联机不用一直开着,即使是超5G也不用特别担心散热问题。一个CPU的性能不仅仅是看频率,还要看他的工艺,他的架构。比如我那台E52637V2,主频3.5,他是22纳米的工艺,最大适配DDR31866的频率。跟你的主机,什么14nm/7nm,搭载DDR43000多频的肯定同主频下没法儿比较。当然我这里说的是开MC服务器,因为这种服务器多核心超大内存他还有很多额外的作用。所以人不多的情况下,你完全可以自己的电脑开。

四、网络解决方案

服务器的问题解决了,剩下的就是网络问题了。开好服务器后需要一个对外窗口,也就是能让别人找到你的窗口。

云服务器都会给你分配ip,你直接通过ip访问就行了。但是实体服务器和家用电脑就麻烦了。

1、域名解决方案

大多数VPS为了省那几个静态ip,会直接给给你准备个绑定域名的方案来对外开放。你买个域名绑上去就可以了。另外还有些服务器喜欢搞个门面网站,搞是可以搞,但是不建议网站和服务器同一个域名,攻击网站的方式太easy了。连带着就连累了你的服务器。

毕竟大多数人都没有多余的闲钱去做安全维护。。。。。。无奈。

2、家用宽带ddns解决方案

(1)、确定自己的宽带是不是公网ip

按下win+r打开运行窗口;(win键就是画了个windows图标,按一下弹开始菜单那个)

输入cmd后回车;

cmd

输入ipconfig后回车;

找到以太网适配器下你的ip地址,记下来;

ip

打开浏览器,百度一下“ip”;

ip

对比两个ip是否相同,如果相同则直接从第(3)步开始继续,不相同则继续进行第(2)步。

我这里家用宽带用了路由器所以没有显示正确的ip,需要到路由器里去看。

路由

(2)、将宽带修改为动态公网ip

电信用户直接打电话给电信,要求他们修改宽带为动态公网ip,一般电信会直接给你改。

移动用户先打电话给移动,要求修改宽带为动态公网ip,如果他们给你改了的话就继续第(3)步,不过一般移动人员会装傻不知道,或者直接不允许。你直接跟他讲不改就上工信部进行投诉。

网通用户同移动用户。

(3)、设置DDNS

通常路由器会内置DDNS程序,现在高级一点的服务器都是能直接在路由器进行这样的设置的,设置好后再绑定DMZ主机即可。

如果不知道自己的路由器怎么设置可自行百度。下面用TPLINK进行演示。

首先输入192.168.0.1进入路由器管理(这个是路由器的地址,不同的路由器可能有差异,但是一般都会在路由器背面标注出来,可以翻过来去看)。输入密码后进入路由器设置界面,点进“应用管理”。

应用管理

 

进入“应用管理”后,最重要的就是以下三项“IP与MAC地址绑定”、“DDNS”、“DMZ主机”

 

路由设置

由于咱们是动态公网ip,公网ip随时都可能变化,所以需要用一个域名和自己的路由器绑定,而域名是唯一的,这样就可以做到即使ip变动,也能正确访问。

直接点击“创建新域名”然后自己输一个喜欢的就行。

域名

DMZ主机绑定:

DDNS设置好了,那么我们的路由器就需要知道域名应该是对应的哪一台设备。将DMZ主机ip地址设置为实体服务器的内网地址即可。

DMZ

IP与MAC地址绑定:

因为每次重启电脑路由器都会随机分配一个ip给主机,所以为了避免每次重启服务器都要修改ip,直接绑定mac地址最方便。无法判断服务器mac地址的自行百度。

ip绑定

进入“ip与mac地址绑定”功能后会先显示一个映射表。这个表你连接路由器的设备越多,就越长。点一下右边那个“+”就可以成功绑定了。

往下拉可以看到“ip与mac绑定设置”

绑定

出现了你的服务器mac和ip绑定既完成绑定。

综上设置后,一定要记得把服务器的相关端口打开,MC服务器默认是25565端口,你也可以自行设置。如何打开服务器端口需要看你的系统,自行百度。然后打开端口后记得重启防火墙,不然不会生效。

3、网络映射解决方案

在没有多余带宽可用的情况下不建议这种方式。一般来讲,网络映射就是在你没有公网ip的情况下,通过一个有公网ip的服务器进行中继的方式来精准访问。如图:

映射原理

所以这种方式其实就是PC电脑A和B都在访问有公网ip的服务器。B实际上是先到服务器,再到A。这种方式因为要跑两趟的缘故,延迟会比较高。服务器就相当于一个传信的邮局,两边都在联系。

网络映射本身不是为了用在这种用途上的,所以除了确实没办法搞到公网ip的情况下,不建议用这种方式。毕竟那个有公网ip的服务器也是要花钱的。

接下来是详细步骤:

1、客户端(要开服的pc)和服务端(有公网ip的服务器)都需要安装frp。

以下分别是windows版本和linux版本的frp。

链接:https://pan.baidu.com/s/15-WTBZLQuu66Zkte33NzMw

提取码:30h5

 

2、配置frp

解压后主要看四个文件

frps.exe是服务端的运行文件,frps.ini是服务端的配置文件。

frpc.exe是客户端的运行文件,frpc.ini是客户端的配置文件。

首先在你拥有公网ip的主机上配置frps.ini,

frps.ini

完事儿后运行frps.exe就行了。

 

接下来配置客户端配置文件frpc.ini

frpc.ini

不懂上面是什么意思的话,跟我一样填即可。

配置结束后运行frpc.exe既完成映射。

 

综上所述,其实网络映射方案就是要找一个本身就有对外窗口的主机帮你转发信息而已。要注意的是,这样做了之后,所有请求都会绕道一次映射服务器。比如A在四川开服务器,映射服务器是北京的,然后B也在四川登陆服务器,他需要先跑一趟北京,再从北京跑到四川。虽然开服的A四川,但同样在四川的B却需要跨链一次才能访问到,所以他的延迟会更高。

五、我们需要什么样的服务器?

当你能够耐心看完上述所有内容后,开服的硬件条件和网络问题就基本解决了。但接下来才是真正的问题。

到底,我们需要什么样的服务器?甚至于,我们是否真的需要服务器?

 

开服类型无非就几个,开什么类型?生存?PVP?建筑?小游戏?开服目的也一样,好友联机?公益服?还是说赚钱?很俗,但是这确实是一个正当的赚钱方式。

 

回到服务器,我要说的第一个最重要的事情,这件事对于每一个还没有但想开服的人来说,很重要。那就是,开服是最简单的一件事情,难的是运营!因为在开服的时候,即使你什么都不懂,很吃力,但只要你坚持下去就一定是能获得知识的。无论说是你对电脑更熟悉了?还是对于软件,服务端有了更加深入的了解。这些都是实质性的正反馈。而运营服务器很少会有正反馈,赚钱除外。所以,如果你是想开一个公益服,就是谁都能无条件进去玩,我不建议。不对,准确地讲是,不可以,你不要去。你快回来。

 

我不知道国外,但国内的游戏环境就是这么现实,你不为了赚钱,仅靠爱发电,不可能的。大多数人习惯了国内的服务器运行方式,都把自己当爹。我帮我朋友运营了一个公益服,最忙的时候我经常各种发脾气,好险他脾气不错,一般不会跟我计较。开了一年多关服了,我累了,他也累了。很现实的一个问题,长期得不到正反馈。

 

如果你是为了好友联机,人不是很多,那么你完全可以用自己的电脑开。家用电脑厉害的什么9900k之类的,性能比服务器好多了,而且好友联机不用一直开着,即使是超5G也不用特别担心散热问题。一个CPU的性能不仅仅是看频率,还要看他的工艺,他的架构。比如我现在这台E52637V2,频率3.5的3.8,但是他是22纳米的工艺,最大适配DDR3-1866的频率。跟你的主机,什么14nm,搭载DDR43000多频的肯定同主频下没法儿比较。当然我这里说的是开MC服务器,因为这种服务器多核心超大内存他还有很多额外的作用。所以人不多的情况下,你完全可以自己的电脑开。

 

以上说了很多题外话,即是我的真实感受和牢骚,也是对后来人的一个提醒。现如今我开服只是为了一个承诺,我答应过曾经一起建设服务器的朋友,只要还有人玩,只要还有点闲钱,就会一直开下去。所以我属于那种态度很恶劣的服主,我免费开的服,想怎样就怎样,爱玩玩不玩滚。

 

1、纯净服

无论开什么服务器,基本都需要一个纯净服的服务端。所以,无论你是要开插件服还是mod服,都必须先看一遍这个纯净服的教程。最好是跟着搭建一次。

为避免重复内容,纯净服请参考简书用户喵哼魚的教程。写得非常详细。

第一篇

https://www.jianshu.com/p/e3dd1ada6497

第二篇

https://www.jianshu.com/p/2976f56b5eb7

第三篇

https://www.jianshu.com/p/ca27a32f7826

 

2、插件服(所有类型都大同小异,以spigot为例)

先去spigot获取到服务端程序,https://www.spigotmc.org/

参考教程:

https://blog.csdn.net/qq_34193444/article/details/89884048

 

3、mod服(forge和fbric稍有不同,其实也差不多)

Forge:

先去forge获取服务端程序,http://files.minecraftforge.net/

下这个要看一个广告,国内很卡,按照图片内容里的方式可以跳过广告直接下载。当然了,看一看人家的广告可以给他们带来收入,如果不是确实获取不到下载链接,还是直接点击,看几秒广告吧。

forgeurl

得到服务端程序后改名为forge.jar把他丢到开服的目录,然后运行命令:

java -jar forge.jar --install

注意后面是两个杠。执行这给命令是要安装forge的服务端程序,他会连带着安装一次纯净服的服务端,如果你有的话可以直接丢到一起,这样就省的他再下载一遍了。

结束后可以直接删掉forge.jar,然后会生成一个新的forge文件,那个就是启动文件,注意,这次这个启动文件就不能改名了,否则容易出错。

然后和纯净服一样,以我的1.14.4mod服为例,创建一个start.sh文件,输入

java -jar -Xms4000M -Xmx4000M forge-1.14.4-28.2.0.jar -nogui

把start.sh文件的权限改为777,然后直接运行就完事了。

 

Fabric:

Fabric和forge其实也一样,只是命令多了一行参数而已,先去fabric的官网

https://fabricmc.net/

fabricinstall

拿到后放到要安装的地方,输入命令

java -jar fbric.jar server –mcversion 1.14.4

上面的命令,fbric.jar就是你下载到的fabric安装文件,自己举一反三改下名字,后面的mcversion就是版本。不过要注意的是,装了fbric后把fbricapi也装一下。

4、插件+mod解决方案以及未来新技术的展望。(只讲高版本,低版本还是去死吧)

现在1.12.2的mod发展非常完善,低版本已经没有讲的必要。玩1.12.2的插件mod服选择sponge就行了。

Sponge:参考酷车手BB弹的教程,非常详细。

https://www.relatev.com/forum.php?mod=viewthread&tid=218

这个是我1.13以前最喜欢的方式。另外听说以后还会有fabric+bukkit的形式实现mod+插件,以及forge的服务端会演变为仅需要客户端携带mod既能运行的模式。当然了,这些都是要看大佬们的操作,具体能不能实现,什么时候实现,我等咸鱼只能观望着了。有能力的同学可以积极学习,加入其中。

我个人是非常讨厌那种划分地皮,然后低版本的服务器的。目前我对于MC也是以研究原版内容和数据包为主。1.13更新后,MC更加的工程化,尤其是数据包,我能想出很多点子来。利用结构方块随机生成结构,利用命令方块和数据包,都是很棒的可扩展的游戏方式。甚至能跨版本。

    所以MC新版本的不断更新让我觉得这个游戏肯定是更加具有活力,更加具有扩展性的。对于MC这个圈子来讲,有一个很重要的转折点就是游戏的攻击方式,从1.8的连点+格挡变成了现今的横扫、盾牌等。如果说是1.12及以前,为了pvp而停留在低版本,我觉得姑且可以理解。但新版本的MC游戏模式加入了,破盾机制、弩、穿刺、烟花火箭的AOE、三叉戟以及各个武器的攻击伤害和攻击速度的调整。所有的改动都是为了让游戏的pvp变得更具有策略性,传统的连击应该被逐步淘汰。

    我能想到的玩法很多。比如第一个,利用鞘翅飞行,然后用烟花火箭+弩进行空战,我的想法是场地会定期出现小boss,比如恶魂,击杀它后能获得额外的火箭。幻翼,击杀后能获得额外的鞘翅耐久度。另外也可以通过随机在场地出现爆炸等方式增加游戏的随机事故。如果采用命令方块的方式,会出现一个难点,就是烟花火箭爆炸击杀后的生物不会被计入计分板。导致我没办法识别到谁是谁的击杀。我向mojang提出了新增这样一个计分项的请求,不过我这种小人物估计他们看不到这个需求,如果有影响力更大的人希望能帮我提一下。

    第二个则是,协同作战,利用上所有武器的特性。比如弩,很多人认为弩是一个远程武器,实际上不是的,弩无论是现实还是MC内,都应该是一个中近距离的大杀器。打个比方,我在跟你火并的时候,先在身上攒了一个弩,见面后先给你来一下再打。或者我身上揣着9个攒好的弩,你觉得你的胜算有多大?只要贴上来,我能瞬间秒掉你。还有破盾机制,如何选择武器,甚至一个团队如何搭配武器,就会是一个非常有意思的竞技了。

    以上是关于游戏新的改动的想法,实际上我也已经做成过一个我认为还算成功的小游戏。利用了匠魂模组。匠魂里有很多不同的武器,在游戏开局的时候,让人选择自己的武器然后开始对战,模式跟吃鸡一样,看谁活到最后。缩圈、轰炸区这些都是可以做到的。在游戏里是必须挖掘补给品或者击杀玩家才能避免受到周期性的雷劈和凋零效果,补给品则是通过随机布置,并且用粒子效果做提醒,然后挖掘怪物蛋来识别的。这个游戏的初次测试版本在风动H舞相随这个up那里进行过视频展示。那会儿还不完善,现在已经彻底完善了。这个游戏当时是在1.12.2的mod服用命令方块实现的。我后续如果有时间的话会把他做成一个数据包,或者结构方块之类的,这样的话可以跨版本到任意原版服务器内进行游戏。

 

 

六、其他

关于硬件那部分我讲得已经比较清楚了,软件部分,也就是开服那里就讲得比较简单,因为确实没时间折腾了,放到以前肯定是一步步给你们演示的。所以如果哪里没懂的可以再到评论里问,我看到了想回的话就会回。其实所有问题,你百度都能获取到答案,但是mc的圈子在国内还是没有成体系,很多教程杂七杂八的,还爱讲些废话,以及扩展一些实际上新腐竹根本不需要知道的知识来劝退。所以我尽可能的把最简单的和易于理解的教程链接放了上去。

在做这个教程之前,其实还有很多想说的,但随着毕业后完全步入社会,工作越来越忙,兴趣也逐渐被消磨了。所以落到最后,千言万语还是成了一句,算了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3