手把手教你架设我的世界Mod服务器 2.0 (Fabric 您所在的位置:网站首页 mc服务器怎么装插件教程视频 手把手教你架设我的世界Mod服务器 2.0 (Fabric

手把手教你架设我的世界Mod服务器 2.0 (Fabric

2024-07-06 05:11| 来源: 网络整理| 查看: 265

概述

Minecraft服务器可以根据其结构分为四种类型:原版服务器、Mod服务器(例如Fabric)、插件服务器(例如Paper)和插件及Mod混合服务器(例如Sponge)。本文将指导你如何开设自己的Mod服务器。

注意:

* 与插件服不同的是,如果在客户端没有安装与服务端相同的Mod,玩家可能无法获得完整的游戏体验。(仅作用于服务端的Mod无需在客户端上安装)

* 与基岩版不同的是,Java版没有官方服务器,所有的服务器都是玩家自己开设的。

* 请不要将Mod和插件混淆。一般来说,Mod和插件不能同时在一个服务器中共存(但可以通过某些使用插件或Mod实现,也可以使用插件及Mod混合服务器)。

本教程目前适用于Windows系统,其他系统及容器方法正在逐步添加。

警告

关于网络安全

开设服务器可能会导致你的电脑更容易受到网络攻击(常见如分布式拒绝服务攻击:DDoS),因此,开设服务器时请将网络安全放在第一位;最好使用防火墙等设施来预防网络攻击。

鉴于你正在一步步地开启你自己的服务器,你应该要注意所有可能出现的危险性。运行下面的所有教程正常情况下应不会导致你的系统出错,但是编者对于你的系统配置与软件运行情况并不了解,因此并不能保证稳定性。

为了确保你根据下面的教程架设服务器并将出现问题的概率降至最低,我们强烈推荐你'''至少'''要知道以下的内容:

* 基本的网络搭建术语(IP、端口等);

* 关于电脑硬件的基础知识;

* 命令行的使用;

* 你的网络环境;

* 你的系统配置。

开始之前

架设服务器之前,最好先阅读完本段的所有内容并确保你的电脑完成了下面的“网络”和“Java”栏。

另外,我们建议你准备一个有语法高亮功能的文本编辑器,如[https://code.visualstudio.com/ VSCode],Windows自带的记事本和写字板查看配置文件(如.json和.config文件)的效果可能不尽人意。

需求

在架设服务器前,你需要先明确你的需求,这里有一个较为笼统的分类:

* 如果你想游玩无任何插件、Mod的原版服务器,请参阅[[教程/架设服务器]]。这种服务器一般不可添加拓展。

* 如果你想开设纯净服务器,请选择Mod服务器并阅读本篇文章。这种服务器的拓展性比插件服低,但保留所有原版特性。

* 如果你想开设小游戏服务器或对游戏特性做出改变,亦或启用某些资源包,请选择插件服务器,参阅[[教程/架设Spigot服务器]]。这种服务器一般拓展性最强、优化最好,但可能会使一些原版特性失效(如刷沙)。

网络配置

运行Minecraft服务器所需的最低网络带宽为每秒1 Mbps的上下行速度,也就是大约 125KB/s。然而,这只是最低要求,如果你的服务器有多个同时在线的玩家或者使用了许多插件和Mod,你可能需要更高的带宽来保证良好的游戏体验。通常来说,为每位玩家提供至少1.5Mbps至2Mbps的带宽是比较稳妥的选择,并且保证服务器所在的机器拥有足够的CPU处理能力来处理游戏数据流量。此外,如果你想提供玩家更加流畅的网络体验,你可以考虑选择能够提供更高速度的网络带宽,如10Mbps或以上。

此外。你还需要一个公网IP或使用内网穿透。

公网

如果你使用的是局域网或者无线局域网(也称内网),和你不在同一局域网内的玩家是无法连接到你的服务器的,因为局域网是封闭的。这时,你就需要一个公网IP。公网IP又分为动态和静态两种。动态公网IP会改变,而静态的则是固定的。

'''无论'''你有没有公网IP或配置内网穿透,和你在同一局域网内的设备都可通过连接服务器的IP地址进入服务器,而即使未连接互联网,本机也可以通过连接localhost、127.0.0.1(IPv4)、::1(IPv6)进入服务器。

你也可以通过内网穿透来达到相似效果,参阅[[#内网穿透|下文]]。

检查

如果你需要确认是否已经获取了公网IP,可以使用搜索引擎查询IP地址(例如https://www.ip138.com),然后将查询结果与你的运营商公布的公网IP地址段进行对比。

静态和动态

如果你需要为自己的服务器申请公网IP,就需要知道静态公网IP和动态公网IP的区别。静态公网IP需要申请或者购买专线(详情请咨询你的运营商),这对个人是十分昂贵的,所以我们建议你申请动态公网IP。

能否从运营商处申请到公网IP及其步骤由运营商的相关政策决定。你可以咨询你的运营商或在网络上搜索以获取相应内容,通常来说IPv4较IPv6来说更难申请因为数量更少。如果你要使用动态公网IP,则一般需要配置动态域名服务(DDNS),方法可见下文,也可自行搜索。

内网穿透

原理是通过让你的电脑连接到另一台有公网IP的电脑,数据从玩家到这台电脑再到你的服务器,这种方式通常适用于实在没有办法申请公网IP的人。提供内网穿透的服务商通常会对流量收费且一般延迟较高,若非别无他法否则不推荐。

DDNS和DNS的配置

DDNS(Dynamic DNS / Dynamic Domain Name System,动态域名系统):它的功能是将用户的动态IP地址映射到一个固定的域名解析服务上。如果你使用动态公网IP且想要玩家使用域名加入服务器,那么你需要配置动态域名服务。关于配置动态域名服务的教程请[https://zhuanlan.zhihu.com/p/433120587 使用DnsPod的用户参考这篇文章],[https://javaforall.cn/139633.html 使用阿里云的用户参考这篇文章],其他在中国大陆较小众的域名提供商配置方式请自行搜索,这里不加赘述。

DNS(Domain Name System,域名系统):它的功能是将用户的IP地址映射到一个固定的域名解析服务上。如果你使用静态公网IP且想要玩家使用域名加入服务器,那么你需要配置域名服务。

DNS主要用于域名到IP地址的静态映射,而DDNS主要用于动态IP地址的映射。

软件配置

Java

注意文章所用游戏版本

为了避免版本更新而带来的Java需求版本提升导致本段内容失去意义,截止至本段内容最后一次更新,Java正式版最新版本为1.20.6。

Java是一种面向对象的编程语言,用于编写在Java虚拟机(Java Virtual Machine,简称JVM)上运行的程序。Minecraft服务端和客户端都运行在JVM上,所以也需要Java。

选择

由于甲骨文官方的OracleJDK在8u202更新后的所有版本如果用于盈利都需购买订阅才可使用,这似乎包含了运行Minecraft服务器的情况,如果你想不因为Java环境增加一笔额外支出,那么运行在高版本的服务器就需要一个第三方替代品,那就是OpenJDK。

关于JRE和JDK的选择,JDK包含JRE,开发Java程序需要安装JDK。JDK(Java Development Kit,简称JDK)一般用于开发Java程序,JRE(Java Runtime Environment,简称JRE)用于运行Java程序;一般你只需使用JRE即可,但由于某些插件或Mod可能需要用到JDK的一些功能,所以建议安装JDK。

无头Java实际上是普通Java的删减版,它去除了对图形界面或鼠标、键盘方面的支持,所以可以节省计算机资源,适合在服务器等不需要图形界面的场合使用。如果你使用Java的图形功能那可以选择安装无头Java。

快速选择

如果你完全不知道应该选择哪个版本的Java,那么请下载JDK 8的最新版本和JDK 20,这可以覆盖目前任何版本的需求。

查看安装

为了检查Java是否已被正确安装及其版本,你需要执行{{cd|java -version}}查看JRE版本,或执行{{cd|javac -version}}查看JDK版本。

* 为了减少出错的概率,Java的安装路径请不要包含中文。

下载

* [https://www.oracle.com/java/technologies/downloads/ 甲骨文Java SE下载]

* [https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html 甲骨文Java 8u202或更早版本]

* [https://docs.microsoft.com/zh-cn/java/openjdk/download 微软推出的OpenJDK]

* [https://www.azul.com/downloads/?package=jdk Azul推出的OpenJDK]

* [https://www.oracle.com/cn/java/java-se-subscription/ 订阅甲骨文Java SE]

甲骨文官方的Java在Java8u202以后如需商用要订阅后才可使用,因此为了避免纠纷建议使用甲骨文官方Java的服主在开服前查看自己使用的Java的版本;一般来说,甲骨文Java商用订阅是针对商业客户提供的,以公司或组织为单位进行购买。如果只是个人用户或者仅用于非商业用途,可以使用免费的开源Java发行版,例如OpenJDK。

你可以在以上Java发行版中根据你所要架设的Minecraft服务器版本自行选择,也可自行搜索其他版本。

操作系统

本教程讨论范围仅限于Windows,MacOS及Linux。

选择

* Windows:最常见的操作系统,简单直观易上手,推荐Windows Server而不是普通Windows(包括专业版、家庭版、教育版、长期支持版等)。

* Linux:最小众的操作系统,入门门槛高,系统较稳定,某些纯命令行版耗费系统资源较少。

* MacOS:硬件门槛高,软件资源较少。

快速选择

如果你使用的是Windows主机且没有任何Linux系列系统操作基础,我们推荐使用Windows Server。

硬件配置

对于想自己架设的服务器的你,这里有一些关于服务器配置的建议。

如果你了解电脑的配置,并确信它已经达到了能够运行服务器的需求,可以选择跳过这一节。

* 服务器的配置不需要很高,例如1核心的CPU加上2GB的内存就足够支持一个的小型服务器。

* 由于Minecraft单线程的特性,建议选用主频较高且架构较新的CPU,而不是核心数量多而主频低的CPU,这样可以更好地支持多个玩家同时在线游戏;此外,建议选用服务器或工作站CPU,这些CPU一般稳定性较强。

* 同样由于Minecraft单线程的特性,在不使用其他优化手段的情况下,CPU性能再强也终将有瓶颈,若想进一步了解Minecraft单线程运行的原因,可以参考[https://zhuanlan.zhihu.com/p/38016238 这篇文章]。

* 硬盘最好选择企业级硬盘(最好是固态硬盘),这些企业级硬盘的故障发生概率更低,但不管你使用的是什么硬盘,都要经常做好备份,以免存档丢失。

* 内存建议使用具有ECC纠错功能的内存(DDR5自带ECC纠错),这可以减少宕机的几率。

* 服务器对显卡的需求是只要能进系统就行。

* 网速至少需1Mbps(上下行)以上才不会过于卡顿。

* 如果你不想在家中开设服务器,你可以选择使用云服务器。这样的话,你一般需要每月支付一定的费用,但能免去维护服务器硬件的烦恼。

正式开始

注意:本文章对“Mod服务器”的讨论范围仅限于编写此文章时仍然存在的Forge和Fabric,停止更新的或其他小众的Mod加载器等均不在讨论范围之内。此处以推出Fabric为界,之前的版本(1.14之前)称为老版本,1.14及其后的版本称为新版本。

选择Mod加载器

首先确认你要假设的服务器版本,1.14版本之前由于Fabric兼容性差,推荐使用Forge,1.14及以后版本由于Forge优化较差(主要体现在加载速度慢)及主流Mod开发者逐渐转移至Fabric,建议使用Fabric。

Fabric

兼容

Fabric服务器常见于1.14及以后的版本,但这并不意味着1.14前的版本无法使用Fabric,你依然通过某些兼容手段使用Fabric,貌似需要添加特定的JVM参数。

理论上,没有什么能阻止你在任何版本的 Minecraft 上,在任何混淆层下,运行 Fabric 的模组加载器,一直到 c0.0.11a 。然而,这些版本大多没有 Yarn 映射──因此,制作模组的过程变得……有点儿复杂。

[https://fabricmc.net/wiki/zh_cn:start Fabric中文百科]

手动方法

由于此方法操作过程图形界面较多,所以较[[#快捷方法|快捷方法]]和[[#无GUI安装|无GUI安装]]为容易,但步骤较多。

* 本方法'''不适用'''于纯命令行的操作系统,如果你使用的是这种系统,请参考[[#无GUI安装|无GUI安装]]。

* 你也可以参考[https://fabricmc.net/wiki/zh_cn:player:tutorials:server:windows Fabric官方服务器安装教程]。

1. 你需要前往[https://fabricmc.net/use/installer/ Fabric下载页面]以下载Windows exe安装器(Fabric-installer)或Universal JAR installer。

* 如果你使用的是Windows系统,那么建议直接点击按钮“Download for Windows”;如果是其他系统,请点击下方的“Download universal jar”(这是一个JAR文件,需要Java8运行);但这两个文件的外观和功能是完全一致的。

2. 打开你下载的名为exe/jar文件,选择服务器选项卡,然后选择游戏版本和加载器版本,加载器版本越新越好。

3. 选择安装位置后点击'''安装''',不存在的文件夹会被安装器创建,为避免出错,服务端的安装路径不要包含中文,安装完成后该路径内文件应如下所示:

* 文件夹

** libraries

*** net

**** 略

*** org

**** 略

** fabric-server-launch.jar

* 如果该文件夹已经有和你下载版本一样的fabric-server-launch.jar文件,那Fabric将不会重复下载(Fabric补全被删除的文件),而是会直接在检查后弹出'''服务端安装成功''',即跳到下一步。

4. 如果你没有提前在该文件夹放入'''对应版本的'''Minecraft官方服务端的jar文件,Fabric安装器会弹出一个窗口提示“找不到有效的 版本 服务端”,点击'''下载服务端'''即可快捷的下载,你也可以选择去官方网站下载,下载完成后应该会多出一个名为server.jar的文件,此时该路径内文件应如下所示:

* 文件夹

** libraries

*** net

**** 略

*** org

**** 略

** fabric-server-launch.jar

** server.jar

5. 启动服务器需要命令,你可以选择每次启动服务器都重复输入命令,或是使用启动脚本。

* 快捷方法:在fabric弹出的窗口中点击'''生成启动脚本''',该文件夹内应多出两个文件,一个名为start.sh,另一个是satrt.bat,Windows点击.bat文件,Linux和MacOS点击.sh文件即可开服。

* 方法二:自写启动脚本,Windows系统示例代码如下

Linux和MacOS示例代码如下

Xmx后跟的数字为服务器最大使用内存大小,保存后点击即可开服。

* 你也可以尝试最为热门的启动脚本,由AiKer编写

关于详细的JVM启动参数解释,可以参考[https://blog.csdn.net/guyue35/article/details/107957859 JVM启动参数]。

关于服务端JAR文件的选项要写在命令中的{{code|-jar fabric-server-launch.jar}}后面。你可以在后面加上--help查看所有可以被传递给服务端的参数。下方列出了一些可用的命令行选项。

* 在初次生成世界时,是否生成奖励箱。

* 指定服务器是否在演示模式下运行(给玩家显示一个“演示版”弹出信息。且演示结束后,玩家不能破坏、放置方块或者吃东西)。

* 清除光照缓存等。与优化单人游戏世界时的选项相同。

* 强制升级所有区块到服务器目前的版本(单人游戏世界也可用)。

* 显示此帮助。

* 只初始化server.properties和eula.txt,然后退出。

* 启动服务器时不显示图形界面。

* 你仍然可以与你的服务器交互,但如果启用,必须使用cmd或终端。

* nogui与此选项作用相同,主要用于向后兼容非常旧的服务器版本,但更加推荐使用{{cd|--nogui}}更可取,因为这与其他选项的格式匹配

* 指定服务器监听的端口,而无论在server.properties中设置的是什么(默认值为-1)。

* 加载存档时只使用原版数据包。

* 为服务器指定一个服务器ID。

* 指定服务器以离线模式运行(需要指定一个值,但此值的具体用途未知,可能是由Mojang内部所使用的)。

* 指定查找world文件夹的位置(默认为当前目录)。

* 指定一个level.dat所在文件夹的名称。

* 方法三:使用命令行,在命令行界面输入java -Xmx2G -jar fabric-server-launch.jar nogui,Xmx后跟的数字为服务器最大使用内存大小,即可开服。

* 如果你直接打开了[server.jar]文件,它会生成一些文件和文件夹,会多出的文件如下:

* 多出的文件

** libraries(已有文件夹)

*** com(已有文件夹内新增)

**** 略

*** commons-io(已有文件夹内新增)

**** 略

*** io(已有文件夹内新增)

**** 略

*** it(已有文件夹内新增)

**logs

*** latest.log

** version

*** 你的服务端版本

**** server-你的服务端版本.jar

** eula.txt

** server.properties

* 第一次启动失败报错信息为“You need to agree to the EULA in order to run the server. Go to eula.txt for more info.”是正常的,这意味着你需要同意[https://account.mojang.com/documents/minecraft_eula Minecraft最终用户许可协议],请打开服务器文件夹内新生成的名为eula.txt的文件,将false改为true并保存即可。

6. 在服务器控制台输入stop关服,在第一次启动服务器时服务端会在文件夹内创建一些文件。

7. 现在别人应该可以通过连接你的IP或所映射的域名加入服务器。

* 即使你没有公网IP也未配置内网穿透,和你处在同一局域网的设备也可以通过连接服务器的IP来加入服务器,而即使未联网,本机也可以通过连接localhost、127.0.0.1(IPv4)、::1(IPv6)进入服务器。

快捷方法

无GUI安装 

* 你也可以参考[https://fabricmc.net/wiki/zh_cn:player:tutorials:install_server Fabric官方服务器无GUI架设教程]。

管理服务器

拓展内容

Mcdreforge

'''MCDR(Mcdreforge,简称MCDR)'''是一种挂载在服务端以外的一种服务端管理插件,基于Python,可以在不对Minecraft服务端进行修改的情况下,通过可自定义的插件系统,提供对服务端的管理能力,由于它的插件是由Python语言所编写而成,所以相较于Mod开发和插件开发,开发MCDR插件会方便许多。若你想安装MCDR或开发插件,请参阅[https://mcdreforged.readthedocs.io/zh_CN/latest/ 官方的帮助文档]。

安装Python

MCDR需要Python 3.6或以上版本。Linux发行版和MacOS通常情况下自带Python,除非你使用的系统较旧(例如CentOS 7),一般的发行版的Python版本已足以运行MCDR。

如果需要更新,建议使用系统对应的软件包管理命令(例如apt和yum等)。你也可以通过下载源代码进行编译安装,请前往[https://www.python.org/downloads/ Python官网],此处亦可以下载Windows平台下可直接安装的.exe格式文件。

若在你的电脑中Python 2与Python 3并存,那么下文的pip请改为pip3。

下载安装MCDR

在命令行中执行pip install mcdreforged以下载并安装MCDR,中国大陆用户可使用国内的PyPI镜像(例如[https://mirrors.tuna.tsinghua.edu.cn/help/pypi/ 清华开源软件镜像站所提供的镜像源])来加速MCDR的下载。

初始化MCDR

若你想在某个文件夹中启动MCDR,通过cd xxx可进入名为xxx的文件夹,执行cd ..可返回上一级文件夹,最后在所在文件夹内执行python -m mcdreforged init在此初始化MCDR。

命令执行完毕以后文件结构如下所示:

* 文件夹

** config/

** logs/

*** MCDR.log

** plugins/

** server/

** config.yml

** permission.yml

启动

首先将你服务端的'''全部文件'''移动至MCDR的server文件夹中。如果你在服务端文件夹中直接初始化MCDR,那么某些文件或目录可能会被覆盖,此时你需要在server文件夹中新建一个文件夹,并将正确的服务端文件复制至此,然后在MCDR初始化的目录中执行python -m mcdreforged启动服务器。

此时你服务端的某些设置需要在MCDR的permission.yml中进行更改。你可以执行pip install --upgrade mcdreforged来更新MCDR。

;安装插件

你可以前往[https://github.com/MCDReforged/PluginCatalogue/blob/catalogue/readme.md MCDR插件仓库]进行下载,或是查阅[https://mcdreforged.readthedocs.io/zh_CN/latest/ MCDR官方文档]并尝试自行编写。

插件请放置至plugins



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有