Minecraft Java 版开服指南

注意

按照教程进行以下下载、安装、运行服务器操作代表您已经同意 Minecraft 最终用户许可协议 (“EULA”)在新窗口打开 以及 Microsoft 隐私声明在新窗口打开

由于 Minecraft Java 服务端配置的复杂、多样性,本教程仅教学在 Windows 系统下简单且 "尽量不犯错误" 开启服务器的方法,您可以在网上找到其他更多信息。

如果您游玩整合包,部分作者会将服务器端整合在发布页面中,其会为您省下大量安装和构建时间。一般其也会附带简单的开启教程。

安装对应版本的 Java

对于不同的系统,安装 Java 环境的方法不尽相同。
对于 Windows 系统,您可以直接使用双击安装包的方式安装。

不同版本的 Minecraft 服务器对 Java 的版本需求也不同,见下:

框图中的 Java 版本可点击,将带您下载 Adoptium 版本 Java 环境,点击其中的 .msi 按钮 即可下载安装包

提示

部分 Java 安装包在默认安装过程中并不会更改 JAVA_HOME 变量,为了方便操作,请在安装您需要的 Java 环境时勾选上相关选项,例如:

下面为您另提供一些常用版本的 Windows 安装包下载链接,这些版本的主要区别是出品公司,请根据您的信任选择:

Adoptium

由 Eclipse 开源基金会创建、阿里巴巴、华为、IBM 等参与的 Java 环境项目。

Java 8Java 17Java 21
下载链接在新窗口打开
点击 .msi 下载
下载链接在新窗口打开
点击 .msi 下载
下载链接在新窗口打开
点击 .msi 下载

准备服务端核心

注意

按照教程进行以下下载、安装、运行服务器操作代表您已经同意 Minecraft 最终用户许可协议 (“EULA”)在新窗口打开 以及 Microsoft 隐私声明在新窗口打开

提示

由于服务端核心数量和分支极多,此处仅列出部分核心

请先确认您需要的服务器核心类型:

原生 (Vanilla) 核心

由 Mojang 提供的官方服务器核心

具有以下特性:

  • 支持所有的原版特性,包括 0tick 等特殊的游戏特性
  • 支持以数据包扩展游戏内容
  • 不支持任意类型的第三方插件或模组

下载方式:

您可以在 Minecraft 官网在新窗口打开 点击 minecraft_server.xx.xx.jar 下载到最新 正式版在新窗口打开 服务端 jar 文件。

您可以在 MCVersions在新窗口打开FastMirror在新窗口打开 等镜像站下载到其他版本的服务端 jar 文件。

安装核心

不同核心有不同的安装方法。此处仅介绍部分核心的安装方式

提示

在开始之前,推荐您新建一个独立文件夹(并在安装的时候选择您新建的文件夹)供服务器使用。服务器运行过程中会生成大量文件,如果您在自己的工作或桌面文件夹启动服务器可能会造成一定混乱

官方服务器核心

原生核心无需安装,请勿双击打开,下载好后请查看文档下一节

运行服务端

在此教程中,我们仅教给您基础的使用批处理脚本启动服务器的方式,如您使用面板或者开服软件启动,请自行寻找相关文档。

前提要求

在继续教学之前,您需要启用文件扩展名以方便您更改文件类型。请选择适合您的系统的教程:

Windows 11

如图所示,勾选上 文件扩展名 选项

确认 Java 环境版本

首先,我们需要确认您电脑上的 Java 环境已经正确安装并且可以正常使用。

您可以通过按 Win+R 按键唤出一个 运行 窗口,在窗口中输入 cmd 并点击确认或回车,即可唤出命令提示符窗口。

在这个黑色的命令提示符窗口中,输入 java -version 并回车就会输出当前的默认 Java 环境版本。

在这张图中,输出结果为:

openjdk version "17.0.12" 2024-07-16 LTS
OpenJDK Runtime Environment Zulu17.52+17-CA (build 17.0.12+7-LTS)
OpenJDK 64-Bit Server VM Zulu17.52+17-CA (build 17.0.12+7-LTS, mixed mode, sharing)

在此,我们仅需要注意第一行:被双引号包起来的 17.0.12 代表目前默认 Java 版本为 Java17。您需要确保显示的 Java 版本为您 需要的版本

另外需要注意的是,Java8 的版本号可能会显示为 1.8.*1.8.0_* 格式。

编写启动变量

提示

本节内容为了容易理解简化了很多内容,语言表示可能并不严谨

在此之前,希望您能清楚您系统中 物理运行内存 的大小。如果您不知道,请尝试寻求他人的帮助或询问电脑厂商客服。

对于启动服务器的需求而言,我们需要的有以下变量:

XmxXms 。其中,Xmx 指定了服务器能占用您电脑上的最大内存数量,而 Xms 则指定了服务器占用内存的最小量。由于 Java GC 的复杂性和各种原因,在此您只需要理解一件事:将 XmxXms 设为相同可以提高性能。

如何设置这个参数取决于您启动游戏后还有多少内存。一般情况下,如果您有 16G 的运行内存,启动游戏后还剩 6G ,那么可以将服务器占用内存设为 4G 。此时,您的启动变量看起来像这样:

-Xmx4G -Xms4G

另外,我们需要一个额外的 jar 参数告诉 Java 我们想要启动的文件为 jar 打包的文件。加上这个参数之后您的启动变量看起来像这样:

-Xmx4G -Xms4G -jar

注意

请注意,此处的内存参数 并不是 越大越好!如果您设置的参数超出了您可用的剩余内存,则服务器会在请求更多内存时 立刻崩溃

编写启动脚本

根据不同的服务器核心,下一步您需要进行的操作有所不同。请根据您所使用的服务器核心选择教程:

官方原生核心

官方核心下载后默认文件名为 server.jar 。将其移动到您准备用来开服的文件内,并新建一个文本文件。

打开您新建的文本文件,在其中写入以下内容

java "您在上一节获得的启动变量" "服务器核心文件名称"  
@pause

例如,您在上一节编写了 -Xmx4G -Xms4G -jar 的启动变量,且您没有更改下载的服务器核心名称,则文件中应该写入以下内容:

java -Xmx4G -Xms4G -jar server.jar
@pause

保存文件,将文件名 新建 文本文档.txt 改为 启动服务器.bat ,观察文件类型是否更改为批处理文件。

最终用户许可协议

注意

按照教程进行以下修改文件操作代表您已经同意 Minecraft 最终用户许可协议 (“EULA”)在新窗口打开 以及 Microsoft 隐私声明在新窗口打开

运行一次您的启动脚本 启动服务器.bat 或者 run.bat ,在一段时间后窗口最后一行即会显示

[**:**:** INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
请按任意键继续. . .

此时,您需要通过修改 eula 文件的形式来表示您同意 Minecraft 最终用户许可协议 (“EULA”)在新窗口打开 以继续运行服务器。

按下任意按键即可关闭服务器窗口。查看服务器文件夹,您会发现目录下多了一个 eula.txt 文件,打开它,将其最后一行的 eula=false 改为 eula=true ,保存。

修改配置

按需调整服务器配置文件,例如 server.properties在新窗口打开

将您下载或所需要的模组、插件放到服务器对应目录中。一般来说, plugins 文件夹存放插件, mods 文件夹存放模组。

如果您打算重置这个服务器的存档和玩家数据,但是不打算更改服务器配置,您可以选择删除文件夹内的 world 文件夹以及所有 world 开头的文件夹。

此时再次打开启动脚本,服务器即开始启动。当您看到窗口输出最后一行出现 > 标记时,说明服务器已经 部分 载入完毕,您可以直接对窗口输入命令。

启动完成后,服务器会输出 Done (**.***s)! For help, type "help" 的一行日志,看到这行日志说明您的服务器已经全部载入完毕,可以进入游玩了。

启动完成后,您可能会看到两个窗口,一个黑色 命令提示符 窗口,一个白色 Minecraft server 窗口。需要注意的是:两个窗口都是服务器,关闭 任意一个 都会停止服务器的运行。

没有这个窗口也是正常的,部分服务器核心为了防止混乱去除了此窗口。

如果您想关闭服务器,请在任意窗口中输入 stop 命令并回车发送,服务器就会开始关闭并保存存档数据。当您看到 请按任意键继续. . . 的提示,按任意键即可关闭服务器窗口。

配置内网穿透

请参考 创建隧道 一节,在运行服务端的机器上创建并启动指向本机 25565 端口的 TCP 隧道。

注意事项

如果您无意间在服务器运行的黑色窗口 命令提示符 上点击了,命令提示符窗口将会进入选中状态。在此状态下,服务器将会冻结且无法运行。命令提示符的标题将会增加一个 选择 在最前方。

如果您不小心选中了文本,右键即可取消此状态。

提示

右键同时还会将您剪切板的内容黏贴到服务器命令行中,请注意确认相关操作不会影响您服务器的安全。

您可以通过以下设置防止此事件的发生:

点击命令提示符窗口左上角的图标,选择属性

取消掉 快速编辑模式 的勾选

补充内容

Simple Voice Chat 简单语音聊天

如果您使用 Simple Voice Chat 模组/插件来进行语音聊天,您需要为它单独开一条隧道并进行配置。

  1. 创建一个新的 UDP 隧道,设置本地端口选择 和远程一致,远程端口留空即可
    请确认协议选择了 UDP 而不是 TCP,这与您的 MC 主隧道不同,如果选择不正确将无法正常使用
  2. 创建后会随机生成一个远程端口及本地端口,请记下这个端口备用
    这是一个五位数的数字,您可以在启动器界面中一个隧道的左下角找到这个端口号,或者在网页后台该条隧道 UDP 字样的后面找到。
  3. 打开 Simple Voice Chat 的配置文件,找到 port= 项,将后面的数字修改为您刚刚看到的端口,修改完成后请不要关闭,还有下一步操作
    对于 mod 版本 (Fabric/NeoForge/Forge/Quilt),配置文件在 config/voicechat/voicechat-server.properties
    对于插件版本 (Paper/Spigot/Bukkit),配置文件在 plugins/voicechat/voicechat-server.properties
  4. 开启隧道,类比前面的方法启动隧道并复制 新隧道的 连接信息
    请注意不要复制到 MC 主隧道或者其他隧道的连接信息
  5. 找到配置文件 voice_host= 项,将后面的内容修改为您刚刚复制的连接信息
    请注意不要有空格或其他不对劲的特殊字符
    结果应该形如 voice_host=frp-xxx.top:12345
  6. 保存配置文件,重启服务器 请一定要确定保存了,不保存是不会生效的
  7. 联机时请确保 您新创建的隧道是开启状态,否则您将无法正常使用语音聊天