你无法看到我

我的世界MOD服务器开服攻略

如果你想做一个我的世界Minecraft服务器和自己的亲友一起玩,那可以参考这篇文章的内容,需要注意:该内容不适用于创建商业服务器,因为其不会过多考虑反作弊和建筑保护的问题。

思考你想创建一个怎样的世界

实际上如果你对服务器的内容没有具体的需求,只是想加载很多mod开始玩,那最快捷的方案是直接下载modpack(整合包),一些整合包也会提供专门的服务器包用来开设服务器使用。

如果你不需要服务器24小时在线,那也可以考虑直接在自己的单人世界中开放局域网链接功能,如果你没有公网IP地址,那你还需要使用内网穿透才能让亲友连接你的游戏。

创建整合包的过程就是利用mod的堆砌实现自己心中所想的过程。

需要首先思考,这个服务器的世界,主要玩法是什么,是重在探索冒险,还是重在战斗升级,亦或是重在田园生活,模拟经营等。

由于性能的限制和bug的制约,我们不能创造出一个什么都有的世界(当mod数量超过一定程度,很容易出现某个mod和其他mod的冲突等问题,也会导致服务器被拖慢卡顿等),因此需要挑选一个自己希望的风格来制约此后挑选mod的过程。

一般会通过三个网站来挑选mod

https://www.curseforge.com/minecraft   老牌mod网站,只有英文,有自己的客户端,网页下载需要读秒比较烦人。

https://modrinth.com/  新晋mod网站,体验一流,只有英文,下载便捷,部分mod只在该网站上传。

https://www.mcmod.cn/   国内mod百科,搜索不支持按下载量等排序,只有中文,不提供mod下载,适合查阅mod资料以及通过阅读mod下面的评论来判断mod是否合适。

其次需要准备好游戏,这样才能对mod进行测试。

首先需要确定我的世界游戏版本,目前最主流的版本是1.12.2,1.20.1,1.21.1,热度较低的版本是1.18.2,当下开服还是更推荐使用主流版本,并且最推荐1.21.1。在更高的版本中,游戏原版的性能更好,内容更多,bug也更少(真的少了吗…)。

不过这不代表必须要选择高版本开服,实际上选哪个版本主要还是看,你想玩的mod主要支持哪个版本。

相对来说老的主流版本上会有更多大型mod,但是一旦出现bug,多半无法得到作者的支持,因为绝大部分mod作者只为新版本提供支持。

准备好客户端

这里推荐使用PCL启动器来下载游戏。

https://afdian.com/p/0164034c016c11ebafcb52540025c377   PCL启动器的地址。

将启动器放在一个专门的文件夹中,比如 minecraft 文件夹中。

然后打开启动器,先在设置里启用版本隔离。

然后点击下载,选择你要下载的游戏版本。

接下来你会发现弹出了更多的选项。

其中,Forge,NeoForge和Fabric 是三种不同的mod加载器,你需要使用mod加载器才能为我的世界载入mod,最后一个OptiFine是一个老牌的着色器修改器,它是一个比较特殊的mod,不通过mod加载器而直接修改我的世界本体,主要提供画面修复,光影材质支持的功能,但是OptiFine在目前不推荐使用,由于它是闭源的(没有公开源代码),导致它和其他mod的兼容性非常差,很容易出问题。

如果你要打造一个轻量的服务器(只有小型mod和改善优化型的mod),推荐使用Fabric

如果你要打造一个包含大型mod内容的服务器,推荐使用Forge 和 NeoForge ,在1.21.1或更高版本上,只能使用NeoForge , 而在更低版本上,则使用Forge

点击你要下载的mod加载器,选择里面标注稳定版的最新的那一个即可。

不要使用OptiFine ,有更好的替代品可以用。

最后点击开始安装,等待下载完成即可。

如果你的电脑上没有JAVA,你还需要下载一个JAVA来运行我的世界(因为我的世界是用JAVA这种编程语言构建的),对于 1.20.1 需要使用JAVA17,对于1.21.1 需要使用JAVA21,其他版本要使用哪个版本的JAVA可以通过搜索得知,或者在没有安装JAVA的情况下使用启动器启动游戏,启动器会提示你。

先在没有安装任何mod的情况下启动一次游戏,确保你的原版游戏已经可以正常打开。

然后关闭游戏。

接下来为了方便的下载和更新mod,推荐下载一个

https://prismlauncher.org/  Prism Launcher , 这是另外一个我的世界启动器,它有一个非常方便的功能,就是可以直接在启动器内部搜索、下载和更新mod,更主要的是,它可以在下载mod的时候,自动的下载这个mod依赖的前置mod,大大节约手动下载的时间。

*部分mod为了正常运作,还依赖一些库(lib)类型的mod。

如果你有正版我的世界账号,你也可以用Prism Launcher直接启动游戏,如果你没有正版账号,在打开Prism Launcher的时候,点击不设置账号。

点击左上角的 添加实例

接下来的过程和在PCL启动器上下载游戏的过程类似,选择和之前一样的版本以及mod加载器即可。

下载完成后,在图标上点击右键 -> 编辑

选择 MOD, 点击右上角的 下载MOD

就会看到mod列表了,可以直接进行搜索,非常方便的是,此时搜索和下载的mod,必定是和你游戏版本以及mod加载器相匹配的版本,无需自己在进行筛选。

接下来就可以在前面提到的三个网站挑选mod,如果决定要下载,就回到 Prism 中搜索名字进行下载。如果你发现某个mod搜索不到,可以切换左侧的两个不同的网站尝试,如果都没有,说明此mod没有支持你游戏版本和mod加载器的版本。

开始挑选mod

世界生成

最先考虑的应该是世界生成mod,其对性能和游玩体验的影响是非常显著的。

世界生成主要包括地形算法,生态群系,建筑物(村庄和地牢),额外的维度。

地形算法主要影响地形地貌的起伏和形状,常见的风格有这么几种:

  1. 真实和史诗风格(往往会生成贴近现实的巨大尺寸地形,对性能影响很大,适合风景党,但是对实际游玩并不是非常友好,会导致玩家需要走很远才能从一个群系进入下一个群系)
  2. 原版风格(与我的世界原版近似的风格,通常mod会为其增加更多的变化,可以兼顾风景和游玩,对性能的影响适中)
  3. 迷你风格(将地形修改为空岛,或者六边形网格等非常特殊的形状,这种地形会使得群系碎片化或者小型化,需要搭配特定的玩法设计才能显示出其价值,否则在一开始的新鲜感过后实际上游玩体验不太好,对性能的影响适中)

生态群系为世界生成增加多样性,使得玩家可以在探索的过程中看到更多不一样的景观,甚至收获不同的资源,其对性能的影响比较显著。

建筑物是玩家进行探索的重大驱动力,其中的战利品宝箱=就是玩家探索建筑的主要原因,对性能影响非常显著。

建筑物主要包括:村庄,装饰性结构,地面上的地牢,地下地牢

由于这类mod对性能影响非常显著,因此必须进行取舍,不能既要又要,这只会导致服务器在运行的过程中变的异常卡顿。

在mcmod网站筛选 世界 标签的mod就可以发现很多。

不过由于mcmod网站不支持进一步通过下载量 / 更新日期 来排序,所以还是更推荐在 modrinth 上进行搜索,下图展示了 modrinth 上按照下载量进行排序

进行测试

注意,在挑选好某一类的mod之后,要进行一次测试,确保这些mod同时加载的情况下游戏可以正常运行,并且需要建立一个创造模式单机世界,在其中进行跑图来测试地形生成的速度,以及是否有bug

比较容易出现的问题是:

  1. 地形生成速度过慢,以至于玩家跑到没生成区域的边缘地形都还没生成好,这非常影响探索体验。
  2. 地形生成到某个地方,游戏突然无响应,或者特定区域无法渲染(变成透明的区域)。
  3. 某些结构生成的频率过高,或者结构过于难以找到。
  4. 某些结构中的战利品过于好 或者 过于差,与结构中的挑战不匹配。
  5. 在特定维度中出现地形生成问题。

阅读日志

如果在添加了mod后游戏出现了问题,比如发生了崩溃,或者在测试的过程中发现了非预期中的现象,可以通过阅读日志来确定问题出在哪里。

日志的位置在 启动器所在的文件夹 -> 游戏版本文件夹 -> log 和 crash-report 文件夹内。

阅读日志需要一定的英文阅读能力和一点JAVA编程知识,如果你无法阅读日志,可以将日志上传给AI,让AI帮你确定问题出在哪里。

不过并不是所有问题都可以通过日志确定由哪一个mod引起,在日志无法排查出结果的情况下,需要使用下面的方法。

使用二分法排查问题

将你的所有MOD分成两组,推荐使用支持给文件打标记的文件管理器进行这个操作(比如 Diretory  Opus)

在mod文件夹里创建一个新文件夹用来临时存放不用的mod文件,比如 _临时存放

将其中一组mod转移到临时文件夹里,并启动游戏,进行测试,看游戏是否恢复正常。

如果第一组mod正常,就说明问题出在第二组mod里,此时将临时文件夹中的mod再分成两组,选其中一组移动到mod文件夹中,启动游戏和测试,如果依然正常,说明问题出在剩下那组的某个mod上。

接下来持续这个循环,直到临时文件夹中只剩一个mod,说明问题就出在这个mod上,可以尝试将这个mod放入mod文件夹,测试游戏看是否可以复现之前的bug,以此来二次确认是否就是此mod存在问题。

注意:这种方法无法进行双向排查,因为有的时候出现的问题,是由于两个mod互相冲突导致的,这种方法只能检查出互相冲突的两个mod其中的一个。

解决问题

在明确是哪个mod有问题后,可以先移除这个mod,然后将问题报告给开发者,等待开发者修复存在的问题。

开发者大多数使用Github代码托管网站,一般在mod页面中可以找到指向Github的链接,问题被称为 issues。

来到GitHub的issues页面,点击绿色按钮提交新的issue。

如果你无法使用英文描述问题,可以使用翻译软件或者AI工具帮你完成。

需要注意的是:不同的开发者对于提交issue有不同的要求,有的开发者需要你使用模板填写才会接受,但是在一切情况下,务必附上你的崩溃日志或者是完整的日志(latest.log),以便开发者可以确定问题出在哪里。

注意:提交issue的时候,保持礼貌,开发者开发mod是基于兴趣爱好,他们免费提供这些mod,因此他们对你没有任何解决问题的责任和义务!!!

继续挑选mod

生存/冒险/战斗

这类型的mod可以让游戏的玩法更加具有深度。

生存类的mod通常会增加更多生存限制要素,比如增加口渴,温度,限制体力等,或者融入更多沉浸式生活要素,比如增加作物种植,烹饪,养殖钓鱼等。

冒险类的mod增加一些新的怪物,BOSS,甚至是新的维度,比如非常出名的 暮色森林mod。

战斗类的mod增加新的战斗机制,修改伤害防护计算,增加随机词条,怪物种类,魔法,武器装备等。

这些内容将深入影响玩家在服务器中的成长和难度曲线,所以在加入mod的时候需要仔细阅读和思考,防止一开始就给玩家造成过高的难度,增加挫败感,或者一些不平衡物品的加入使得游戏变的过于简单而失去了乐趣。

GUI改善和优化

作为一个比较古老的游戏且官方开发非常不上心的游戏,我的世界默认的UI界面和性能问题是众所周知的比较落后,好在有很多对此进行重大改进的mod可以优化玩家的用户体验。

需要注意的是:有关GUI(图形用户界面)的优化mod,其大部分只能用于客户端,而不能用于服务端,比如 modernUI 这样的现代化UI mod。 如果开发者的代码中有写对于运行环境的判断(此时是在客户端还是服务端),则不会导致问题,但如果开发者没有想到这件事,将只用于客户端的mod放入服务端会导致服务端无法启动,因此从现在开始,需要记录下哪些mod是只能用于服务端的,方便在之后构建服务器的时候将其筛选出去。

有很多优化MOD可以大幅提升游戏的运行速度和性能,不过在放入优化mod的时候非常需要注意其兼容性,这类mod往往修改了很多原版的运作机制,导致其兼容性容易出现问题,更不要放入多个功能类似的优化mod,这不仅不会使游戏运行更顺畅,反而可能导致莫名其妙的问题。

实际上,只要在测试的过程中,没有感受到切实的性能问题,就算不加优化mod也没问题。

魔改/配置/备份

这类的mod主要可以让服务器管理员对服务器的一些内容进行配置,比如控制怪物的生成,控制难度,限制玩家的行动范围,提供登录保护,允许编写脚本来自定义一些内容等。

这部分的mod不是必须的,相对来说需要很多的配置,但是可以提供更定制化的服务器体验。

而备份有关的mod非常推荐,这可以在服务器出现意外事件的时候帮上大忙,比如玩家意外丢失物品,服务器地图意外损坏等。

加入数据包

数据包(datapack)是我的世界原版提供的一种为游戏增加新内容的方法,数据包无需mod加载器也可以使用,并且如果一个服务器只使用数据包增加新内容,那所有原版客户端都可以直接连接这个服务器而无需安装数据包。

数据包也可以和mod一起使用,不过有的时候会导致冲突,大部分情况下不会有什么问题,数据包比mod的兼容性和稳定性要更好一些,因为其对游戏的修改要比mod小的多。

由于数据包使用的是脚本语言(mc专门的脚本语言),因此即使是普通玩家也可以快速学习上手编写,或者借助AI来编写数据包(相比于开发mod来说确实要简单很多)。

选择材质包

材质包(resourcepack)可以更改我的世界中的视觉和听觉体验,将原版材质替换为更好的材质,或者是更加符合世界观设定的风格化材质,也可以为其增加更多的声音效果和动画效果,让世界更加生动。

需要注意的是:材质包会增加游戏启动时间和内存占用,因此尽量避免加入过多的材质包,和过于大尺寸的贴图 (原版是 x16 尺寸)。材质包的加载顺序是在列表中从下往上,如果不同的材质包里有对同一个东西的修改,那么上面的材质包(后加载的)会覆盖下面的材质包(只覆盖相同的部分)。可以利用这个特点将多个材质包组合使用。

自动化加载数据包和材质包

由于我的世界默认是不会自动加载数据包和材质包的,每次创建世界的时候都需要手动加载数据包,而材质包则需要手动选取加载,这一点在之后构建服务器的时候会导致更多的麻烦,因此强烈推荐使用类似 paxi 或者 global datapack 这样的mod,使游戏可以自动载入他们。

编辑配置文件

在整个世界构建的差不多之后,如果觉得哪里还想要调整,需要对mod的配置文件进行编辑,一个优秀的mod通常具有大量的可配置选项。

配置文件位于 启动器所在文件夹 -> 游戏版本文件夹 -> config文件夹内 ( 例如 启动器\.minecraft\versions\1.21.1-NeoForge_21.1.132\config )

配置文件的格式一般是config 或者toml、json等,要编辑这些文件,推荐下载一个 https://code.visualstudio.com/   VS code 来编辑,这样可以获得高亮排版,避免一大堆字符看眼花。

修改配置文件后,大部分mod需要重启游戏后才会有效。

构建服务端

之前的一切测试都在客户端内完成,当客户端测试没问题之后,就可以开始构建服务器了。

首先你需要安装所用的mod加载器的服务器版本,这需要前往mod加载器的网站进行手动下载和安装,我们这里以 Neoforge 为例。

在Neoforge的官网,可以看到最新版本安装程序的下载地址,不过这里需要注意,服务端mod加载器的版本和游戏版本必须与客户端保持完全一致,如果最新的版本号不是之前客户端使用的,可以点击下面的 version list 查看所有版本,找到与客户端相同的那个下载即可。

下载完成后,直接双击运行这个jar文件即可,会看到下面的界面。

选择安装服务器,并将路径修改为一个空文件夹就可以,点击继续后,会自动开始安装,安装的过程需要联网下载一些数据。如果你的网络条件不好,可能会比较慢或者无法完成下载。

此时你可以选择  建立完整安装程序, 在弹出的选项中 选择 离线安装 即可。

安装完成后,在指定的文件夹里,可以看到服务器的所有文件,和一个生成好的启动脚本(run.bat)。

要启动服务器,可以双击 run.bat ,此时会弹出命令窗口,窗口中的内容是当前服务器的日志,稍等片刻就可以完成启动。

需要注意的是:首次启动会提示让你同意eula条款,只需要编辑 eula.txt ,将里面的条目修改为 eula=true 即可 (默认是 eula=false)。

接下来你只需要将客户端中的mod(此时需要剔除只能在客户端使用的mod)和config ,以及数据包(注意不包括资源包)全部复制到服务端目录的正确位置即可(这些位置与客户端是完全相同的)。

这里需要稍微说明一下,多余的config文件不会产生任何影响(比如已经删除了的mod的config)。

在运行服务器之前,建议对 user_jvm_args.txt 进行修改,这里的内容是JAVA运行参数,配置恰当的运行参数可以提升服务器的稳定性和速度,也可以通过参数为服务端分配指定的内存。

以下是一般服务器使用的参数,会为服务端分配8~16GB内存 (注意:如果你的服务端使用的不是JAVA21 ,不要直接复制这个参数,你可以让AI工具帮你写参数)

完成之后,运行启动脚本即可。

如果一切顺利,服务器将正常启动,此时你可以同时打开客户端,尝试用客户端连接服务器。

双端测试

通过 多人游戏 -> 添加服务器 添加新的服务器地址。

当在同一台电脑上运行服务器和客户端的时候,可以输入 127.0.0.1:25565 连接服务器。

我的世界服务器的默认端口是 25565,这个端口可以被更改,稍后会提到。

进入服务器后,游戏默认是运行在 生存模式 下,这不利于我们进行测试,可以通过将自己设置为 OP(服务器管理员)的方式获取命令使用权限。

此时,先关闭服务器,编辑 服务器目录下的 server.properties 文件。

server.properties文件中的内容类似创建单人世界的时候的那些选项,比如 世界的类型,游戏模式,难度等,也可以在这个文件中修改服务器的端口,服务器的简介(MOTD)等内容。

你可以让AI工具帮你解读这个文件的内容,或者帮你修改内容。

修改好之后重新启动服务器,使用客户端连接服务器。

之后,你可以在服务器的命令窗口中(启动服务器之后出现的黑色窗口),输入命令 /op 你的ID  来将自己设置为服务器管理员。

比如 你的ID是 qwer ,你应该输入 /op qwer 然后按回车键。

获取管理员权限之后,你可以在客户端中按 / 键打开聊天框,并输入 /gamemode creative 将自己的游戏模式修改为创造模式,这将方便进行各项测试。

测试的过程和之前添加mod的时候差不多,首先需要进行跑图,去各个维度看一下,确认地形生成没问题,其次可以在创造模式浏览各个物品,看是否会出现崩溃等问题。

基本的测试完成之后,可以尝试自己在这个服务器里进行试玩,有条件的话可以邀请亲友一起进行试玩测试。

当你认为游戏没有问题之后,就可以准备开设正式服务器了。

将服务器开放到互联网

如果你的网络有公网IP,那你只需要在路由器的后台做一个端口映射就可以将服务器开放到互联网。

假如你开设服务端的电脑的IP地址是 192.168.1.4,我的世界服务端运行在默认端口 25565上,那就需要在路由器的后台进行如下设置:

该选项通常在路由器的高级设置中。

需要注意的是:外部端口可以设置为和内部端口不同的数值,比如20000,这样可以防止服务器受到一些恶意攻击。

设置完成后,你的亲友可以用你家宽带的 IP地址+端口号连接到服务器,假如你家宽带的IP地址是 123.100.24.2 ,那么就可以用 123.100.24.2:25565 连接到服务器。

配置DDNS

一般家庭宽带的IP地址是会变化的,根据地区不同,每隔几天到十几天就会变化一次,每次变化之后,你的亲友需要更改连接服务器时输入的地址才能继续连接,这样不是很方便。

为了解决这个问题,你可以配置一个DDNS服务,DDNS服务的原理是:你电脑上的客户端会定期向DNS服务器汇报你家网络目前的IP地址,如果IP地址发生变化,就将域名解析到变化后的IP地址上,这样此后,你的亲友只需要通过域名+端口号就可以连接服务器,不需要经常修改连接地址了。

如果你不了解什么是DNS和域名,那可以先了解相关知识在进行配置,此处不会对此继续展开讲解。

配置内网穿透

如果你的网络没有公网IP,那你需要配置一个内网穿透服务来提供服务器的连接。内网穿透服务有很多提供商,免费的可以尝试 sakura frp 这个网站的服务。

内网穿透具体应该如何配置,可以参照服务提供商提供的教程进行操作。

设置好内网穿透后,你的亲友只需要 使用 内网穿透服务商的域名+IP地址 就可以连接到你的服务器了。

需要注意的是:内网穿透服务 相比透过公网IP直接连接,延迟会更高一些,这是因为内网穿透服务的原理是透过第三方服务器转发其他人和你服务器之前的数据,因此链路更长更复杂。

使用服务器管理器

正式开服之后,建议每天~每周定期重启服务器,重启服务器的时间选择在深夜进行(根据你的玩家们上线的时间决定),这样可以提高服务器的稳定性和运行速度,避免长时间运行导致的拖慢。

要实现自动化的重启,你需要使用一个服务器管理器,这里推荐使用 https://www.mcserversoft.com/   MC server soft 这款软件。

点击 import ,然后选择与你的mod加载器相符的类型 ( neoforge 直接选 forge即可)。

然后选择你的服务器目录下的 server.properties 文件即可,接下来软件会自动复制服务器到软件的目录 (这个目录在导入的时候可以进行选择)

注意,由于新的mod加载器使用bat脚本来启动,而不是像之前用 jar文件来启动,因此需要在导入服务器之后,点击服务器右上角三个点,点击 view settings,将服务器启动方式更改为使用bat文件(Use Bat file),然后选择之前用于启动服务器的bat文件即可。

注意:使用这种方式启动时,在服务器管理软件中设置的启动参数和内存大小将无效。

然后在服务器选项卡中,选择 计划任务。

在此处就可以为服务器设置定时重启的功能了。此外也支持定时使用命令等,可以根据需要使用。(也支持自动备份,这样就可以不依赖mod进行自动备份)

一切都配置妥当之后,就可以从服务器管理器中启动服务器了。启动后的界面如下。

接下来?开始享受你的游戏吧。

留下影子