本文由 社区经验总结 生成

本文面向计算机操作基础较薄弱的 Minecraft 玩家,旨在用通俗易懂的语言解释常见的基础概念。如果你在社区求助时经常听不懂别人说的"后缀名""解压""模组""端口映射"等术语,这篇教程就是为你准备的。全文篇幅较长,建议根据需要跳转到对应章节阅读,不必一次性看完。

一、计算机是什么:硬件与软件

计算机由硬件和软件两部分组成。硬件是你能摸得到的东西,软件是运行在硬件上的程序。

CPU(中央处理器,Central Processing Unit):计算机的大脑,负责执行计算和指令。你可以把它理解为工人的双手——做什么活、做得多快,都取决于它。CPU 的性能主要由核心数和主频决定,核心越多、主频越高,能同时处理的任务就越多越快。Minecraft 是一款对 CPU 单核性能要求较高的游戏,因为它的大部分逻辑运算(如区块加载、实体AI)都跑在主线程上。

GPU(图形处理器,Graphics Processing Unit,俗称显卡):专门负责画面渲染的处理器。当你玩 Minecraft 时,屏幕上显示的所有方块、生物、光影效果,都是 GPU 计算出来的。如果你开启了光影或高分辨率资源包,GPU 的负担会显著增加。手机上的 GPU 通常集成在处理器芯片(SoC)内部,与 CPU 共享散热。

内存(RAM,Random Access Memory):程序运行时临时存放数据的地方。你可以把内存理解为工作台——台面越大,能同时摆开的工具和材料就越多。Minecraft 在运行时会把地图数据、模组文件、纹理贴图等都加载到内存中,内存不足时游戏会卡顿甚至崩溃(出现 OutOfMemoryError)。内存大小通常以 GB(吉字节)为单位,常见的有 4GB、8GB、16GB。游戏分配给 Minecraft 的内存称为"堆内存"(Heap),通过 JVM 参数 -Xmx 来设置上限。

存储(ROM/磁盘/闪存):永久保存数据的地方,断电后数据不会丢失。你的照片、文档、游戏文件、存档都存放在存储中。存储大小通常以 GB 或 TB(太字节)为单位。手机上的存储通常称为"内部存储"或"机身存储"。Minecraft 的存档、截图、模组文件都会占用存储空间。

操作系统(Operating System,OS):管理硬件和软件的底层系统。常见的操作系统有 Windows(电脑)、macOS(苹果电脑)、Linux(服务器常用)、Android(手机)、iOS(苹果手机)。不同操作系统下的文件路径格式、可执行文件格式、系统 API 都不同——这就是为什么 Minecraft 的某些模组(尤其是含原生库的)无法在 Android 上运行的原因。

二、文件大小单位:B、KB、MB、GB、TB

计算机中文件大小的基本单位是字节(Byte,简称 B)。一个英文字母占 1 字节,一个中文字通常占 2-4 字节(取决于编码方式)。

1024 B = 1 KB(千字节)。一篇纯文本几百字的文章大约几 KB。

1024 KB = 1 MB(兆字节)。一张手机拍摄的照片大约 2-5 MB,一个简单的 Minecraft 模组通常在 1-20 MB 左右。Minecraft 原版游戏核心文件(version jar)大约 10-30 MB。

1024 MB = 1 GB(吉字节)。一部高清电影大约 1-2 GB,一个大型整合包可以轻松超过 1 GB。Minecraft 的完整游戏目录(含存档、模组)动辄几个 GB。

1024 GB = 1 TB(太字节)。大型硬盘的容量单位。

注意区分 MB(大写 B,兆字节)和 Mb(小写 b,兆比特),1 MB = 8 Mb。网络速度通常以 Mbps(兆比特每秒)为单位,所以 100Mbps 的宽带实际下载速度约 12.5 MB/s。

当你下载模组或整合包时,留意文件大小可以帮助判断下载是否完整——如果一个模组正常应该是 5 MB,但你下载下来的文件只有 50 KB,那就说明下载出了问题。

三、文件与文件后缀名

文件是计算机存储信息的基本单位。你在手机上看到的每一张照片、每一个应用、每一个文档,本质上都是一个文件。

文件名通常由两部分组成,中间用点号(.)隔开,例如 server.log。点号前面的 server 是文件的名字(主名),点号后面的 log 就是文件的后缀名(也叫扩展名、文件类型)。主名和后缀名合在一起构成完整的文件名。

后缀名用来告诉操作系统这个文件是什么类型,应该用什么程序打开。比如 .jpg 和 .png 是图片,系统会调用图片查看器;.mp4 是视频,系统会调用视频播放器;.pdf 是便携式文档,系统会调用 PDF 阅读器;.jar 是 Java 归档文件,系统会交由 Java 虚拟机执行。

在 Minecraft 的生态中,常见的文件后缀名包括:.jar(Java 程序文件,模组、服务端、插件都是这个格式)、.zip / .rar / .7z(压缩包)、.json(JavaScript 对象表示法格式的配置文件)、.toml / .cfg / .properties(其他常见配置格式)、.log(文本日志文件)、.png / .jpg(图片,截图和材质贴图)、.txt(纯文本文档)、.nbt(命名二进制标签,Minecraft 内部数据格式)、.mcmeta(Minecraft 元数据文件)。

Windows 电脑默认会隐藏已知类型的文件后缀名,这会让新手分不清 server.log 和 server.jar。强烈建议在文件资源管理器的"查看"菜单中勾选"文件扩展名",让所有后缀名显示出来。Android 手机的文件管理器通常默认显示后缀名。

更改文件后缀名并不会改变文件的实际内容——把 .png 改成 .jpg 只是欺骗操作系统,文件内部的二进制数据并没有改变,打开时大概率会报错。如果你需要真正的格式转换,必须使用专门的转换工具。

一个小技巧:在 Android 文件管理器中,如果你下载了一个文件但不知道它是什么,可以长按文件→选择"属性"或"详情",查看文件的 MIME 类型,这比后缀名更准确地反映文件本质。

四、文件夹、目录与路径

文件夹(也叫目录,Directory)就像一个收纳盒,用来把文件分门别类地存放。一个文件夹里面可以放文件,也可以再嵌套放别的文件夹(子文件夹)。

在计算机中,文件夹的层级结构像一棵倒置的树,树根是盘符(Windows 的 C:、D: 等)或根目录(Linux/Android 的 /)。从根目录开始,沿着文件夹层级一层层往下走,就能定位到任意文件。

我们用路径(Path)来描述一个文件或文件夹的具体位置。例如在 Windows 上,桌面上的一个文件路径可能是 C:\Users\你的用户名\Desktop\server.log;在 Linux/Android 上,路径使用正斜杠 /,如 /storage/emulated/0/FoldCraftLauncher/。路径末尾如果是一个文件夹名字,表示这个文件夹本身;如果包含后缀名,表示这是一个具体的文件。

绝对路径(Absolute Path)是从根目录开始的完整路径,如 /storage/emulated/0/minecraft/mods/example.jar。相对路径(Relative Path)是相对于当前所在位置的路径,如 ./mods/example.jar 表示当前目录下 mods 文件夹里的文件。

文件夹的名字本身没有后缀名,但有些文件夹的名字会以点号开头(比如 .minecraft、.config),这在 Linux/Android 系统中常表示它是一个隐藏文件夹,普通文件管理器默认不显示。需要在文件管理器中开启"显示隐藏文件"选项才能看到。

常见的 Minecraft 相关文件夹路径(Android 平台):FCL 的数据通常存放在内部存储根目录下的 FoldCraftLauncher 文件夹中;ZL2 的数据在存储根目录下的 ZalithLauncher 文件夹中。这两个文件夹内部通常包含以下子文件夹:versions(各版本的游戏核心 jar 文件)、mods(模组存放位置)、config(模组生成的配置文件)、logs(启动和运行日志)、resourcepacks(资源包/材质包)、shaderpacks(光影包)、saves(单人游戏存档)、screenshots(游戏内截图)、crash-reports(崩溃报告)。

五、常见文件操作

复制(Copy):将文件从 A 位置拷贝一份到 B 位置,A 位置的原文件仍然保留。操作方式通常是长按文件→选择"复制"→导航到目标位置→点"粘贴"。快捷键:电脑上 Ctrl+C 复制、Ctrl+V 粘贴;手机上通常是长按后选择相应菜单。

移动/剪切(Cut/Move):将文件从 A 位置转移到 B 位置,A 位置的原文件将不复存在。操作方式与复制类似,只是选择"剪切"而非"复制"。重要文件移动前建议先复制一份到安全位置作为备份,以防操作失误。

重命名(Rename):更改文件或文件夹的名字。操作方式通常是长按文件→选择"重命名"→输入新名字→确认。重命名时可以更改主名,但不要随意更改后缀名,否则文件可能无法被正确的程序打开。如果确实需要改后缀名(比如把 server.txt 改成 server.log),系统通常会弹出警告提示。

删除(Delete):将文件移入回收站(可恢复)或彻底删除(不可恢复)。删除前请再三确认不是重要文件——尤其是 .minecraft 目录下的 saves(存档)、config(配置)等文件夹,误删可能导致数十甚至数百小时的游戏进度丢失。重要数据删除前务必先备份。

多选操作:文件管理器中通常支持同时选中多个文件,然后一次性复制/移动/删除/压缩。Android 文件管理器一般通过长按一个文件后勾选其他文件来实现多选,部分管理器支持"全选"按钮。

六、压缩包与解压

压缩包(Compressed Archive)是将一个或多个文件(甚至整个文件夹结构)打包成一个单独文件的存储方式,同时通常会对文件数据进行压缩以减少体积。你可以把它理解为一个"装了东西的快递纸箱"——里面的东西放在一起方便运输,外面的纸箱就是压缩包文件。

常见的压缩包后缀名:.zip(最通用,几乎所有设备和系统都原生支持)、.rar(WinRAR 专有格式,压缩率通常比 zip 高)、.7z(7-Zip 格式,压缩率极高但解压速度较慢)、.tar.gz 或 .tgz(Linux/Unix 系统常用,tar 负责打包、gz 负责压缩,是两步操作的组合)。特别说明:.jar 文件(Java 归档)本质上也是一种特化的 .zip 压缩包,内部按照 Java 规范存放了编译好的 .class 字节码文件和资源文件,由 Java 虚拟机直接读取和执行。你可以用任何解压软件打开 .jar 文件查看里面的内容。

解压(Extract / Decompress / Unzip)就是把压缩包里的文件释放还原出来的操作。你需要一个支持相应格式的解压应用。在手机上推荐使用 ZArchiver(免费、格式支持广)、MT 管理器(功能强大、适合进阶用户);在电脑上推荐 7-Zip(免费开源、格式支持最广)或 Bandizip(界面友好)。注意:手机自带的"文件管理"通常只支持 .zip 格式,遇到 .rar 或 .7z 时会提示无法打开。

许多 Minecraft 资源在网络上分享时是以压缩包形式发布的(比如模组整合包、地图存档、资源包合集)。下载后必须先解压,再把解压出来的内容放到正确的位置才能生效。直接把未解压的 .zip 文件扔进 mods 文件夹是不会起作用的。解压时注意选择"解压到当前文件夹"还是"解压到以压缩包名为名的子文件夹",这会影响最终的文件夹层级结构。

一个常见场景:你下载了一个模组整合包,它是一个 .zip 文件。你把它解压后发现里面有 mods、config、resourcepacks 等文件夹。这些文件夹需要被放置到启动器对应的游戏版本目录下,或者通过启动器的"导入整合包"功能自动处理。不要直接把整个解压出来的文件夹一股脑扔进 mods 文件夹。

另一个常见场景:你下载了一个单独的模组,但下载下来发现是 .zip 而非 .jar。你需要先解压看看里面是什么。如果里面直接是 .jar 文件,取出 .jar 即可,.zip 外壳可以丢弃;如果里面是源代码或非 jar 文件,那可能是你下错了文件(比如从 GitHub 下了源码而非发布的构建产物)。正常情况下,可供使用的模组文件应该是 .jar 格式。

七、文本编辑器

文本编辑器(Text Editor)是用于查看和修改纯文本文件的工具,是 Minecraft 玩家日常最常用的工具之一。你需要用它来查看日志文件、修改配置文件、编辑启动脚本等。

切记不要用 Word、WPS 等富文本编辑软件打开配置文件或日志——它们可能会在保存时加入隐藏的格式字符,导致文件损坏、程序无法识别。务必使用纯文本编辑器。

手机端推荐:MT 管理器(内置文本编辑器)、QuickEdit(轻量文本编辑)、Code Editor(语法高亮)。电脑端推荐:Notepad++(Windows 经典免费编辑器)、VS Code(功能强大的免费代码编辑器)、Sublime Text(轻量快速)。

打开文件时如果看到乱码,可能是文件编码(Encoding)不对。Minecraft 的配置和日志文件通常使用 UTF-8 编码(一种支持全球所有文字的国际标准编码)。如果打开后中文全是问号或方块,在编辑器中切换编码为 UTF-8 即可。不要在以错误编码打开的情况下直接保存,否则文件内容会永久损坏。

八、网络基础:IP 地址、端口与域名

IP 地址(Internet Protocol Address)是网络中每台设备的"门牌号",用于在网络中定位和识别一台设备。你可以类比为现实世界中的邮寄地址——你要给人寄信,就必须知道对方的地址;同样,你要连接到一个 Minecraft 服务器,就必须知道它的 IP 地址。

IP 地址目前分为两个版本:IPv4 和 IPv6。IPv4 地址由四组数字组成,每组 0-255,用点号分隔,例如 192.168.1.1、127.0.0.1(表示本机)。IPv4 地址总数只有约 43 亿个,已经不够用了,所以逐渐被 IPv6 取代。IPv6 地址更长更复杂,形如 2001:db8::1。在 Minecraft 联机场景中,目前主要使用 IPv4。

端口(Port)可以理解为"门牌号后面的房间号"。一台设备只有一个 IP 地址,但可以同时运行多个网络服务。端口号用于区分不同的服务:网站服务默认用 80 端口(HTTP)或 443 端口(HTTPS),Minecraft Java 版服务器默认用 25565 端口,Minecraft 基岩版默认用 19132 端口。当你看到一个服务器地址写作 example.com:25566 时,example.com 是域名(解析为 IP),冒号后面的 25566 就是端口号。如果只写域名不写端口,Minecraft 会默认连接 25565。

域名(Domain Name)是 IP 地址的"花名",方便人类记忆。比如你要连接 LogShare 的 API 服务,直接记 api.logshare.cn 比记一串数字 IP 容易得多。域名通过 DNS(域名系统,Domain Name System)自动翻译为 IP 地址,这个过程对用户透明,你不需要手动操作。当你输入 logshare.cn 到浏览器时,浏览器会在后台查询 DNS 获取真实 IP,然后连接到那个 IP。

localhost 和 127.0.0.1 都表示"本机",即你自己正在使用的这台设备。如果你在本机开了一个 Minecraft 服务器,想让自己连接,可以用 localhost 作为服务器地址。但局域网内的其他人不能用 localhost 连接你——他们必须用你的局域网 IP 地址(如 192.168.x.x)。

九、公网、内网与端口映射

公网 IP(Public IP)是全世界唯一的 IP 地址,任何人都可以通过公网 IP 从互联网上访问到你的设备。类比:公网 IP 是你家在现实世界中的街道门牌号,快递员按这个地址能直接把包裹送到你家门口。家庭宽带通常由运营商分配公网 IP,但部分运营商(尤其是移动宽带)提供的是内网 IP,不直接暴露在公网上,此时外网的人无法直接连接到你。

内网 IP(Private IP / LAN IP)是局域网内部的 IP 地址,只在路由器管理的本地网络范围内有效。常见的局域网 IP 段包括 192.168.x.x、10.x.x.x、172.16.x.x-172.31.x.x。类比:内网 IP 是你家小区内部的楼栋编号,小区外面的人不知道这个编号,只有小区里的住户之间可以用它互相找到对方。同一 WiFi 下的两台设备可以通过内网 IP 互联(比如局域网联机),但外网的人无法通过内网 IP 连接进来。

NAT(网络地址转换,Network Address Translation):当你的设备通过路由器上网时,路由器会自动做 NAT 转换——把内网 IP 翻译成公网 IP 发送出去,收到回复时再翻译回内网 IP 送到你的设备。所以一个网站看到的请求来源是你的公网 IP,而非你的内网 IP。

端口映射(Port Forwarding,也叫端口转发):当你想让外网玩家连接到你家里电脑上的 Minecraft 服务器时,你需要在路由器上设置端口映射。简单来说,就是告诉路由器:"凡是来自公网、发往 25565 端口的数据包,都转发到内网某台电脑(如 192.168.1.100)的 25565 端口上"。如果不做端口映射,外网的数据包到达路由器后,路由器不知道应该转给内网哪台设备,就会直接丢弃。

端口映射的设置方法因路由器品牌而异,通常需要登录路由器管理页面(一般是 192.168.1.1 或 192.168.0.1),找到"端口转发""虚拟服务器""Port Forwarding"等选项进行配置。你需要填写:外部端口(如 25565)、内部 IP(你开服电脑的内网 IP)、内部端口(通常和外部一样)、协议(TCP 或两者)。如果运营商给你的不是公网 IP,端口映射不起作用——你需要先向运营商申请公网 IP,或使用内网穿透工具(如 frp、SakuraFrp、OpenFrp)。

对于大多数使用手机玩 Minecraft 的玩家来说,你通常不需要关心端口映射——你加入别人的服务器时,是对方(服主)需要确保服务器能被外网访问。如果你只是在局域网内和室友联机,直接输入对方的局域网 IP 即可,不需要端口映射。

十、模组(Mod)详解

模组(Mod,全称 Modification)是对游戏内容的修改和扩展。它可以添加新物品、新生物、新维度、新机制,也可以优化现有游戏行为、修复原版 Bug。简单类比:原版 Minecraft 是一碗白米饭,模组就是各种菜——你可以按自己的口味往上面加,但不能乱加(有些菜不和米饭搭配,有些菜互相冲突)。

Minecraft Java 版的模组通常是一个或多个 .jar 文件,需要放入对应游戏版本目录下的 mods 文件夹中。启动游戏时,模组加载器会自动扫描 mods 文件夹,识别并加载其中的模组。

模组加载器(Mod Loader)是让模组能够运行的必要基础设施。目前主流的模组加载器有:Forge(历史最悠久、模组生态最庞大、更新较慢但稳定)、Fabric(轻量快速、更新及时、API 更现代、大部分新模组首选)、NeoForge(Forge 的分支,社区驱动)、Quilt(Fabric 的分支)。这几者互不兼容——你安装 Forge 时就只能使用 Forge 版模组,安装 Fabric 时就只能使用 Fabric 版模组。不能混用。

模组的版本兼容性非常严格:一个为 Minecraft 1.20.1 + Forge 47.x 制作的模组,在 Minecraft 1.19.2 + Forge 41.x 的环境下几乎不可能正常运行。下载模组前务必确认:你的游戏版本是什么?你用的是哪种模组加载器?模组要求的加载器版本是多少?这三个条件必须同时匹配。

在 Android 平台(FCL、ZL2 等启动器)上安装模组的典型流程:打开启动器 → 进入对应版本的"管理"界面 → 找到 mods 文件夹 → 将下载好的 .jar 模组文件放入 → 返回启动游戏。不需要双击 .jar 文件,也不需要"安装"模组,游戏启动时会自动加载。注意:把模组放进 mods 文件夹后,必须重启游戏才能生效;已经在运行中的游戏不会识别新放入的模组。

整合包(Modpack):别人预先搭配好的一套模组集合,通常还包含了精心调试的配置文件、自定义地图、任务书等。整合包解决了"该装哪些模组""如何避免模组冲突""如何配置才能让模组之间互相协作"三大难题。下载整合包后通常是 .zip 格式,需要通过启动器的"导入整合包"功能一键安装,或者解压到手动的对应位置。著名的整合包平台有 CurseForge、Modrinth。

前置模组(Dependency / Library Mod):有些模组本身不提供游戏内容,而是作为其他模组的"工具箱"或"基础框架"。比如 Fabric API 是大多数 Fabric 模组的前置、Cloth Config API 是许多模组配置界面的前置。如果你看到一个模组的下载页面写着"需要 XXX 作为前置",你必须同时安装那个前置模组,否则主模组会报错甚至导致游戏无法启动。缺失前置模组是新手安装模组最常见的报错原因之一。

模组兼容性(Mod Compatibility):两个模组可能因为修改了同一段游戏逻辑而互相冲突。轻度冲突表现为功能异常,重度冲突会直接导致游戏崩溃。排查方法通常是将模组一批批地移除(二分法排查),找到冲突的两个模组后,检查是否有兼容补丁、更新到最新版本,或者在社区寻求帮助。

十一、插件(Plugin)详解

插件(Plugin)是给 Minecraft 服务端安装的扩展,用于管理和增强服务器的功能——比如领地保护(Residence/GriefPrevention)、经济系统(Vault + EssentialsX)、登录验证(AuthMe)、跨服传送(BungeeCord)、反作弊(Matrix/Vulcan)等。插件安装在服务器上,玩家加入服务器时会自动使用相关功能,无需在客户端安装任何东西。

插件通常是一个 .jar 文件,放入服务端根目录下的 plugins 文件夹中。绝大多数插件放入后需要重启服务器或执行 /reload 命令才能加载;少数插件支持热加载(即不重启也能通过插件管理器载入)。注意:/reload 命令是 Minecraft 社区公认的危险操作,可能导致数据损坏或模组状态异常,推荐完全重启服务器来加载新插件。

插件与模组的根本区别:模组改变的是游戏的"核心引擎"——需要修改游戏客户端和服务端的代码,玩家必须安装对应的模组才能加入模组服务器;插件运行在服务器的"外挂层"——通过服务端平台(如 Paper)提供的 API 与游戏交互,不会修改游戏核心代码,玩家无需安装任何东西。因此,一个安装了领地插件的服务器,即使你用的是原版客户端(无任何模组),也能正常使用领地功能。

常见的服务端插件平台:CraftBukkit(最古老的插件服务端,已停止更新)、Spigot(CraftBukkit 的性能优化分支,目前使用最广泛)、Paper(基于 Spigot 的进一步优化,修复了大量底层 Bug,强烈推荐)、Purpur(基于 Paper 的再优化,提供了更多可配置项)、Folia(Paper 的多线程实验分支,将服务器负载分散到多个 CPU 核心)。所有基于 Bukkit API 的服务端都可以兼容同一套插件生态。

如果你不是一个服务器的服主或管理员,你大概率不需要关心插件的安装和配置。作为普通玩家,你只需要知道:你看不到的那些服务器功能(领地、经济、传送、商店等),很可能是由插件提供的。当服务器管理员说"这个插件出了问题"时,指的是安装在服务器端的程序出了问题,与你自己的游戏客户端无关。

十二、数据包、资源包与光影

数据包(Data Pack):Minecraft 原版(Java Edition 1.13+)原生支持的一种轻量级修改方式,可以修改或添加合成配方(Recipes)、进度(Advancements)、战利品表(Loot Tables)、函数命令(Functions)、谓词(Predicates)、世界生成、维度类型等。数据包以文件夹或 .zip 格式放入存档目录下的 datapacks 文件夹中,通过 /datapack 命令或进入世界时自动启用。无需安装任何模组加载器,纯原版客户端即可使用。原版的"调试棒"和"自定义超平坦世界"等技术功能本质上也都是数据包实现的。

资源包(Resource Pack,旧称材质包 Texture Pack):用于改变游戏的视觉和听觉体验——包括方块和物品的纹理贴图、音效、字体、UI 界面、模型、粒子效果、语言文件等。资源包是一个 .zip 文件(或文件夹),放入 resourcepacks 文件夹后,在游戏内"选项 → 资源包"菜单中启用。多个资源包可以叠加,上层资源包会覆盖下层的同名文件。

光影(Shader,全称 Shader Pack):一种特殊的资源包,用于彻底重写游戏的渲染管线,实现动态光照、水波反射与折射、软阴影、体积云、环境光遮蔽(SSAO)、屏幕空间反射(SSR)、泛光(Bloom)、景深(DOF)等高级画面效果。光影需要配合光影加载器才能使用:PC 端常用 OptiFine 或 Iris Shaders;Android 端各启动器通常内置了光影加载支持。光影文件通常是 .zip 格式,放入 shaderpacks 文件夹后,在游戏内"选项 → 光影"中切换。注意:光影对 GPU 性能要求较高,性能不足的设备开启光影可能导致严重卡顿甚至无法渲染。

常见误区:光影和资源包不是一回事。光影文件必须放入 shaderpacks 文件夹,资源包必须放入 resourcepacks 文件夹。虽然两者最终都通过游戏选项菜单加载,但它们是独立的两个通道,互不干扰。你可以在使用原版材质的同时开启光影(比如只想让画面好看但不想改变方块外观),也可以在使用高清资源包的同时不开光影。

以上三种自定义方案均在游戏客户端侧生效,不需要服务端做任何修改。但如果数据包被安装在服务器上,加入该服务器的所有玩家都会自动应用该数据包的内容。资源包也可以由服务器推荐(设置 server-resource-pack),玩家加入时会提示下载。

十三、启动器与版本管理

启动器(Launcher)是用来启动 Minecraft 游戏的程序。它的核心职责包括:管理已安装的游戏版本、下载游戏核心文件(从 Mojang 服务器或镜像源)、管理 JVM 参数(分配内存等)、加载模组和资源包、管理多账户登录(正版/离线)等。

官方启动器(Minecraft Launcher):Mojang 出品的官方启动器,界面简洁,功能基础,必须登录微软账号才能使用(需要正版)。适合只想玩原版 Minecraft 的 PC 玩家。

第三方 PC 启动器:如 HMCL(Hello Minecraft! Launcher)、PCL2(Plain Craft Launcher 2)、BakaXL 等。它们提供了更丰富的功能:离线登录、多版本并存、自动安装 Forge/Fabric/OptiFine、一键导入整合包、从 CurseForge/Modrinth 直接下载模组、主题皮肤、游戏内资源管理、崩溃自动分析等。这些启动器在国内 Minecraft 社区中十分流行。

Android 平台启动器:FoldCraftLauncher(FCL)和 ZalithLauncher 2(ZL2)是目前社区最主流的两个选择。它们的本质是将 PC 版 Minecraft Java Edition 的运行环境(Java 虚拟机 + LWJGL 图形库 + GL4ES 渲染层等)移植到了 Android 系统上,让你在手机上玩到和 PC 完全一致的 Java 版 Minecraft,而非官方推出的手机版"基岩版"(Bedrock Edition)。这意味着 PC 上的模组、存档、资源包理论上也能在手机上使用(受限于手机性能和兼容性)。

启动器管理的核心目录结构(以 FCL 为例):外部根目录为 FoldCraftLauncher/,内部针对每个游戏实例(版本)拥有独立的子目录,通常包含:.minecraft/versions/<版本名>/(该版本的游戏核心 jar 和 json 元数据)、.minecraft/mods/(该版本的模组)、.minecraft/config/(模组运行时生成的配置文件)、.minecraft/resourcepacks/(资源包)、.minecraft/shaderpacks/(光影包)、.minecraft/saves/(单人游戏存档)、.minecraft/logs/(运行日志)、.minecraft/crash-reports/(崩溃报告)、.minecraft/screenshots/(游戏内截图)。当你创建一个新版本实例时,启动器会自动下载游戏文件并搭建这套目录结构。

十四、Java 虚拟机与 JVM 参数

Java 是一种跨平台的编程语言,Minecraft Java Edition 就是用 Java 编写的。所谓"跨平台"是指同一份 Java 程序(.jar 文件)可以在 Windows、macOS、Linux 等不同操作系统上运行,只要该操作系统上安装了对应版本的 Java 运行环境。这是因为 Java 程序不是直接编译成机器码,而是编译成一种中间格式(字节码,Bytecode),由 Java 虚拟机(JVM)在运行时翻译成当前平台的机器指令。

Java 运行环境(JRE,Java Runtime Environment)包含了 Java 虚拟机(JVM)和标准类库,是你运行 Java 程序的必需品。Java 开发工具包(JDK,Java Development Kit)则包含 JRE 加上编译器和开发工具,普通玩家只需要 JRE 即可,如果你是开发者则需要 JDK。

Java 版本对照表(Minecraft 各版本所需 Java):Minecraft 1.16.5 及更早 → Java 8(LTS 长期支持版);Minecraft 1.17 → Java 16;Minecraft 1.18 - 1.20.4 → Java 17(LTS);Minecraft 1.20.5 及更新 → Java 21(LTS)。你在启动器中必须选择正确的 Java 版本,否则游戏无法启动或会出现奇怪的错误。幸运的是,现代启动器(FCL、ZL2 等)通常会自动下载匹配的 Java 版本。

JVM 参数(Java Virtual Machine Arguments,俗称 Java 启动参数):在启动 Minecraft 时传给 Java 虚拟机的一系列配置指令,用于控制内存分配、垃圾回收策略、性能调优等。这是社区中常说"调 Java 参数"所指的内容。新手通常只需要了解一个参数:-Xmx,它设置 Java 虚拟机可使用的最大堆内存。例如 -Xmx4G 表示最多分配 4GB 内存给 Minecraft。分配得太少会导致 OutOfMemoryError 崩溃(内存溢出);分配得太多则可能挤占系统和其他程序的内存,反而导致卡顿。一般建议:设备总内存的 50%-70%,但不要超过 8G(除非你同时加载了几百个模组)。在 FCL/ZL2 的实例设置中,你可以在"Java 虚拟机参数"或"内存设置"中找到 -Xmx 选项。

在 Android 平台,FCL 和 ZL2 已经内置了 Java 运行环境,用户通常不需要手动安装 Java。它们会根据你选择的游戏版本自动匹配合适的 Java 版本,并在内部管理中自动下载对应的 Java 运行时。如果你遇到启动失败,除了检查模组冲突和文件完整性,也可以检查一下 Java 版本设置是否正确。

十五、日志与崩溃报告详解

日志(Log)是程序运行时自动记录的文本信息流。它就像飞机的"黑匣子"——持续记录运行中的关键事件,出问题时工程师通过阅读黑匣子数据找出事故原因。Minecraft 也同样:在启动和运行过程中会持续把状态信息写入日志文件,包括加载了哪些模组、注册了哪些物品、是否出现警告或错误等。

日志文件位置:单机客户端 → .minecraft/logs/latest.log(最新日志)及带日期的旧日志;服务器端 → 服务端根目录/logs/latest.log。每次启动游戏或服务器时,latest.log 会被清空重写,旧内容保存在带日期的文件中。

当游戏或服务器崩溃时,除了日志还会额外生成一份崩溃报告(Crash Report),存放在 crash-reports 文件夹中,文件名通常包含崩溃时间戳。崩溃报告比普通日志更详细:它会明确指出是哪个类(Class)的哪一行代码抛出了异常(Exception),并列出完整的调用堆栈(Stack Trace)——即崩溃时代码的执行路径,从最上层一直追溯到最底层出错点。

日志中并不需要看懂每一行。几个快速定位问题的关键词:ERROR(错误,通常指向具体问题)、WARN(警告,提示潜在风险,不一定导致崩溃)、FATAL(致命错误,程序已无法继续)、Exception 或 Caused by(异常的具体原因和堆栈跟踪)。如果在日志中反复出现某个模组名后面跟着 ERROR 或 Exception,这个模组就非常可疑。

当你需要向社区求助时,解答者通常第一句话就是"发日志"或"发崩溃报告"。没有日志的求助差不多等于去医院看病但不给医生任何检查报告——医生没法凭空诊断。建议使用 LogShare.CN 上传日志文件,上传后会生成一个分享链接,把链接发给解答者即可。这比在聊天里粘贴几十行代码体面得多,而且 LogShare 还能自动帮你分析日志中的明显问题。

日志文件通常很大(几百 KB 到几十 MB),绝对不要直接在 QQ 或微信群里全篇粘贴——一来会被聊天软件截断,二来别人在手机上翻看几百行日志非常痛苦。正确做法:上传到 LogShare.CN → 复制链接 → 把链接发到群里。如果实在无法使用 LogShare,可以把日志文件以文件附件形式发送,让对方自行下载查看。

十六、配置文件(Config)

配置文件(Config)是用于自定义模组、插件或游戏本身行为的文本设置文件。你可以通过修改配置文件来开关模组的某个功能、调整参数数值、修改界面样式、甚至是整个模组的核心玩法。

常见的配置文件格式包括:.json(JavaScript 对象表示法,最通用,人类和机器都易读)、.toml(Tom 的显然最小语言,比 JSON 更简洁,近年越来越流行)、.cfg(简单键值对格式,如 key=value)、.properties(Java 属性文件,格式与 .cfg 类似)、.yml(YAML 格式,依赖缩进层级,格式严格)。建议使用支持语法高亮的文本编辑器(如 VS Code、Notepad++)打开,JSON 和 TOML 的语法错误(如多一个逗号或少一个引号)可能导致模组直接跳过该配置文件使用默认值,甚至拒绝加载。

许多模组在首次加载后会自动在 config 文件夹中创建默认配置文件。如果你对某个模组的行为不满意,去看看它的 config 文件,里面通常有详细的选项注释说明每个参数的含义。注意:有些模组使用游戏内 GUI 配置界面(需要 Cloth Config 或 Mod Menu 等前置模组),不需要手动编辑文本文件。

修改配置文件的安全守则:修改前先备份原文件(复制一份并加上 .bak 后缀),只改你确信需要修改的条目,不要删除看不懂的行,错误修改可能导致模组加载失败乃至游戏崩溃。如果你不确定某个参数的作用,去模组官方文档或 Wiki 查询,不要凭感觉乱改。

如果你在社区里看到别人说"改一下 config 里 xx 模组的 yy 参数就可以了",指的就是:打开 config 文件夹 → 找到对应模组的配置文件 → 用文本编辑器打开 → 找到对应条目 → 修改数值 → 保存 → 重启游戏。

十七、Minecraft 存档结构

Minecraft 的每个单人游戏世界都是一个独立的存档文件夹,存放在 .minecraft/saves/<世界名称>/ 路径下。如果你玩的是服务器,你本机上也可能有对应的客户端缓存数据。

存档文件夹内的重要文件:level.dat(世界元数据:游戏模式、时间、天气、种子、玩家位置和背包等核心信息——这个文件损坏了,整个存档基本报废)、level.dat_old(level.dat 的上一个版本备份)、session.lock(用于防止多个程序同时打开同一个存档)、icon.png(世界图标,显示在世界选择界面上)。

存档文件夹内的重要子文件夹:region/(主世界区块数据,每个 .mca 文件存储 32×32 个区块的地形和方块信息)、DIM-1/(下界维度区块数据,-1 是下界的维度 ID)、DIM1/(末地维度区块数据,1 是末地的维度 ID)、data/(地图物品数据 map_*.dat、战利品表随机种子等)、datapacks/(该世界的自定义数据包)、playerdata/(多人模式下每位玩家的独立数据,单人模式下玩家数据存储在 level.dat 中)、stats/(玩家的统计信息如行走距离、击杀数等)、advancements/(玩家的进度完成情况)。

如果你需要备份存档,最简单的做法是直接把整个存档文件夹(如"我的世界"文件夹)复制到安全位置。恢复时再复制回 saves 文件夹中即可。如果你需要在不同设备之间转移存档,将存档文件夹打包为 .zip 后发送,在目标设备上解压到 saves 文件夹中。注意:不同游戏版本之间的存档可能不兼容——在 1.20 中打开过的存档无法再被 1.19 加载,加载时游戏会明确提示并阻止操作。

服务器的世界数据存放在服务端根目录下的 world(默认主世界名称)、world_nether(下界)、world_the_end(末地)文件夹中,结构与单机存档类似。服主备份服务器时,通常备份整个服务端目录,或至少备份这三个世界文件夹和插件配置文件夹。

十八、服务端类型详解

Minecraft 服务端(Server)是在后台持续运行的程序,它负责管理世界数据、处理玩家操作、同步游戏状态,让多名玩家可以在同一个世界中同时游戏。你和朋友们联机时,需要有一个服务端在运行,所有人的客户端都连接到这个服务端。

原版服务端(Vanilla Server):Mojang 官方发布的服务端程序,功能就是原版游戏的全部内容——没有任何额外的管理命令、没有性能优化补丁、没有插件支持。适合只有几个朋友玩纯原版生存的简单场景。下载地址:minecraft.net 的下载页面。

插件服务端:基于原版修改而来的服务端,提供了插件 API。主要分支:Spigot(最广泛使用的成熟平台,有大量插件生态)、Paper(Spigot 的性能优化分支,修复了大量原版 Bug 和性能问题,是目前社区推荐的主力服务端)、Purpur(Paper 的再衍生,提供了更丰富的可配置选项)。这些服务端均不支持模组,只能使用插件。如果你想要领地、经济、商店等功能,选 Paper 或 Purpur 就对了。

模组服务端:在服务端上直接运行模组的方案。Forge Server(Forge 官方服务端,与 Forge 客户端配套使用)、Fabric Server(Fabric 官方服务端,与 Fabric 客户端配套使用)、NeoForge Server(NeoForge 官方服务端)。使用模组服务端时,所有加入的玩家也必须安装相同的模组集合(除非某些模组标注了"仅服务端"或"仅客户端")。

混合服务端(Hybrid Server):同时支持模组和插件的服务端方案。例如 Mohist(Forge + Bukkit)、Arclight(Forge/Fabric + Bukkit)、CatServer 等。混合服务端看似完美——既想要模组内容,又想要插件管理功能——但实践中稳定性远不如纯模组或纯插件服务端,因为两个平台之间的兼容层会引入大量 Bug。除非你非常清楚自己在做什么,否则不推荐新手使用混合服务端。

如何选择服务端?仅原版生存 → 原版服务端即可;需要插件功能 → Paper 或 Purpur;想玩模组生存 → Forge/Fabric 服务端;既想要模组又要插件 → 评估是否真的需要,优先考虑用模组平替插件功能(如 FTB Chunks 平替领地插件),再不行才考虑混合服务端,但要做好出问题自行排查的心理准备。

启动服务端后,会出现一个命令行窗口(或终端),里面持续滚动着日志信息。在这个窗口中可以输入 Minecraft 命令(不需要前缀 /),如 list(查看在线玩家)、say hello(广播消息)、stop(安全关闭服务器)。关闭服务器时请务必使用 stop 命令而不是直接关窗口,否则可能导致数据损坏。

十九、正版验证与离线模式

正版验证(Online Mode):Minecraft Java 版服务端的一个核心设置,由 server.properties 文件中的 online-mode 选项控制。当 online-mode=true(默认开启)时,玩家加入服务器前,服务端会向 Mojang 的官方验证服务器查询该玩家的账号信息,确认该玩家确实拥有正版 Minecraft、且没有被封禁。只有通过验证的玩家才能进入服务器。这是保护正版玩家权益的重要机制——盗版或离线账户无法加入开启了正版验证的服务器。

离线模式(Offline Mode / Cracked Mode):当 online-mode=false 时,服务端不再向 Mojang 服务器验证玩家身份,任何人都可以用任意用户名直接进入服务器。这种方式为没有购买正版的玩家提供了游玩机会,但也带来了严重的安全问题:任何人都可以冒用别人的用户名登录——如果有人用管理员的用户名登录,他将获得管理员的所有权限,可以肆意破坏。因此,开启离线模式的服务器必须安装登录验证插件(如 AuthMe),为玩家设置独立的密码来保护账号安全。

在 Android 平台的启动器(FCL、ZL2)上,如果你没有购买正版 Minecraft,你需要使用"离线账户"或"外置登录"(如统一通行证/LittleSkin 等第三方验证)来进入游戏。离线账户可以自由设置用户名,但只能进入同样关闭了正版验证的服务器;外置登录则是通过第三方皮肤站提供的独立验证系统来确认你的身份,一些服务器支持这种登录方式。

关于正版 Minecraft:Minecraft Java Edition 目前只能通过微软商店或 minecraft.net 购买,官方售价约 89 元人民币(国际版)。购买后你将获得一个终身有效的正版账户(注意:账户是跟着你的微软账号走的,不是跟着设备走),可以在任意设备上登录,无限次下载和游玩。购买正版不仅支持了游戏开发者,也让你能进入所有开启正版验证的服务器——这些服务器通常玩家素质更高、社区秩序更好。是否购买正版是个人的选择,但在社区中请尊重他人对正版的态度。

二十、命令行与终端基础

命令行(Command Line,也叫终端 Terminal 或 Shell)是一种通过输入文本指令来操作计算机的交互方式。与现代操作系统中点来点去的图形界面(GUI)不同,命令行完全基于文本——你输入一条命令,计算机执行并返回文本结果。虽然看起来像黑客电影里的场景,但实际上命令行并不神秘,只是另一种操作方式而已。

为什么开服需要接触命令行?当你启动 Minecraft 服务端时,服务端会在一个命令行窗口中运行。你可以在其中输入 Minecraft 命令来管理服务器(如 ban 玩家、给物品、切换游戏模式等),也可以用操作系统的命令来管理服务端程序本身。服务器没有图形界面,一切交互都通过命令行完成。

最基本的 Windows 命令(在 cmd 或 PowerShell 中):dir(列出当前文件夹的内容,类似打开文件夹看里面有什么)、cd <文件夹名>(进入指定文件夹,cd .. 返回上级文件夹)、cls(清屏)。最基本的 Linux/Android 终端命令:ls(列出文件,相当于 dir)、cd <文件夹名>(进入文件夹,同 Windows)、pwd(显示当前所在路径位置)、clear(清屏)。

在服务端控制台中,你不需要输入 / 前缀就能直接执行 Minecraft 命令。例如直接输入 list 就能查看在线玩家,输入 say 大家好 就能向全体玩家广播消息。而在游戏内的聊天框中,你需要加上 / 前缀,如 /list、/say 大家好。当社区中有人让你"在控制台输入 xxx"时,指的就是在服务端的命令行窗口中输入,不是在游戏里。

如果你完全不用命令行也可以——现在大多数服务器面板(如 Pterodactyl 翼龙面板、MCSManager)都提供了网页图形界面来管理服务器,你可以在网页上输入命令、查看日志、管理文件,基本不需要接触真正的命令行窗口。但对于学习计算机基础来说,了解一点命令行知识百利而无一害。

二十一、常见术语速查表

API(Application Programming Interface,应用程序编程接口):程序之间通信的约定。类比:餐厅的菜单——你按菜单点菜(调用 API),厨房按菜单做菜(处理请求),最后服务员把菜端给你(返回结果)。你不用关心厨房内部如何运作,只需知道点菜规则。Minecraft 中的 Bukkit API 就是插件与服务端之间的"菜单",模组中的 Forge API 就是模组与游戏核心之间的"菜单"。

开源(Open Source):程序的源代码公开,任何人都可以免费查看、修改、重新发布。Linux 操作系统、7-Zip 解压软件、Paper 服务端、大多数 Minecraft 模组都是开源的。闭源(Closed Source / Proprietary):源代码不公开,只有版权所有者可以修改。Windows 操作系统、Minecraft 游戏本身、大部分商业软件是闭源的。

数据库(Database):系统化的数据存储和管理工具。小到 Minecraft 服务器中的玩家经济数据,大到网站的百万用户信息,都依赖数据库来存取。常见的数据库有:MySQL/MariaDB(传统关系型数据库,插件常用)、SQLite(轻量级文件数据库,一个文件就是一个数据库,适合小型应用)、PostgreSQL(功能强大的高级关系型数据库)、MongoDB(非关系型数据库,适合灵活的数据结构)。如果你只是用插件管理一个几十人的 Minecraft 服务器,SQLite 就完全够用了。

备份(Backup):将重要数据复制一份到安全位置保存,以在数据丢失(误删、硬盘损坏、服务器被入侵)后能够恢复。Minecraft 服务器备份通常包括:世界文件夹(world/)、插件配置文件夹(plugins/)、服务器核心配置文件(server.properties、spigot.yml、paper.yml 等)。备份频率建议至少每天一次,自动化备份可以使用插件(如 DriveBackupV2、eBackup)或定时任务脚本。备份后的文件应存储在不同于服务器硬盘的物理位置(如云盘、NAS),否则硬盘坏了备份也跟着一起丢。

线程(Thread):程序内部独立执行任务的流水线。一个程序可以有多个线程,同时处理不同的事情。Minecraft 的主要游戏逻辑跑在主线程(Main Thread)上,包括区块更新、实体处理、方块更新等。如果主线程被某个耗时操作阻塞超过一定时间(通常约 30 秒),服务端会认为"卡死了"并自动崩溃(Watchdog 超时)。"优化线程"的说法指的是把某些非核心计算从主线程挪到其他线程执行,以减轻主线程负担。Folia 服务端就是将 MC 逻辑真正做到多线程化的实验性项目。

缓存(Cache):将经常用到的数据暂存在读写速度更快的存储中,避免每次都从慢速存储重新计算或读取。Minecraft 在运行时会缓存大量区块数据在内存中,这样你走到之前去过的地方就不会卡顿——数据已经在内存里准备好了,不需要从硬盘重新读取。但如果缓存占满了,游戏就必须清理旧的缓存数据为新数据腾出空间,这个清理过程如果太激进就会导致卡顿。

延迟(Latency / Ping):数据从你的设备发送到服务器再返回所花费的时间,通常以毫秒(ms)为单位。在 Minecraft 多人游戏中,延迟体现为"延迟"——你打了一个方块,但方块要等一会才碎掉;或者你走路时感觉角色被"拉回去"(俗称"回弹")。延迟受物理距离和网络路由影响:你在中国连美国的服务器,延迟通常 200-300ms;连国内的服务器,延迟通常 20-60ms。部分高延迟问题可以通过加速器(网络优化代理)缓解——加速器会为你的连接选择更优的网络路由路径。

TPS(Ticks Per Second,每秒刻数):Minecraft 服务端的性能核心指标。游戏中的所有逻辑——方块更新、生物 AI、红石运算、作物生长等——都以"刻"(Tick)为单位执行,理想状态下每秒应该执行 20 个刻(20 TPS)。当服务端运算负载过高时,TPS 会下降,表现为生物行动迟钝、方块破坏延迟、红石装置运行不流畅等。TPS 低于 15 时玩家体感已明显受影响,低于 10 时游戏基本不可玩。优化服务端的主要目标就是尽量保持 20 TPS。

MSPT(Milliseconds Per Tick,每刻毫秒数):与 TPS 互补的性能指标,表示处理一个刻平均花费多少毫秒。20 TPS 意味着每个刻必须在 50ms 内完成(1000ms ÷ 20 = 50ms)。如果 MSPT 超过 50,TPS 就会开始下降。你可以在 Paper 服务端用 /mspt 命令或在 Spark 性能分析报告中看到这个指标。

沙盒(Sandbox):一种安全隔离机制,限制程序只能在特定范围内操作,防止其影响系统其他部分。Android 系统本身就是一个巨大的沙盒——每个应用都在自己独立的"沙箱"中运行,无法随意访问其他应用的数据。这就是为什么 FCL 中的文件管理器只能操作自己的目录,不能随意访问整个手机存储的原因之一。Termux(Android 上的 Linux 终端模拟器)也是在受限的沙盒环境中运行。

本教程涵盖了大量基础概念,全文较长——不必一次性读完,建议当作工具书,遇到听不懂的术语时回来查阅对应的章节。如果在阅读后仍有不明白的地方,或者认为某些概念讲解不够清晰,欢迎通过 QQ 群或 LogShare 社区向我们反馈。记住——每个人都是从新手过来的,提问不可耻,带着日志提问最有价值。