在CentOS 7上给我的世界服务器加mod,核心就三步:装好Java、运行对应版本的Forge或Fabric加载器、把mod文件扔进mods目录后重启服务。但很多朋友卡在奇怪的地方,比如启动报错、mod不生效、一进就崩,这篇把常见坑全挑明白,按步骤走就行。
我的世界服务器加mod前,先确认Java和加载器版本
Java版本不对,mod一个都跑不起来
CentOS 7自带的OpenJDK通常比较老,而我的世界服务器从1.17开始强制要求Java 16以上,1.20.5之后更是要Java 21,装mod之前先看自己Java版本:
java -version
如果显示1.8之类,直接装新版,我这边推荐用Temurin发行版,稳定且兼容性好,在CentOS 7上装Java 17的参考命令:
yum install -y java-17-openjdk
装完再确认版本,注意CentOS 7的软件源可能没有Java 17,需要先装EPEL或手动下载rpm包,懒得折腾的话,用wget直接下载Temurin的tar.gz包解压,然后配置/etc/profile里的JAVA_HOME和PATH。
有个坑:如果你同时装了多个Java版本,运行java -jar时会用默认版本,但启动脚本可能指定了别的路径,建议统一用alternatives --config java切换,或者直接在启动脚本里写死JAVA_HOME。
选择Forge还是Fabric,取决于mod来源
行业共识认为,大多数老牌大型mod(比如暮色森林、匠魂)都优先支持Forge,而Fabric在轻量化和新版本适配上有优势,两者不能混用,也不能同时装,怎么选?
- 你下了大量1.12.2、1.16.5的老mod,选Forge。
- 你想玩最新的版本的轻量小mod,比如背包整理、小地图,选Fabric。
- 有些mod会明确标注”仅支持Forge”或”仅支持Fabric”,下载前看仔细。
Forge和Fabric版本必须和你的服务器核心版本完全对应,比如服务器是1.20.1,就要下载1.20.1的Forge安装器,不能跨版本,这个对应关系在mod文件名的后缀上也能看出来,比如xxx-1.20.1.jar。
我的世界服务器mod安装失败?看看Forge和Fabric两种加载器的差异
很多人在这一步出错,因为在下载加载器时搞混了”安装版”和”服务端版”,Forge官网给的是installer.jar,需要运行一次才能生成服务端文件;Fabric则提供单独的server launcher。
对比一下:
| 对比项 | Forge | Fabric |
|---|---|---|
| 安装方式 | 运行installer加上--installServer参数 |
下载fabric-server-mc.launcher.jar |
| 生成文件 | run.sh、libraries目录 | server.jar + fabric相关库 |
| mod格式 | .jar放入mods文件夹 | 同样放入mods文件夹 |
| 兼容旧mod | 更好 | 一般 |
| 内存占用 | 较高 | 较低 |
| 常见崩溃原因 | 版本不匹配、依赖缺失 | mixin冲突、API版本不对 |
在CentOS 7上,下载Forge安装器的操作比较机械,先到Forge官网找到对应Minecraft版本的”Recommended”下载链接,复制链接后用:
wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.20.1-47.2.0/forge-1.20.1-47.2.0-installer.jar
然后运行:
java -jar forge-1.20.1-47.2.0-installer.jar --installServer
等待输出Done,目录下会多出run.sh和libraries,后面启动就用./run.sh。
Fabric则不同,你需要去Fabric官网下载”Fabric Installer”,然后运行:
java -jar fabric-installer-0.11.2.jar server -mcversion 1.20.1 -downloadMinecraft
这会生成fabric-server-launch.jar,之后启动用:
java -jar fabric-server-launch.jar nogui
注意,Fabric生成的启动方式不推荐直接java -jar,因为要带上一些JVM参数,用官方脚本最稳。
手把手在centos7上给mc服务器装mod文件
第一步:找到mods文件夹
启动一次服务器后,会在服务端根目录生成mods文件夹,如果没生成,手动创建一个:
mkdir mods
这里有个细节:服务端根目录和你的Minecraft游戏目录不是一个地方,很多人把mod下载到了windows桌面上传,结果传到了服务器其他目录,自然不生效,务必确认你是站在服务端工作目录下。
第二步:上传mod并检查版本兼容
最简单的方式是先用本机测试mod能不能单机运行,再上传服务器,但本机能跑不代表服务器能跑,因为服务器端缺少客户端渲染类mod是可以的,但依赖特定客户端API的mod会崩。
上传后建议用以下命令统计mod数量:
ls mods/.jar | wc -l
超过30个mod时,启动可能很慢,不用慌。
第三步:调整内存和启动参数
我的世界服务器加mod后内存占用直线上升,8GB内存的机器,给服务器分配4GB比较常见,修改run.sh里的JVM参数:
-Xms4G -Xmx4G
注意-Xms和-Xmx设置一致可以避免运行中动态扩容带来的卡顿,如果mod很多,建议加到-Xms6G -Xmx6G,但千万别把宿主机内存全分完,系统没内存会直接OOM杀掉Java进程。
加上这行参数能减少mod崩溃概率:
-XX:+UseG1GC -Dsun.rmi.dgc.server.graceTime=2147483647
第四步:重启并观察日志
改完配置,先停掉旧的服务器进程,很多人直接kill -9,这样容易损坏世界存档,最好用stop命令或kill主进程PID。
然后启动:
./run.sh nogui
看到Done字样才算启动成功,如果一堆红色报错,别慌,先找crash-reports目录下的最新文件,把报错信息中的关键行复制到百度搜索,比你自己猜效率高得多。
我的世界服务器mod不生效?排查这五个细节
mod文件是否后缀是.jar且完整
直接从网盘下载的mod,可能被浏览器改名为.zip或者压缩包内套文件夹,服务器只认.jar,且不能直接放压缩包,确保:
file mods/你的mod.jar
如果显示Zip archive data且能被解压,多半没问题,如果显示ASCII text,说明你下错了。
是否把插件(Plugin)当成mod
如果你的服务器装了Paper或Spigot服务端,那是插件服,用的是plugins文件夹加.jar插件,而Forge/Fabric是mod服,用的是mods文件夹加mod,两者不能混用,你如果想在插件服里加mod,需要装Bridge之类的转换工具,非常麻烦,普通用户不建议。
mod依赖的前置mod装没装
很多mod需要其他mod做前置,比如jei、architectury-api
、geckoLib,少装一个前置,mod就不会加载或者直接崩,到mod下载页面看”Dependencies”一栏,缺啥补啥,统一放进mods文件夹,不必单独建目录。
服务端是否运行在离线模式
如果你的服务器开了在线模式(online-mode=true),某些带登录验证的mod可能正常,但如果你用的是内网穿透或非正版启动器,客户端mod连接服务器时会报错,这时可以在server.properties里改online-mode=false,但注意会降低安全防护。
内存是否足够且swap被禁用
给服务器加了大量mod,但JVM堆内存只给了1G,肯定会卡死或崩溃,用以下命令实时看占用:
free -h
如果交换分区为0且内存即将耗尽,建议关闭某些大型生物群系mod,或者升级服务器内存,我的世界mod服对内存的需求弹性很大,十几万的mod包跑了几个大型mod后,5G内存也捉襟见肘。
关于我的世界服务器mod加载器的常见问答
问:centos7上mod和插件能一起装吗?
不能直接一起装,Forge/Fabric服务端是mod服,Paper/Spigot是插件服,如果你实在需要混用,可以尝试用Magma或Arclight这种混合服务端,但官方支持并不好,崩溃概率高,且两者版本更新经常不同步,对于新手,建议先明确你要玩mod还是插件。
问:我下载的mod在服务器上不显示,日志也没有报错,怎么办?
先确认mod版本和服务端版本完全一致,其次是看mod是否仅客户端专用,比如某些光影增强或HUD美化,这类mod在服务器端会被自动忽略,因为服务端不需要渲染,最后检查mods文件夹路径,如果你跑的服务端脚本里设置了不同的工作目录,mods文件夹可能在别的地方,用find / -name "mods" -type d 找一下。
问:我的世界服务器加mod后启动失败,有没有快速定位问题的方法?
看logs/latest.log文件,搜ERROR或FATAL关键字,Forge会在崩溃时把原因写在crash-reports里,文件名为崩溃时间,多数崩溃原因是mod之间冲突,日志会指出两个mod的ID,去掉其中一个mod再启动试,多试几次就能定位,如果日志完全没输出,大概率是Java版本不对或启动参数错误,先检查java -version。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/723212.html





