mohist服务器运行betterMC 踩坑记录

上来直接把betterMC 整合包中的所有mods,复制到mohist的mods目录中是无法直接运行的。报很多错。顺便说一下betterMC中的mod真多啊,所有文件体积竟然高达800多MB。这也给调试工作带来了大麻烦。

剔除的jar包

以下是我经过非常多次的测试,剔除的jar包,这些jar包都是启动时报过错的。剔除以后至少服务能启动了。找到这些非常的不容易,希望给有需求的人提供一点点小小的帮助。

blueprint-1.20.1-7.1.0.jar 刚开始因为有报错被我删除了,最终又放回来了,不删也行

entity_texture_features_forge_1.20.1-6.2.5.jar

pet_cemetery-1.20.1-2.0.0.jar 先因报错删除,最终放回来了

TheOuterEnd-1.0.9.jar先因报错删除,最终放回来了

boatload-1.20.1-5.0.1.jar 先因报错删除,最终放回来了

EuphoriaPatcher-0.3.4-forge.jar

Tips-Forge-1.20.1-12.1.8.jar

citresewn-1.20.1-5.jar

incubation-1.20.1-4.0.2.jar 先因报错删除,最终放回来了

sodiumdynamiclights-forge-1.0.8-1.20.1.jar

XaeroPlus-2.24.3+forge-1.20.1-WM1.39.0-MM24.5.0.jar

entity_model_features_forge_1.20.1-2.2.6.jar

NekosEnchantedBooks-1.20.1-1.8.0.jar

sodiumoptionsapi-forge-1.0.2-1.20.1.jar

YungsMenuTweaks-1.20.1-Forge-1.0.2.jar
sawmill-1.20-1.4.3.jar

经过筛选和反复调试,最终从整合包中删除的mods如下

entity_texture_features_forge_1.20.1-6.2.5.jar

EuphoriaPatcher-0.3.4-forge.jar

Tips-Forge-1.20.1-12.1.8.jar

citresewn-1.20.1-5.jar

sodiumdynamiclights-forge-1.0.8-1.20.1.jar

XaeroPlus-2.24.3+forge-1.20.1-WM1.39.0-MM24.5.0.jar

entity_model_features_forge_1.20.1-2.2.6.jar

NekosEnchantedBooks-1.20.1-1.8.0.jar

sodiumoptionsapi-forge-1.0.2-1.20.1.jar

YungsMenuTweaks-1.20.1-Forge-1.0.2.jar

sawmill-1.20-1.4.3.jar

我好奇这些mod的作用,我就简单查一下吧。

blueprint-1.20.1-7.1.0.jar

运行环境: 客户端需装, 服务端需装

Blueprint 是一个 lib 模组,旨在让开发者轻松访问在大多数 Minecraft Abnormals 模组中共享的代码,而无需在每个项目中复制类。 该库由 SmellyModder (Luke Tonon) 和 bageldotjpg 开发。它还具有其它许多有用的功能,例如更便捷的物品、方块自动注册方法,以及名为 Endimator 的动画库。

https://www.mcmod.cn/class/2575.html

entity_texture_features_forge_1.20.1-6.2.5.jar

运行环境: 客户端需装, 服务端无效

实体纹理特性

这个模组允许你在没有高清修复的情况下,支持显示由纹理包提供的 Optifine 格式的实体发光纹理和随机纹理,此外还添加了许多额外的功能。

https://www.mcmod.cn/class/5862.html

pet_cemetery-1.20.1-2.0.0.jar

运行环境: 客户端需装, 服务端需装

h1=概述\]爱宠的离去对任何人来说都是一件伤心的事,无论在游戏中还是在现实中。不过,游戏毕竟是游戏,总会有方法把你的爱宠带回你身边的。PetCemetery 便是这样一个模组,现在,玩家驯服的如狼、猫和鹦鹉等生物会在被驯服后死亡时掉落一个项圈(掉落物形态不会被熔岩摧毁),项圈会显示有关这只生物的信息。\[h2=使用方式\]手持项... ### TheOuterEnd-1.0.9.jar 运行环境: 客户端需装, 服务端需装 为末地添加了新的群系、生物和结构。 ### citresewn-1.20.1-5.jar 运行环境: 客户端需装, **服务端无效** CIT Resewn 某些服务器以 CIT 资源包的方式增加游戏内容,装上后许多同类物品拥有独特纹理。 此效果由非原版功能 Custom Item Textures (CIT) 实现,所以不安装 OptiFine 的玩家无法正常使用CIT 资源包。 本模组同样实现了CIT 功能,故玩家可安装此模组以替代 OptiFine 的 CIT 功能。 访问文档以获取更多信息! https://www.mcmod.cn/class/4835.html ### entity_model_features_forge_1.20.1-2.2.6.jar 运行环境: 客户端需装, **服务端无效** 实体模型特性(EMF)是一款为不再使用 OptiFine 的玩家打造的模组,作为 OptiFine 自定义实体模型(CEM)特性的兼容替代存在。 ### Entity Model Features 实体模型特性(EMF)是一款为不再使用 OptiFine 的玩家打造的模组,1 作为 OptiFine 目定义买体模型(CEM)特性的兼容替代存在。 ### entity_texture_features_forge_1.20.1-6.2.5.jar 运行环境: 客户端需装, **服务端无效** 简介 这个模组允许你在没有高清修复的情况下,支持显示由纹理包提供的 Optifine 格式的实体发光纹理和随机纹理,此外还添加了许多额外的功能。 使用 目前支持的功能有: Optifine 格式的发光纹理和随机纹理(同样包括通过命名改变生物皮肤的功能); ### EuphoriaPatcher-0.3.4-forge.jar 运行环境: 客户端需装, **服务端无效** 你喜欢使用 Complementary Shaders 光影吗?对于很多玩家,它们所呈现的效果确实很棒,而如果某天我们可以更大刀阔斧地自定义它,那又会展现出什么样的景象呢? Euphoria Patches 就是这样一个补丁,它旨在通过加入更多的可配置设置项和功能,极大地强化了 Complementary Shaders 所可以呈现的效果,当然,默认情况下,本模组所有的 ### incubation-1.20.1-4.0.2.jar 运行环境: 客户端需装, **服务端需装** https://www.mcmod.cn/class/3927.html 一个小型模组,添加了几个与鸡、鸡蛋相关的功能,包括鸡窝,鸡蛋箱,炒鸡蛋等等! 你已为箱子里占用的上百个鸡蛋而疲惫了吗?你希望比起制作蛋糕和派,可以将它们用于其他地方吗?如果是,这个模组很适合你!这个模组加入了用于收集鸡蛋的鸡窝和一些使用鸡蛋合成的食物。 ### NekosEnchantedBooks-1.20.1-1.8.0.jar 运行环境: 客户端需装, **服务端无效** Neko's Enchanted Books \* Minecraft HE#ME 书添加了独特的纹理。 他的独特之处在于修改的附魔书囊括了一众主流 Mod,并且还可以自己修改附魔书的纹理,修改方法可以参考此模组的 Github。 ### \[重点\]sawmill-1.20-1.4.3.jar 运行环境: 客户端需装, 服务端需装 锯木机 这个模组的报错非常难找,我排除法,用了几个小时才找到它。 ### sodiumdynamiclights-forge-1.0.8-1.20.1.jar 运行环境: 客户端需装, **服务端可选** 该模组可以让发光的物品在它们应该发光的时候能正常工作,例如拿在手上或掉在地上的火把、岩浆桶等物品,燃烧的怪物,恶魂射出的火焰弹,即将爆炸的苦力怕(爬行者)和戴着金头盔、钻石头盔的玩家或怪物。 同时动态光源模组可以令周围的光照随着地形的变化而随时发生改变,使用效果良好。 ### sodiumoptionsapi-forge-1.0.2-1.20.1.jar 运行环境: 客户端需装, 服务端无效 本模组添加了跨平台的 Sodium /Embeddium 选项屏幕事件集成。 模组作者仅需同一个事件就可以在1.20.1 Forge 的E mbeddium, 1.20.1 Fabric #J Sodium 0.5 #L 1.21.1 F abric/NeoForge 的 Sodium 0.6 上添加一个选项页面。 作为玩家,即使不需要本模组的拓展,也可以和 Rees e 的钠视频界面 一起安装本模组,以改进选项屏幕左边的菜单分类。 ### Tips-Forge-1.20.1-12.1.8.jar 运行环境: 客户端需装, **服务端无效** 这个模组将在某些游戏屏幕上显示有用的提示,比如世界加载屏幕。显示的提示将每五秒钟循环一次。 提示可以通过资源包、其他模组甚至整合包来扩展。 查看 WIKI了解有关配置提示的更多信息。 ### XaeroPlus-2.24.3+forge-1.20.1-WM1.39.0-MM24.5.0.jar 运行环境: 客户端需装, **服务端无效** Xaero的地图增强 此模组为 Xaero 的小地图 和 Xaero 的世界地图 的拓展模组,优化了性能并增添了一系列新功能,非常适用于 2b2t 等无政府服务器。 注:每个版本的 Xaero 的地图增强仅与特定版本的小地图和世界地图兼容,兼容的版本写在文件名中。 例如:\[XaeroPlus-Forge-1.12.2-147-WM1.33.0-MM23.6.2

这串 MOD 名称中:【WM1.33.0】为World Map(世界地图)的1.33.0版本【MM23.6.2】则为Mini Map(小地图)的23.6.2版本

YungsMenuTweaks-1.20.1-Forge-1.0.2.jar

运行环境: 客户端需装, 服务端无效
https://www.mcmod.cn/class/12333.html

一个轻量级客户端模组,让浏览 Minecraft 菜单变得更轻松。

此模组允许玩家:

右键单击循环按钮,返回上一个选项;

使用鼠标滚轮更改滑块选项;

将几乎所有选项屏幕的背景更改为任一 16x16 纹理。不再有泥土背景!

报错

在mohist服务器中想运行betterMC 服务器时报如下错

sql 复制代码
[20:32:45 FATAL]: Mixin apply for mod sodiumdynamiclights failed mixins.sodiumdynamiclights.json:lightsource.EntityMixin from mod sodiumdynamiclights -> net.minecraft.world.entity.Entity: org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException Unexpecteded ClassMetadataNotFoundException whilst transforming the mixin class: [MAIN Applicator Phase -> mixins.sodiumdynamiclights.json:lightsource.EntityMixin from mod sodiumdynamiclights -> Apply Methods -> (Lnet/minecraft/client/renderer/LevelRenderer;)Z:sodiumdynamiclights$updateDynamicLight -> Transform LVT -> var=renderer -> desc=Lnet/minecraft/client/renderer/LevelRenderer;]
org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException: Unexpecteded ClassMetadataNotFoundException whilst transforming the mixin class: [MAIN Applicator Phase -> mixins.sodiumdynamiclights.json:lightsource.EntityMixin from mod sodiumdynamiclights -> Apply Methods -> (Lnet/minecraft/client/renderer/LevelRenderer;)Z:sodiumdynamiclights$updateDynamicLight -> Transform LVT -> var=renderer -> desc=Lnet/minecraft/client/renderer/LevelRenderer;]
	at org.spongepowered.asm.mixin.transformer.MixinTargetContext.transformMethod(MixinTargetContext.java:510) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyNormalMethod(MixinApplicatorStandard.java:535) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMethods(MixinApplicatorStandard.java:521) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:388) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:327) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.9.jar:10.0.9+10.0.9+main.dcd20f30]
	at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.9.jar:?]
	at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.9.jar:?]
	at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar:?]
	at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:121) ~[securejarhandler-mohist-2.1.11.jar:?]
	at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:257) ~[securejarhandler-mohist-2.1.11.jar:?]
	at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:267) ~[securejarhandler-mohist-2.1.11.jar:?]
	at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:257) ~[securejarhandler-mohist-2.1.11.jar:?]
	at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:144) ~[securejarhandler-mohist-2.1.11.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
	at net.minecraftforge.registries.GameData.init(GameData.java:108) ~[forge-1.20.1-47.3.11-universal.jar%23623!/:?]
	at net.minecraftforge.registries.GameData.<clinit>(GameData.java:94) ~[forge-1.20.1-47.3.11-universal.jar%23623!/:?]
	at net.minecraft.core.registries.BuiltInRegistries.forge(BuiltInRegistries.java:429) ~[server-1.20.1-20230612.114412-srg.jar%23618!/:?]
	at net.minecraft.core.registries.BuiltInRegistries.forge(BuiltInRegistries.java:409) ~[server-1.20.1-20230612.114412-srg.jar%23618!/:?]
	at net.minecraft.core.registries.BuiltInRegistries.<clinit>(BuiltInRegistries.java:121) ~[server-1.20.1-20230612.114412-srg.jar%23618!/:?]
	at net.minecraft.server.Bootstrap.m_135870_(Bootstrap.java:43) ~[server-1.20.1-20230612.114412-srg.jar%23618!/:?]
	at net.minecraft.server.Main.main(Main.java:161) ~[server-1.20.1-20230612.114412-srg.jar%23618!/:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.11.jar%23192!/:?]
	at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.serverService(CommonLaunchHandler.java:103) ~[fmlloader-1.20.1-47.3.11.jar%23192!/:?]
	at net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$makeService$0(CommonServerLaunchHandler.java:27) ~[fmlloader-1.20.1-47.3.11.jar%23192!/:?]
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-10.0.9.jar%23103!/:?]
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-10.0.9.jar%23103!/:?]
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-10.0.9.jar%23103!/:?]
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) [modlauncher-10.0.9.jar%23103!/:?]
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) [modlauncher-10.0.9.jar%23103!/:?]
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-10.0.9.jar%23103!/:?]
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-10.0.9.jar%23103!/:?]
	at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) [bootstraplauncher-1.1.2.jar:?]
	at com.mohistmc.MohistMCStart.main(MohistMCStart.java:116) [mohist-1.20.1-895-server.jar:1.20.1-895]
Caused by: org.spongepowered.asm.mixin.throwables.ClassMetadataNotFoundException: net.minecraft.client.renderer.LevelRenderer
	at org.spongepowered.asm.mixin.transformer.MixinTargetContext.transformSingleDescriptor(MixinTargetContext.java:1001) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.mixin.transformer.MixinTargetContext.transformSingleDescriptor(MixinTargetContext.java:961) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.mixin.transformer.MixinTargetContext.transformLVT(MixinTargetContext.java:563) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	at org.spongepowered.asm.mixin.transformer.MixinTargetContext.transformMethod(MixinTargetContext.java:469) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4]
	... 43 more
Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:32)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.Launcher.run(Launcher.java:108)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.Launcher.main(Launcher.java:78)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23)
	at cpw.mods.bootstraplauncher@1.1.2/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141)
	at com.mohistmc.MohistMCStart.main(MohistMCStart.java:116)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at MC-BOOTSTRAP/fmlloader@1.20.1-47.3.11/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111)
	at MC-BOOTSTRAP/fmlloader@1.20.1-47.3.11/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.serverService(CommonLaunchHandler.java:103)
	at MC-BOOTSTRAP/fmlloader@1.20.1-47.3.11/net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$makeService$0(CommonServerLaunchHandler.java:27)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30)
	... 8 more
Caused by: java.lang.NoClassDefFoundError: net/minecraft/world/entity/Entity
	at TRANSFORMER/forge@47.3.11/net.minecraftforge.registries.GameData.init(GameData.java:108)
	at TRANSFORMER/forge@47.3.11/net.minecraftforge.registries.GameData.<clinit>(GameData.java:94)
	at TRANSFORMER/minecraft@1.20.1/net.minecraft.core.registries.BuiltInRegistries.forge(BuiltInRegistries.java:429)
	at TRANSFORMER/minecraft@1.20.1/net.minecraft.core.registries.BuiltInRegistries.forge(BuiltInRegistries.java:409)
	at TRANSFORMER/minecraft@1.20.1/net.minecraft.core.registries.BuiltInRegistries.<clinit>(BuiltInRegistries.java:121)
	at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.Bootstrap.m_135870_(Bootstrap.java:43)
	at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.Main.main(Main.java:161)
	... 16 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.world.entity.Entity
	at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:157)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	... 23 more

经过排除法大量的测试,最终发现导致原因是:

sodiumdynamiclights-forge-1.0.8-1.20.1.jar

sodiumoptionsapi-forge-1.0.2-1.20.1.jar

通过https://modrinth.com/mod/sodium-dynamic-lights 可以看出,这两个模组应该是跟Sodium 有关,这个是客户端的mod在服务器上用不到。

java.lang.ClassNotFoundException: net.minecraft.world.item.crafting.RecipeManager

sql 复制代码
[09:05:38 INFO]: Generated runtime SERVER_DATA for pack Supplementaries Generated Pack (supplementaries) in: 11 ms
Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:32)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.Launcher.run(Launcher.java:108)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.Launcher.main(Launcher.java:78)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23)
	at cpw.mods.bootstraplauncher@1.1.2/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141)
	at com.mohistmc.MohistMCStart.main(MohistMCStart.java:116)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at MC-BOOTSTRAP/fmlloader@1.20.1-47.3.11/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111)
	at MC-BOOTSTRAP/fmlloader@1.20.1-47.3.11/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.serverService(CommonLaunchHandler.java:103)
	at MC-BOOTSTRAP/fmlloader@1.20.1-47.3.11/net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$makeService$0(CommonServerLaunchHandler.java:27)
	at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30)
	... 8 more
Caused by: java.lang.NoClassDefFoundError: net/minecraft/world/item/crafting/RecipeManager
	at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.WorldLoader.m_214362_(WorldLoader.java:38)
	at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.Main.lambda$main$2(Main.java:221)
	at TRANSFORMER/minecraft@1.20.1/net.minecraft.Util.m_214652_(Util.java:777)
	at TRANSFORMER/minecraft@1.20.1/net.minecraft.Util.m_214679_(Util.java:772)
	at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.Main.main(Main.java:220)
	... 16 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.world.item.crafting.RecipeManager
	at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:157)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	... 21 more

不清楚为什么,我在一定定排查是哪个jar包引起的过程中,又突然好了。

经过几个小时的排查工作,我终于在这几百个jar中找到了一个导致错误的jar,不断的复制和删除jar太需要耐心了,差点没坚持下来。

最终定位到文件:

sawmill-1.20-1.4.3.jar

我在百科中查了一下,
https://www.mcmod.cn/class/13485.html

概述

这是一个相当简单的模组,为游戏添加了锯木机方块,并将其完美的融入于原版游戏中。

模组包含的所有功能:

锯木机的加工配方兼容所有模组添加的木材,且可制作所有的木制衍生品

新的村民职业"木匠",并在村庄中添加了属于它们的建筑物

支持通过数据包或 KubeJS 添加额外的加工配方

同时看到下面的评论也证实了这个确实会导致问题:

4楼 jackzhangcnccLv.3 该模组放在mohist服务端中会导致和多个常见模组不兼容从而起不来服务端的问题,不兼容模组有沉浸

精妙背包等七八个吧

2024-07-26 16:26:03 mlus 3楼 mlusLv.6

1.3.13版本在服务器上使用会导致玩家进不了服。

帧率优化心得

玩这个整合包的第一感觉就是加载慢,帧率比较低。主要跟我一起玩的一个小伙伴的电脑配置比较低,玩的时间经常只有20fps左右,太卡了,于是我就尝试一些帧率上在优化。比较有效在如下

  • 视频设置中,各种画质和特效调低。
  • 去掉Stay_True_1.20.zip材质包,这个材质包,我测试了一下,使用以后掉帧比较严重。
    这个材质包有连接纹理,最明显在是有无缝玻璃效果。还有个负优化,樱花树叶中会出现黑色的纹理,变难看了。
  • 材质包,能不用就不用,我只用了汉化的包,其他在材质包尽量不用,效果还可以。

合成物品非常卡顿的研究

说到这个整合包v33.5版本,我最无法忍受在一点就是合成物品太卡了。

因为我比较高频在要合成树棍跟村民交易,每次都要卡几秒。

最难受的是有时因为卡住了多合成了很多重复的,比如我就一不小心合成了64个箱子。

于是我就用排除法找导致卡顿的mod,说着简单,做起来太难了。难的跟本原因如下:

  1. 这个整合包启动时间太久了,测试一次的周期太长。
  2. 整合包中的mod太多了。
  3. 就算解决完了mod的依赖关系,创建世界依然各种闪退,关键是无法定位是哪个mod导致的,因为从日志中很难定位是哪个mod导致的。

测试方法:

思路:二分法,理想中把所有jar包分两份,分别测试A,B两份jar包,确定有问题的jar在哪组文件中。假如有问题的是A中,那么就在把A 分2份,A1,A2,在像之前一样测试哪一组有问题。

现实测试时没有这么容易 ,还要根据日志处理各种依赖关系。

最终我测试了近6个小时,创建了20多次世界。每次启动都要等很久,非常多的时间浪费在等待中了。第二费时间的就是依赖关系的处理。

依赖提示比较多时,我自己写了个程序自动分析日志,自动增加依赖。

最终找到了以下mod导致合成变慢的。

Chipped-forge-1.20.1-3.0.6.jar

Chipped是一个1.16+的建筑装饰模组,它扩展了可使用的建筑方块。该模组提供了2000多种独特的方块变种,从彩色玻璃到混凝土、
https://www.mcmod.cn/class/4726.html

补充说明:

在我做测试的时候,确实把Chipped这个mod禁用以后,合成速度变快了不少。但是我在服务器上真的去掉这个以后,我发现合成确实有所改善,但是还是偶尔会卡顿一下。

此时我做一个猜测,这个合成卡顿的情况,会不会并不是与Chipped有直接的关系。只是因为这个模组带有2000多种方块,方块数量比较大,有可能是因为方便每次合成后,会有个动作为遍历一下,有哪些方块解锁了。由于方块数量多导致的卡。

物品自动替换

Stack Refill
https://www.mcmod.cn/class/7064.html

不知道为啥有这个模组,还是不行,还是安装了IPN才生效。

广告推广类的mod

  • ServerBrowser 1.0.0 用于显示互联网上可用的服务器列表,对我来说没有什么用。

betterMC 启动界面禁用

为什么要禁用这个启动界面呢,我的原因如下:

  1. 总感觉BMC自己的启动界面进入比较卡。
  2. BMC的启动界面不好看。
  3. BMC整合包版本信息按钮,档住了我常用的In-Game Account Switcher的按钮了。
  4. 安装了冰火传说后,会有个版本信息的按钮档在单人游戏的位置,不好看。

禁用以下模组:

  • FancyMenu
  • Drippy Loading Screen
  • BHMenu
  • Better Mods Button
  • Modpack Update Checker 0.15.2

启动速度测试

  • 去掉config目录,启动速度约2分钟45秒

测试环境说明:

HMCL 3.6.11

MacOS 15.1.1

BMC 整合包微调版本,调整记录见文件上面的内容。

默认的config目录文件测试如下:

禁用组件前

  • 第1次测试 1分27秒
  • 第2次测试 2分28秒
  • 第3次测试 2分10秒

平均值为2分1秒

禁用以下模组:

  • FancyMenu
  • Drippy Loading Screen
  • BHMenu
  • Better Mods Button
  • Modpack Update Checker 0.15.2

禁用组件后

  • 第1次测试 1分18秒
  • 第2次测试 1分27秒
  • 第3次测试 1分24秒

平均值为1分23秒

平均节省的时间约38秒

下载整合包的等待时间约20秒

我发现,每次启动BMC的整合包都是执行一次下载动作。

这个在首次运行时还是有用的,会自动下载缺失的文件,但是对于已经下载成功的。每次启动还检查下载情况,就太浪费时间了。特别是BMC这种jar包比较多的情况,每次遍历一便时间就很久。

解决办法:

在整合包的根目录(mods平级),下有一个manifest.json文件,编辑这个文件,把"files"属性中的所有内容删除,只留[]

  • 第1次测试 1分11秒
  • 第2次测试 1分4秒
  • 第3次测试 1分10秒
    平均约1分8秒,优化至此,启动时间缩少了 53秒。
相关推荐
小孙姐3 小时前
Linux-Day02.Linux指令
linux·运维·服务器
搞不懂语言的程序员3 小时前
Linux Epool的作用
linux·服务器
倔强的石头1063 小时前
【Linux指南】软件安装全解析:从源码到包管理器的进阶之路
linux·运维·服务器
freshman_y4 小时前
15个命令上手Linux!
linux·运维·服务器
limnade4 小时前
falsk windows 服务器部署-解决服务器外无法访问
服务器·windows·flask·智能路由器
云和数据.ChenGuang4 小时前
sleep infinity` 是一个 **Linux 系统命令
linux·运维·服务器
_Chipen4 小时前
DPDK中的TCP头部处理
服务器·网络·tcp/ip
linux修理工4 小时前
使用 SecureCRT 连接华为 eNSP 模拟器的方法
服务器·开发语言·php
一只小bit4 小时前
Linux 进程间通信底层原理(1):匿名与命令管道
linux·运维·服务器