Minecraft服务器版本升级指南

2026-10-16 02:56:09   浏览: 11次

AI评分: 85

原因: 文章提供了从Forge-1.16.5升级到NeoForge-1.21.1的详细技术指南,结构清晰、逻辑性强,分步骤阐述了备份、服务初始化、模组升级和世界覆盖等核心过程。内容实用性强,针对常见问题如维度错误给出了有效解决方案,并配有大量图片增强可读性。不足在于语言稍显口语化(如'嗷'、'吃瓜'),某些技术细节可更深度展开,但整体对MC服务器管理员具有较强参考价值。

    近期,我打算重启我的MC服务器,在升级过程中遇到了一些问题,在此做一些总结,如果有相似想法的可以作为参考。本次的升级点是从forge-1.16.5升级到neoforge-1.21.1,存档内容都保持不变。期间解决了各种问题,比如无法进入下届,报错:未知的維度 "minecraft:the_nether"等。


前言

    随着时间的流逝,MC继1.16.5后的又一个强势版本1.21.1生态也逐渐的好了起来,各个模组也基本跟进到了这个版本。在模组的不断发展的同时,还有一个非常重大的事件,那就是forge分家了,略微吃了一些瓜后,拥向了neoforge的怀抱,主要原因是neoforge开发模组还挺方便[可这和我的帅有什么关系]。

    在之前1.16.5,大概是大学时期开的一个服务器,和各个朋友一起建起的家园,在相册页面还有一些截图纪念。那时候forge一直找不到不给op的tp指令模组,所以当时还研究学习了命令方块,通过命令方块和指令书的方式,实现了小伙伴之间的传送。因为玩的人不多,所以,指令房间比较小。而现在通过neoforge+AI开发非常简单的就完成了tpa指令的模组开发。

    

    现在,突然又想会坑看看以前的服务器,顺便体验一下新版本的内容,所以,就决定升级一下MC的版本,重新体验一下。


初始化neoforge服务

    在所有操作之前,最重要的一步就是备份旧的存档,并且打个压缩包,无论怎么样,旧的存档数据的安全性是一定要有的!

    这次使用的是neoforge,所以先到 https://neoforged.net/ 选择好目标服务器和neoforge的版本,官网下载neoforge的安装器。


    下载好这个jar文件后,双击打开,选择安装服务器,勾选Server starter jar,并且设置好目标的服务器模板地址(下载部署好模板后,后续开其他服的时候可以复制好模板直接一键开服)。注意,过程会连接一些其他资源,会受到网络影响,记得设置TUN模式的梯子,下载更加稳定嗷,如果下载失败了,再次双击下载器安装即可,直到提示SUCCESS。



    双击run.bat文件,开始启动服务,第一次启动会中止,因为要设置eula协议,当出现eula.txt文件后,打开,将false改成true。再次启动,就会正常开始生成世界了。生成结束后,在本地启动一个客户端测试一下能够正常进入即可。


    在命令行输入stop关闭服务器。然后将当前这个模板打包好,如果后续还要使用的话,就不用再次上述下载的操作了。


旧版本升级

    完成了neoforge的设置后,接下来要开始对旧的存档进行升级了。主要的点有这几个:server.properties的设置、mods模组升级、world覆盖。以下一一介绍,并且提出注意事项。


properties设置

    可以与旧版本的properties比较进行修改。比如difficulty难度、motd服务器介绍、online-mode是否开启正版验证、server-port服务器端口号。对于升级来说,有个非常重要的参数,那就是level-seed,即生成的世界的种子,务必启动老服务器,输入/seed查看一下种子是多少,然后填写在这个参数里。如果不填写种子,后续的地图探索与未探索的边界会发生断层!为了过渡自然,所以要设置好种子(当然有时候设置了边界也会有些问题,一般是版本变化太大了,比如洞穴更新,直接拓展了洞穴的生成方式,一些边界的洞穴可能就会很奇特)。


模组升级

    这是最耗费精力的事情,如果你的存档有成百上千的模组,那么这一过程无疑是痛苦的。建议先做个excel表格,记录一下每个模组的jar包名称、用压缩工具打开jar包来到META-INF,找到一个元数据配置文件,记录一下github仓库地址(防止失联)、模组id、作者和显示名称。这些都是关键的信息,决定了你升级的模组是不是同一个作者的,因为有时候会发现名字一样的模组,通常是不能直接替换的。



    在前往curseforge之前,建立先对这些模组归类,编排重要程度,哪些是辅助功能性的,哪些是核心的,毕竟你无法确定每个模组都能找到升级的版本,在无论如何都找不到的时候,就要学会取舍。

    在寻找升级的模组时,可以采用如下思路:

1. 先在curseforge搜索模组,通常来说通过图标可以勾起回忆,然后查看作者是不是同一个,如果大概差不多,可以尝试下载下来,并且打开模组的元信息进行比对

2. 如果发现找到了模组,但是作者停更了,也先不要直接放弃,可以在上面介绍的元信息找到一些联系方式,通常是github仓库,可以在github仓库查看作者动态,查看issues有没有人接坑

3. issues里也没人了怎么办?不要慌,还可以看看有没有热门的fork的仓库,有的人可能会fork仓库进行更新,也是最终的方案

4. 都没有?那就只能放弃、或者自己clone仓库升级、找人帮忙。



    基本上一些热门的模组,在1.21.1版本都会存在,略微高一点的也可以尝试下载下来查看是否兼容。

    将模组放入服务器mods文件夹后,启动服务器,查看哪些模组能够成功加载了,以及是否报错,报错的内容是否重要等,如果大差不差,在客户端安装这些模组后(注意此时不要安装其他仅客户端模组、光影、材质,避免这些仅客户端的模组因素影响到核心功能测试),可以再次启动客户端,开个创造模式,来查看一下各个模组内容是否都加载出来了。没问题就进入下一步。


world覆盖

    对于MC来说,最关键的数据都在world文件夹下,即存档,文件里的文件都有各种各样的作用,比如DIM1是下界,playerdata记录了玩家的成就物品等信息、region记录了已经加载的区块信息、poi村民绑定信息、level.dat服务元信息等。有的文件夹是模组生成的,比如我这里的camera_images就是我的照相机模组的照相机相册图片。



    对于小版本升级来说,基本上把这个world替换一下新服的world文件夹即可。但是对于大的版本变动,可能会有很多意想不到的情况发生,所以需要做一下操作。

    先覆盖存档,然后输入下面的命令启动升级,这将会对当前的存档进行强制升级,并且清除掉cache缓存。这个过程时间可能比较长,需要耐心等待。

java -jar server.jar --forceUpgrade --eraseCache

    等到启动结束后,先别急着进服务器,我们还需要更新一下level.dat文件,否则可能会产生找不到下界的情况,比如执行指令 /execute in minecraft:the_nether run teleport @s 0 80 0 传送到下界会提示:未知的維度 "minecraft:the_nether"。我们先把上面升级好的存档改名world_old,然后重新启动服务,产生一个新的存档,复制存档里的level.dat到world_old下免进行覆盖。然后删除掉这个新建的存档,旧的存档名字还原成world即可。

    然后启动服务器,并且启动客户端连接,如果可以顺利的进入服务器并且进入地狱门也没问题,基本就没有大问题了。如果之前的世界设置了死亡不掉落或者爆炸保护需要重新指令设置一下,因为这些都是存在level.dat中的。


部署到服务器

    一切准备就绪后,就可以生产服务器了。如果是宝塔管理,可以放在其他项目下面管理。


    客户端设置一下服务器的地址尝试连接,一切顺利!注意,初次进入的时候可能服务器端会掉线是正常的,通常再次启动一下就好了,原因可能是一下子没有加载好导致的掉线。

    

    嗷,忘记说了,高版本记得安装 No chat reports 模组,一个下载量过亿的模组,至于用处是什么,你查一下就直到了,一般私服都强烈建议安装,安装后,你的服务器后面就会有上图的小√符号。


    至此就结束升级啦!可以开始安装各种各样的客户端模组、材质和光影,开始享受游戏啦。

    


#minecraft
0

⚛ ❀ 评论 ❀ ⚛


  1. Detached
    2026-10-17 02:22:54

    很喜欢这种自己动手的感觉,现在悲催的是,如果我想做什么第一时间都会考虑AI能不能替我做bilibili_tv_gif-26

    回复

回到顶部