骑马与砍杀中文站论坛

标题: 【适配】解决最新版本ModLib与Mod Configuration menu的Mod兼容性的老Mod的运行 [打印本页]

作者: cnedwin    时间: 2020-5-10 09:28
标题: 【适配】解决最新版本ModLib与Mod Configuration menu的Mod兼容性的老Mod的运行
本帖最后由 cnedwin123 于 2020-5-20 09:27 编辑

其实这是一个技术+八卦贴,如果你感兴趣的话,可以看下去。
大家都知道,从1.2版本开始我才有空学习如何制作Mod和汉化,比较幸运的是NexusMods和Github上面很热闹,而且很多大神都在Bilibili上有视频,还有 纸篓 大神耐心分享,这位一天到晚都在肝。
因为我是个初学者,很菜的那种,只有一些编程基础和对骑砍疯狂的热爱,就我上手这2周,整个游戏频繁的更新和Mod开发圈子的分分合合,造成了几次都因为Mod兼容性问题进不去游戏和读取不了存档。

我写过的一些帖子:
【整理】e1.4.0 Beta 稳定可用Mod+汉化+排序+网盘下载(最后更新0509 17:00)
实测e1.4.0 Beta 更新内容,旧存档复活,大部分Mod恢复正常了(0508 22:30更新带附件)
实机验证更新10M后,ModLib/Bannerlord Tweaks/DCC等MOD的兼容性问题的解决进度
【警告】5月7日凌晨官方1.3.0Beta更新和ModLib/BannerlordTweaks/DCC兼容性崩溃
1.3.0Beta版 教你怎么安排稳定不崩溃不卡死的MOD排序列表【0506 21:50】

到底是什么原因导致我们玩自己喜欢的Mod会报错、崩溃、卡死呢???

其实主要原因就三个:
1,烤肉社频繁更新,修改数据结构和一些底层代码。
     例如角色相关的stringid的一些问题,很多对象都跟stringid挂钩,但是他们总是说改就改,所以Mod新做的Character对象,比如Wanderer、Player's children、Noble很大概率会冲突。
     还有就是物品库的数据结构,这两周改了2次,新做的装备和铁匠铺Mod,经常一个很小的问题要排查半天。

2,很多Mod作者不老实,喜欢拿来主义,功能模块重复
     有很多Mod是非常酷的,小巧灵活,但是他们做着做着,就会把别人的某一个功能“抄过来”。
     比如外交修复就在上个版本拿心灵感应作者的代码,加了个发消息,结果导致两个Mod有冲突,这个还是轻的,只是按钮不显示了,有的更夸张的直接导致闪退,经常要排查到底是哪里出了问题,一堆Mod查的脑仁疼。

3,ModLib和MCM神仙打架,玩家遭殃。
     这个是我今天重点想跟大家八卦的,因为现在所有的Mod只分成3种,1,纯绿色的小插件。2,基于ModLib开发的。3,基于MCM开发的。
     ModLib和MCM都是GUI和交互库,就是给开发Mod的人调用菜单、弹窗和保存设置的通用库。
     他们俩经常互相不兼容,甚至要干掉对方,然后再互相妥协,再更新,再不兼容,真是让人挠头。



关于ModLib,如果你感兴趣可以看看它的Wiki  https://github.com/mipen/ModLib/wiki
最早NexusMod上有一个日本的大神Mipen,先开发了Modlib,大家都在用的Bannerlord Tweaks也是他写的。后来成为主流的大型Mod的菜单库,很多Mod依赖ModLib开发。
不过这哥们不久后,4月18日发布1.0.1后就玩消失了,千呼万唤不搭理大家,5月1日临时更新了一个支持e1.2.1版本的1.0.2 源代码在 https://github.com/mipen/ModLib/releases
这期间无数的作者找到他,他都不回应,另一个大神wfswanepoe就做了一个第三方修复的版本来支持Beta 1.3 地址是 https://github.com/wfswanepoel/ModLib
中间还发生了整个Nexusmod开发者的分裂,一部分继续支持Modlib,另一部分因为作者不更新改支持MBOption,这两个互相不兼容,菜单会卡死,比如外交修复的那个Mod
很多还在用ModLib的开发者,就基于这个第三方的ModLib继续开发,例如鼎鼎大名的Tournament XPanded和Detailed Character Creation
纸篓大神,也基于这个库,修复了Bannerlord Tweaks做出1.2.1版本,支持结婚和生孩子等设置
5月7日凌晨,在烤肉社给Beta1.3.0热更新了10M内容后,消失的Mipen大神又冷不丁的出来更新了最新支持Beta1.3的ModLib 1.3.1和Bannerlord Tweaks 1.3.2
他发的这个ModLib 1.3.1不向下兼容那些基于第三方修复的Mod和汉化版,而且更新的BT 1.3.2功能还没有第三方做的1.2.1功能多。
大家只能等第三方修复的wfswanepoe,更新他的Modlib,或者所有的作者都更新Mod来支持Mipen的新版本,这哥们实在太任性了!!!!



前天,我发现wfs大神的Github上删除了他的三方修复ModLib项目,仔细一看才发现,原来Mipen终于同意让他加入,成立了一个小组。
之前Mipen在Github上抱怨,说自己可能后面没空玩骑砍了,打算放弃ModLib,wfs说自己时间很多,愿意帮他一起维护,他也不搭理人家,这次终于改变主意。
由Mipen负责主干版本的升级,wfswanepoe负责Beta版本的更新,这对我们来说,也算是个好事吧!

再说说MCM,全称是Mod Configuration Menu,字面意思很清楚,跟ModLib一样是第三方Mod可以调用的设置保存和菜单基础库。
它的Wiki地址  https://github.com/Aragas/Bannerlord.MBOptionScreen/wiki/Comparing-to-ModLib

MCM非常有名,很多年前就是一些游戏的Mod开发的基础菜单库,比较知名的比如辐射4,所以有很多忠实拥戴者。
骑砍2的版本是 Aragas大神发起,另外还有三个成员共同维护。
它一开始叫MBO,全称MBOption Screen,跟ModLib井水不犯河水。
但是自从4月中旬Mipen大神消失,没人维护ModLib之后,他就出了一个兼容性的版本2.0
这个2.0,既可以独立存在,也允许你通过打开 OverrideModLib 来覆盖ModLib,让一些旧的Mod能够继续适配骑砍的新版本。
说白了,他的野心就是既要兼顾自己的新老版本,还想把ModLib也兼容了。



所以这段日子里大家都是先加载ModLib Beta 1.3,再加载MCM2.0.10,并且关掉OverrideModLib,其实相当于把MCM当成旧的ModLib。
以此来实现,新的基于ModLib Beta的Mod和老的基于ModLib早期版本的Mod都可以用,而完全基于MCM开发的也可以用。
这期间,大家都会有两个Mod Optione菜单,一个是新的ModLib的,一个是MCM的,很多人都觉得奇怪,现在你明白了吧?


但是5月10日,ModLib和MCM的新的战争发起了,所以我到现在还没开始更新帖子,有这个时间写八卦,我只能等等他们了。
最新版本的ModLib Beta 1.4里面,修改了一些类的命名空间,这不仅造成了又一次不向下兼容,也让MCM没法跟他共存。
Aragas大神,昨天半夜,发布了MCM 3.0 Beta,并且连续更新了7次(把我吓尿了),努力的想拥抱ModLib的旧版本Mod。

一句话,你可以理解最新的3.0.10的MCM,他是全兼容 ModLib旧版本+MBO旧版本+Modlib Beta+最新的MCM 所有的MOD。
只是基于版权问题,Modlib Beta的基础库还要留着,否则只装MCM就可以了。

5月20日,MCM发起了更加猛烈的攻击,直接推出一个3.0.15版本,兼容全版本的Mod,
感兴趣可以去看看凶案现场 https://www.nexusmods.com/mountandblade2bannerlord/mods/612?tab=posts


目前,最新的用法:
1,安装ModLib Beta 1.4  N网官方正版地址  https://www.nexusmods.com/mountandblade2bannerlord/mods/592?tab=files Modlib Beta 1.4-592-1-4-1588919933.zip (328.25 KB, 下载次数: 1255)
2,安装Mod Configuration Menu Beta 3.0.13  N网官方正版地址 https://www.nexusmods.com/mountandblade2bannerlord/mods/612?tab=files    Mod Configuration Menu Beta-612-v3-0-15-beta-1589930225.rar (814.37 KB, 下载次数: 1465)

跟之前不一样的是,这次要把MCM放在ModLib上面加载,就是先加载MCM再加载ModLib,并且勾上Override Modlib Optione Screen菜单覆盖。
如果找不到你熟悉的Mod Option菜单了,别慌,现在在游戏的系统设置里,勾掉 Use Standard Option Screen选项也可以恢复以前的习惯。 QQ截图20200510142417.jpg

你只要把Mod加载顺序改成这样
Native 核心模块(除了游戏引擎之外的最核心的内容)
Sandbox Core (沙盒地图的底层库)
Sanbox (沙盒地图和战场)
CustomerBattle (自定义战斗相关的)
StoryMode (战役相关的)
Mod Configuration Menu(MCM) Beta
ModLib

其他Mod...

你也可以参考的我的Mod加载顺序


这样你就能同时运行:
1,基于老的ModLib开发的Mod
2,基于新的ModLib Beta开发的Mod
3,基于MBO和MCM开发的所有Mod

而且只有一个Mod Option菜单。









233949eq5qcqlnfuyqq63w.png
233941v4p0aiparrorz5ih.png

作者: Sandman530530    时间: 2020-5-10 09:35
感谢大神分享!!
作者: temple910518    时间: 2020-5-10 09:49
难怪,原来有这么多故事
作者: assinak    时间: 2020-5-10 09:59
本帖最后由 assinak 于 2020-5-10 10:20 编辑

大哥你可太厉害了。这才是万家生佛造福苍生啊啊啊啊哈哈哈哈
但是有一个问题。按照你给的路径里面只找到了MBOptionScreen_v2.json这个文件。并没有V3版本的json文件啊。。。
ModSettings文件夹里面也没有找到Global文件夹。。。

作者: _Scorn    时间: 2020-5-10 10:39
1.3.1可以用这个方法吗
作者: THE_CHOSEN_001    时间: 2020-5-10 10:47
厉害了,大佬
作者: 别杀鸡    时间: 2020-5-10 10:57
厉害
这MCM和ModLib搞得我头疼
作者: Jawinking    时间: 2020-5-10 11:03
这俩搞得我昨天调了一天。。。
作者: gseasy    时间: 2020-5-10 11:59
“第一项是因为暂时的bug,看不到Mod菜单了”
瞎子看不到菜单吗,菜单在选项里,和调视频质量的并列
作者: cnedwin    时间: 2020-5-10 14:03
本帖最后由 cnedwin123 于 2020-5-10 14:34 编辑
gseasy 发表于 2020-5-10 11:59
“第一项是因为暂时的bug,看不到Mod菜单了”
瞎子看不到菜单吗,菜单在选项里,和调视频质量的并列

更新了,我被Nexus论坛里的作者回答给误导了,多谢提醒。
作者: ㄡPredoome々    时间: 2020-5-10 15:02
我也在头疼这个,感谢楼主
作者: aagg008    时间: 2020-5-10 20:38
说实话有时候觉得使用 xml 进行配置的绿色 mod 更省事~
作者: cnedwin    时间: 2020-5-10 21:04
aagg008 发表于 2020-5-10 20:38
说实话有时候觉得使用 xml 进行配置的绿色 mod 更省事~

是啊,会做的都是把语言放到XML里的,写死在DLL里汉化比较容易出问题
作者: DJ恩旭    时间: 2020-5-10 21:15
感谢大神分享,解决了多数人的困惑
作者: 深秋之约    时间: 2020-5-11 10:02
好帖,支持一下!
作者: kfc002007    时间: 2020-5-11 10:25
感谢楼主,最新的bannerlord tweaks一开新档就崩溃,看完帖子我加了MCM就好了,感觉MCM有点东西啊
作者: 乱心の鬼舞    时间: 2020-5-11 10:42
我还是喜欢纯绿色小插件版~那两个东西老更新太烦躁了~
而且游戏里可视化配置也要重启游戏才生效,还不如自己去手动改TXT文本(配置文件,反正意义都一样,都要关游戏,重开)
作者: 泷本    时间: 2020-5-11 17:01
原来如此,我加mcm跳出就把他删了,没想到还有这回事
作者: aagg008    时间: 2020-5-11 17:27
cnedwin123 发表于 2020-5-10 21:04
是啊,会做的都是把语言放到XML里的,写死在DLL里汉化比较容易出问题

用 xml 汉化也省事,有模板的自己都能汉化。
作者: q1062712069    时间: 2020-5-11 18:45
我决定少装几个mod了,太麻烦

作者: cnedwin    时间: 2020-5-11 22:41
................大战迭起
作者: jackver    时间: 2020-5-12 20:35
1.2的档,更新1.4后加载不了,按了LZ的方法安装了MCM和modLib(其他MOD没钩)结果只是换了个崩溃窗口(顺序对了),是不是要把之前删掉的旧MOD重装才可以(有些MOD删掉就运行不了?)ps>关键是我都忘了以前MOD叫什么了。而且没更的MOD可以兼容1.4么

嫌疑

嫌疑

没安装MCM时跳出的窗口

没安装MCM时跳出的窗口

作者: cnedwin    时间: 2020-5-12 20:50
jackver 发表于 2020-5-12 20:35
1.2的档,更新1.4后加载不了,按了LZ的方法安装了MCM和modLib(其他MOD没钩)结果只是换了个崩溃窗口(顺序 ...

是啊,有的Mod会往存档里写东西,你尽量把以前装过的MOD一个一个找到适配1.4的版本试试
作者: Py有一说一    时间: 2020-5-12 21:10
本帖最后由 Py有一说一 于 2020-5-13 00:17 编辑

求助
这个是我的用的mod。{用的资源N站加你的百度分享}
在1.4上可以使用,但是不能自己骑马拿长杆砍人(突刺也不行)!!!!!!!{直接显示桌面,任务管理器都没这么快
后面我反复读档用长杆攻击,终于发现了神奇的事情,原来我在攻击人的时候有冲击波的,,,,,,冲击波是什么鬼
这个是在不直视攻击时才能看到,游戏也不会蹦,,,,这就很有意思了,,
这要怎么办,是那个mod的问题。
,,重开档,确认是游戏本体得锅,
$)457QLLKAN)MPP`3NXDK~S.png

作者: jackver    时间: 2020-5-12 22:28
cnedwin123 发表于 2020-5-12 20:50
是啊,有的Mod会往存档里写东西,你尽量把以前装过的MOD一个一个找到适配1.4的版本试试

试了好几次发现就1.0.2以下的档可以读1.4
作者: cnedwin    时间: 2020-5-13 07:18
本帖最后由 cnedwin123 于 2020-5-13 07:23 编辑
Py有一说一 发表于 2020-5-12 21:10
求助
这个是我的用的mod。{用的资源N站加你的百度分享}
在1.4上可以使用,但是不能自己骑马拿长杆砍人( ...

你只有这几个MOD跟我版本不一样,我传到附件里了

ImprovedGarrisons3.1.0.3-CN.zip

49.15 KB, 下载次数: 546

Community Patch-186-v0-1-0-rc5-1589254727.zip

2.16 MB, 下载次数: 505


作者: xiaoquan20    时间: 2020-5-13 10:20
一脸懵逼的新手玩家表示,终于知道啥叫神仙打架了。
作者: Py有一说一    时间: 2020-5-13 13:46
cnedwin123 发表于 2020-5-13 07:18
你只有这几个MOD跟我版本不一样,我传到附件里了

谢谢,后面我单独开启mod测试了,原因在于技能补全没有将旧版本删除干净,,回去看N网后看到作者也是提醒“安装时要将旧版本删除”
作者: 湖畔的小药草    时间: 2020-5-13 16:02
我晕了,我现在只安装了MCM,但是我的Detail character creation还是可以用?
作者: 扁汤圆    时间: 2020-5-13 19:05
谢谢楼主的分享,让我这个第一次用Mod的小白能够轻松享受游戏
作者: cnedwin    时间: 2020-5-14 12:32
湖畔的小药草 发表于 2020-5-13 16:02
我晕了,我现在只安装了MCM,但是我的Detail character creation还是可以用?

对,因为最新版的MCM,试图吞并MobLib,全版本兼容,但还是在他下面放一个ModLib安全
作者: 湖畔的小药草    时间: 2020-5-14 15:04
cnedwin123 发表于 2020-5-14 12:32
对,因为最新版的MCM,试图吞并MobLib,全版本兼容,但还是在他下面放一个ModLib安全

我现在用的mod只有细节创建需要MCM,我还是等这个风波过去了在打更多的mod吧,我现在只打了六七个mod
作者: 伊子    时间: 2020-5-14 16:08
616]%%P%)CRD3G(M229Q~5H.png
大佬,在游戏过程中出现这个然后崩溃是那个Mod出现问题了吗,
读档几次打,都出现这个问题

作者: 蔚蓝星辰    时间: 2020-5-16 23:07
好像不行啊...进游戏冲突了
作者: x78    时间: 2020-5-18 10:06
dalao,为啥我下载的那两个必备mod和你的不一样啊,名字也不一样,我哪里出错了吗?就是那个modlib和mcm的。你的是四个东西我怎么才两个,名字也不一样,我玩的1.41.版本,用了这两个就会报错

4L]H2L8I@ZJWWKVQ25MV9H4.png

作者: cnedwin    时间: 2020-5-18 10:12
x78 发表于 2020-5-18 10:06
dalao,为啥我下载的那两个必备mod和你的不一样啊,名字也不一样,我哪里出错了吗?就是那个modlib和mcm的 ...

最新版3.0.12确实是2个,这个帖子我忘了更新
作者: x78    时间: 2020-5-18 11:11
谢谢,但是我用着两个就会报错,虽然有的mod不用他俩

作者: risx98    时间: 2020-5-19 10:28
大佬,那个到dccmain 和 fixed formations是什么?
作者: 斫饨    时间: 2020-5-24 11:43
这个启动器在哪里下载呢?n网搜不到啊
作者: pujunjie85    时间: 2021-4-24 10:54
没用,一用就崩,解锁dll文件也崩,游戏重装也崩
作者: Mark_antony    时间: 2021-5-11 11:13
请教一下。单独使用心灵感应,Telepathy Mod 显示依赖的bannerlord.mboptionscreen is missing 缺失。是没开启哪个依赖的模块?
作者: 彡星彡    时间: 2021-5-11 19:23
666666666666

作者: XinRui    时间: 2021-5-11 19:58
字体太小怎么办?

作者: a44324673    时间: 2021-5-22 23:55
大佬不行啊,2个按照你的排序,直接进不去游戏。是不是一定要用启动器才行




欢迎光临 骑马与砍杀中文站论坛 (https://bbs.mountblade.com.cn/) Powered by Discuz! X3.4