牛逼666666
发现了一个Bug,在开局的这个界面,如果反复选开局等级然后返回(是的,我发现可以下滑返回),就可以无限刷技能点,我猜应该是选项给了技能点,但是返回不重置导致的。我演示一下
本帖最后由 白夜飞升 于 2026-6-19 13:47 编辑
想问一下势力争霸加的开局奖励包裹,是不是在游戏开机选择“额外开局-教学开局”打教程的时候,不会产生奖励包裹?奖励包裹是在教学开局不生效吗?
还有就是有关奖励包裹设置的三个选项,不太看得懂:“禁止”“限制”“总是”,禁止我知道是啥,选了以后我所有开局都没有包裹,但是限制是什么意思呢?还有即使选择了总是,教学开局仍然没有发现包裹。。。
开局就是势力争霸启动后-额外开局-教学开局。{:tieba_30:}
wow
白夜飞升 发表于 2026-6-19 09:56
想问一下势力争霸加的开局奖励包裹,是不是在游戏开机选择“额外开局-教学开局”打教程的时候,不会产生奖 ...
教学模式下奖励包裹在你完成初始任务交付星门开打消息后的星球旁边,会有个问号提示。
自从更新了5-9的势力争霸就不能远程联络了,添加联络人然后也没有那个远程打电话的选项了?是BUG还是新版本问题啊
在lunalib里面外交过滤调到1了但是没有用,依然不停弹外交事件,有同样情况的吗?
佬,更新了,想玩,求求
NBJC歼击机 发表于 2026-7-20 02:52
佬,更新了,想玩,求求
新版的更新内容太吸引我了{:tieba_39:}
这MOD和更大的殖民地MOD冲突吗?
1078923 INFO sound.O - Cleaning up music with id
1078935 ERROR com.fs.starfarer.combat.CombatMain - java.lang.RuntimeException: Market condition not found
java.lang.RuntimeException: Market condition not found
at com.fs.starfarer.campaign.econ.MarketCondition.readResolve(Unknown Source)
at com.fs.starfarer.campaign.econ.MarketCondition.<init>(Unknown Source)
at com.fs.starfarer.campaign.econ.Market.addCondition(Unknown Source)
at com.fs.starfarer.campaign.econ.Market.addCondition(Unknown Source)
at exerelin.world.industry.bonus.PopulationUpsize.apply(PopulationUpsize.java:32)
at exerelin.world.NexMarketBuilder.addFactionBonuses(NexMarketBuilder.java:1183)
at exerelin.world.ExerelinProcGen.populateSector(ExerelinProcGen.java:2022)
at exerelin.world.ExerelinProcGen.generate(ExerelinProcGen.java:1271)
at exerelin.world.ExerelinProcGen.generate(ExerelinProcGen.java:1170)
at exerelin.plugins.ExerelinModPlugin.onNewGameAfterProcGen(ExerelinModPlugin.java:671)
at com.fs.starfarer.campaign.save.CampaignGameManager.o00000(Unknown Source)
at com.fs.starfarer.title.TitleScreenState.dialogDismissed(Unknown Source)
at com.fs.starfarer.ui.oo0O.dismiss(Unknown Source)
at com.fs.starfarer.ui.impl.o0OO.dismiss(Unknown Source)
at com.fs.starfarer.campaign.save.A.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.n.buttonPressed(Unknown Source)
at com.fs.starfarer.ui.int.new(Unknown Source)
at com.fs.starfarer.ui.int.processInput(Unknown Source)
at com.fs.starfarer.ui.W.o00000(Unknown Source)
at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
1079106 INFO sound.O - Creating streaming player for music with id
1079106 INFO sound.H - Playing music with id
苍白而蔷薇 发表于 2026-6-14 18:44
发现了一个Bug,在开局的这个界面,如果反复选开局等级然后返回(是的,我发现可以下滑返回),就可以无限刷 ...
这都被你发现了。::lol
苍神月 发表于 2026-7-22 04:38
这都被你发现了。
最新版本已经修复了这个问题
苍神月 发表于 2026-7-22 04:17
这MOD和更大的殖民地MOD冲突吗?
1078923 INFO sound.O - Cleaning up music with id
我感觉是势力争霸的问题,我也遇到了,附带报错:201125 ERROR com.fs.starfarer.combat.CombatMain- java.lang.NullPointerException: Cannot invoke "exerelin.campaign.backgrounds.BaseCharacterBackground.onNewGame(com.fs.starfarer.api.campaign.FactionSpecAPI, exerelin.utilities.NexFactionConfig)" because "background" is null
java.lang.NullPointerException: Cannot invoke "exerelin.campaign.backgrounds.BaseCharacterBackground.onNewGame(com.fs.starfarer.api.campaign.FactionSpecAPI, exerelin.utilities.NexFactionConfig)" because "background" is null
at exerelin.plugins.ExerelinModPlugin.onNewGame(ExerelinModPlugin.java:639)
at com.fs.starfarer.campaign.save.CampaignGameManager.o00000(Unknown Source)
at com.fs.starfarer.title.TitleScreenState.dialogDismissed(Unknown Source)
at com.fs.starfarer.ui.oo0O.dismiss(Unknown Source)
at com.fs.starfarer.ui.impl.o0OO.dismiss(Unknown Source)
at com.fs.starfarer.campaign.save.A.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.n.buttonPressed(Unknown Source)
at com.fs.starfarer.ui.int.new(Unknown Source)
at com.fs.starfarer.ui.int.processInput(Unknown Source)
at com.fs.starfarer.ui.W.o00000(Unknown Source)
at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
这模组原来那个完美的开局星系Duzahk怎么没了 是改了还是设置没对?
大佬0.12.2更新了
苍白而蔷薇 发表于 2026-7-20 23:00
新版的更新内容太吸引我了
新版更新看了一圈都是没做完的东西,没什么实质内容。不过饼确实画的非常大就是了。
XieGanyuan 发表于 2026-7-24 01:52
这模组原来那个完美的开局星系Duzahk怎么没了 是改了还是设置没对?
Duzahk是黑老六的预制星系
大佬,这个报错咋解决:错误发生在 exerelin.campaign.intel.missions.remnant.RemnantSalvation.spawnFlagship2Wreck 方法中。
具体代码行尝试调用 com.fs.starfarer.loading.X.getCargoSpace(),但对象 <local4> 为 null。
这意味着在处理“遗民(Remnant)”势力的旗舰残骸生成逻辑时,游戏试图读取某个货物空间数据,但该数据对象未正确初始化或已丢失。
触发场景:
根据堆栈跟踪,错误发生在战斗结束后(reportBattleOccurred -> checkFlagshipKilled)。
当你击败了一支遗民(Remnant)舰队,且该舰队包含特定旗舰时,Exerelin 模组尝试生成旗舰残骸以便玩家打捞,但在处理残骸的货物数据时崩溃。
涉及模组:
Exerelin:这是主要责任模组。从堆栈看,你使用的版本可能是 0.98a-RC8 或类似版本。
游戏版本:日志显示游戏核心为 starfarer_obf.jar,通常对应 0.95a 或 0.96a 版本(取决于 Exerelin 的兼容性)。注意:Exerelin 对游戏版本非常敏感。
306464804 发表于 2026-7-29 22:41
大佬,这个报错咋解决:错误发生在 exerelin.campaign.intel.missions.remnant.RemnantSalvation.spawnFlag ...
这是在打棱镜自由港余晖任务时触发的
势力争霸0.12.1b + 地改, 伟大救赎结算会闪退, 更新到0.12.1e就好.{:5_118:}
记录到_第七页
势力争霸0.12.1b 会在地改开启的情况下,在完成伟大救赎后生成一个地改的行星杀手,但是新版地改移除了行星杀手,
势力争霸按照原先生成逻辑就会因为无法读取对应物品导致报错,更新一下势力争霸就行!
谢谢大佬
作者你好,我想问一下在位于棱镜自由港的余晖联络人在什么情况会触发提供纳米锻炉的代制造舰船和战机连队服务,感觉这个很随机,我需要的时候没有,不要的时候又出现了。是有什么规律吗?
好一个有空再写{:tieba_12:}
更新啦
这个0.98势力争霸,换船后船不自动开火咋整,每次都得Ctrl + 数字 吗
强强
好耶,有更新了
呱,更新了
您好,请问"覆盖原版的舰船品质机制:
* 无论产能如何,现在始终按照最高的可用品质来生成舰船"是指的什么啊?
您好,098版本遇到一个稳定复现的崩溃现象:
311655 INFOsound.O- Cleaning up music with id
311733 ERROR com.fs.starfarer.combat.CombatMain- java.lang.NullPointerException: Cannot invoke "java.awt.Color.getAlpha()" because "this.??0000[<local3>]" is null
java.lang.NullPointerException: Cannot invoke "java.awt.Color.getAlpha()" because "this.??0000[<local3>]" is null
at com.fs.graphics.A.ooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(Unknown Source)
at com.fs.graphics.A.ooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.o00000(Unknown Source)
at com.fs.starfarer.ui.d.render(Unknown Source)
at com.fs.starfarer.ui.interfacenew.renderImpl(Unknown Source)
at com.fs.starfarer.ui.OOOo.render(Unknown Source)
at com.fs.starfarer.ui.interfacenew.renderImpl(Unknown Source)
at com.fs.starfarer.ui.impl.StandardTooltipV2.renderImpl(Unknown Source)
at com.fs.starfarer.ui.OOOo.render(Unknown Source)
at com.fs.starfarer.campaign.comms.C.renderImpl(Unknown Source)
at com.fs.starfarer.ui.OOOo.render(Unknown Source)
at com.fs.starfarer.ui.interfacenew.renderImpl(Unknown Source)
at com.fs.starfarer.campaign.comms.super.renderImpl(Unknown Source)
at com.fs.starfarer.ui.OOOo.render(Unknown Source)
at com.fs.starfarer.ui.interfacenew.renderImpl(Unknown Source)
at com.fs.starfarer.ui.OOOo.render(Unknown Source)
at com.fs.starfarer.campaign.CampaignState.render(Unknown Source)
at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
反复尝试复现多次,具体现象是:某一个存档在进入超空间固定的一个区域后就会立刻渲染空指针闪退;无论鼠标放在哪里,只要我走到超空间的这个区域就会崩溃;如果我不进入这个区域,一直在其他地方等着,无论时间长短都不会崩溃;我开新存档到对应的位置叶不会崩溃
我尝试用多次复现的日志喂给ai分析,ai给出的结论是这个区域生成了一个颜色为null的实体,我只要走到这里,进入传感器范围,就会立刻开始渲染,就会马上触发崩溃
kxr 发表于 2026-8-28 22:26
您好,098版本遇到一个稳定复现的崩溃现象:
311655 INFOsound.O- Cleaning up music with...
## 已启用模组清单
1. Aptly Simple Hullmods 2.1.2c
2. BoxUtil 1.5.5
3. CTB‑星际小卖部 0.5.7b‑fix4
4. Diable Avionics_Rogo.Ver 1.3.5
5. Exotica Technologies 1.8.7
6. HMI 反派势力 0.0.5d
7. J GEEK Federation 1.3.0
8. LazyLib 3.0.0
9. Lukas 的随手之作 2.6.10
10. LunaLib 2.0.5
11. MagicLib 1.5.6
12. More Military Missions 更多军事任务 0.5.0
13. P9 殖民领 0.57
14. PMMM 海盗超绝迷你船包 1.7.7
15. PMMMVE 海盗超绝迷你船包原版修改 1.0
16. Privateering‑Commission Overhaul 私掠活
17. Progressive S‑Mods 经验内插 1.2.0
18. zz GraphicsLib 1.12.1
19. 万泽时代:Tinysaurus 的原版万泽扩展 1.2
20. 世界之树科研殖民地 1.11.1
21. 乐园残响 7.1.1
22. 势力争霸 0.12.2c
23. 博尔肯基金会 0.9
24. 卢德骑士团 1.4.0
25. 女巫秘城 1.0c
26. 威胁渐显 Emergent Threats 1.3.3
27. 威胁渐显:第九战斗群 复兴 Emergent Threats
28. 工业革命 4.1.b
29. 布莱顿联邦 0.0.4a
30. 幽灵部队 1.1.3
31. 战役加成 1.15
32. 星海集群 1.13.7d
33. 星舰传奇 2.6.0
34. 普拉斯里蒂废品大师 0.7.1
35. 更优的技术挖掘 2.7.5
36. 未知星域 3.0.3
37. 浩瀚银河 基础版 1.0.2
38. 海盗拓展 1.8.8
39. 狐狐船包! 1.4.6
40. 舰船 / 武器拓展 1.16.x
41. 蓝海渔业 1.3.1
42. 装配 Li 解 0.5.0
43. 详细战斗报告 5.x
44. 详细武器数据 0.99
45. 远行之路 0.3530
46. 速子特勤局 1.4
47. 重生 2.5.0
48. 风险矿业公司 0.4.0e
49. 骤雨军事公司 3.2.5
50. 骤雨军事公司‑动漫风头像包 1.1
kxr 发表于 2026-8-28 22:26
您好,098版本遇到一个稳定复现的崩溃现象:
311655 INFOsound.O- Cleaning up music with...
这个bug我也遇到,大佬解决了吗?
本帖最后由 Tiswod此木 于 2026-8-30 00:25 编辑
kxr 发表于 2026-8-28 22:26
您好,098版本遇到一个稳定复现的崩溃现象:
311655 INFOsound.O- Cleaning up music with...
同bug,但是我这边不是新版势力争霸的原因,我是因为这个bug导致的死档才更新了势力争霸并且开了现在的新档{:5_124:}
另外我这边是到了特定日期触发,哪怕不进超空间也一样,不知道是不是势力争霸的那个实验性ai内容,我上上个没有开这个设置后面顺利结档了,上个档开了这个设置后(没多加mod,甚至移除了几个mod)就开始出现各种奇奇怪怪的bug{:5_124:}
去0.98汉化发布帖那边看了一下,是原版字库测试版的问题,汉化组表示已经在修复了{:5_118:}
Tiswod此木 发表于 2026-8-29 21:34
去0.98汉化发布帖那边看了一下,是原版字库测试版的问题,汉化组表示已经在修复了 ...
原来是这样,我也遇到了同样的问题,坐等修复了{:5_132:}
171300 INFOsound.O- Cleaning up music with id
171745 INFOsound.O- Creating streaming player for music with id
171745 INFOsound.H- Playing music with id
172820 ERROR com.fs.starfarer.combat.CombatMain- java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.fleet.FleetMemberAPI.getMemberStrength()" because "member" is null
java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.fleet.FleetMemberAPI.getMemberStrength()" because "member" is null
at com.fs.starfarer.api.util.Misc.getMemberStrength(Misc.java:4849)
at com.fs.starfarer.api.util.Misc.getMemberStrength(Misc.java:4845)
at exerelin.campaign.battle.NexWarSimScript.<init>(NexWarSimScript.java:69)
at exerelin.campaign.battle.NexWarSimScript.createAndExecute(NexWarSimScript.java:49)
at exerelin.campaign.intel.raid.BaseStrikeActionStage.autoresolve(BaseStrikeActionStage.java:73)
at exerelin.campaign.intel.invasion.InvActionStage.updateStatus(InvActionStage.java:181)
at exerelin.campaign.intel.raid.BaseStrikeActionStage.updateStatus(BaseStrikeActionStage.java:33)
at com.fs.starfarer.api.impl.campaign.intel.raid.BaseRaidStage.advance(BaseRaidStage.java:106)
at com.fs.starfarer.api.impl.campaign.intel.raid.ActionStage.advance(ActionStage.java:25)
at exerelin.campaign.intel.invasion.InvActionStage.advance(InvActionStage.java:82)
at com.fs.starfarer.api.impl.campaign.intel.raid.RaidIntel.advanceImpl(RaidIntel.java:219)
at exerelin.campaign.intel.fleets.OffensiveFleetIntel.advanceImpl(OffensiveFleetIntel.java:737)
at com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin.advance(BaseIntelPlugin.java:84)
at com.fs.starfarer.campaign.CampaignEngine.advance(Unknown Source)
at com.fs.starfarer.campaign.CampaignState.advance(Unknown Source)
at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
中途更新到目前最新版本,然后就在星系里面闲逛的时候报错,问了一下ds是入侵的时候调用不到数据{:5_124:}
btw是在链戍集团军星系里面触发的,但是中途更新完也在这来回好几次了,应该和链戍没关系(
096开始遗漏的部分汉化还是没补上(
8841926 INFOexerelin.campaign.DiplomacyManager- Trying event: 战俘交换
8841994 INFOcom.fs.starfarer.api.impl.campaign.fleets.EconomyFleetRouteManager- Added trade fleet route from Endeavour 空间站 到 Lance Base
8841996 INFOcom.fs.starfarer.api.impl.campaign.fleets.misc.MiscFleetRouteManager- Created misc Port Tiara to Galatia 学院 空间站
8842075 INFOdata.scripts.JKFModPlugin- JKF-TF: scanDone checked=640 eligible=0 passesLeft=4 failGas=97 failTrig=543 failActive=0 failColony=0
8842205 INFOexerelin.campaign.DiplomacyManager- Starting diplomacy event creation
8842205 INFOexerelin.campaign.DiplomacyManager- Dominance factor: 0.01115449
8842205 INFOexerelin.campaign.DiplomacyManager- Creating either diplomacy event for factions FSF军事公司, 布莱顿
8842205 INFOexerelin.campaign.DiplomacyManager- Trying event: 文化热潮
8842206 INFOexerelin.campaign.DiplomacyManager- Transmitting event: 文化热潮
8842454 INFOexerelin.campaign.intel.specialforces.SpecialForcesIntel- Despawning fleet 特遣队 - 26th Charon Bay
8842470 INFOexerelin.campaign.intel.specialforces.SpecialForcesIntel- Despawning fleet 特遣队 - Hygiea's 舰队
8842479 INFOsound.O- Cleaning up music with id
8842488 INFOsound.O- Cleaning up music with id
8842536 ERROR com.fs.starfarer.combat.CombatMain- java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.campaign.JumpPointAPI.getDestinations()" because "jp" is null
java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.campaign.JumpPointAPI.getDestinations()" because "jp" is null
at com.fs.starfarer.api.impl.campaign.intel.group.FGTravelAction.directFleets(FGTravelAction.java:227) ~
at com.fs.starfarer.api.impl.campaign.intel.group.FleetGroupIntel.advance(FleetGroupIntel.java:252) ~
at com.fs.starfarer.campaign.CampaignEngine.advance(Unknown Source) ~
at com.fs.starfarer.campaign.CampaignState.advance(Unknown Source) ~
at com.fs.starfarer.BaseGameState.traverse(Unknown Source) ~
at com.fs.state.AppDriver.begin(Unknown Source) ~
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.base/java.lang.Thread.run(Thread.java:1516) [?:?]
{:tieba_39:}
临风雨 发表于 2026-9-4 09:22
8841926 INFOexerelin.campaign.DiplomacyManager- Trying event: 战俘交换
8841994
我也一样的问题
鲨鱼 发表于 2026-9-5 18:43
我也一样的问题
有找到解决的办法吗
约翰济慈 发表于 2026-8-30 19:07
171300 INFOsound.O- Cleaning up music with id
用这个替换一下mod根目录\jars\ExerelinCore.jar文件就行,整合了作者的一个小补丁
本帖最后由 宝石视觉 于 2026-9-17 12:20 编辑
汉化问题反馈:
已发现新增的:“Earning Recognition”
旧的仍待修复的:1.开局设置中的【其他选项】,这个里面的“Back”没有汉化;2.解决动荡中的“1.Deliver the pacification package2.Reconsider ”两条没有汉化;3.与势力交易导致关系变动的两条(左侧新消息播报)。
还存在覆盖原版汉化导致汉化失效的问题,主要是和绿粽子等无人舰势力:
希望修复
人质救星Fuze 发表于 2026-9-5 22:22
用这个替换一下mod根目录\jars\ExerelinCore.jar文件就行,整合了作者的一个小补丁
感谢
鲨鱼 发表于 2026-9-5 18:43
我也一样的问题
破案了去更新圣殿骑士
Nexerelin v0.12.2d新版本出来了
{:tieba_09:}在装了动态战斗支援mod后配合势力争霸的入侵舰队会出现与速子科技的雇佣兵交战后导致了“然后得到的结果就是你的势力为了维护势力的关系加入了敌方阵营然后一起攻击了自己所属方的领袖,并且还被自己的领袖一个大逼兜拍到了地板上导致与自由联盟关系敌对()”的判定bug
话说这模组能中途加入吗
能,而且这次直接从根上治——我把 Nexerelin 的公式修掉了。过程如下:
为什么你会一秒一个外交事件
翻出它的源码(jar 里就带 DiplomacyManager.java),事件间隔是这么算的:
return baseInterval * (float)Math.pow(0.95, numFactions);
baseInterval = 配置里的 eventFrequency(20 天),但后面乘了个 0.95 的"活跃势力数"次方——设计意图是"势力越多、事件越勤",可指数在超大型整合包里直接爆炸:你这局从日志里能数出 110+ 个活跃势力,0.95^110 ≈ 0.003,于是 20 天的间隔被压成 0.06 天 ≈ 每 0.6 秒一次。日志实证:上一局一共触发了 906 次外交事件(Starting diplomacy event creation → Transmitting event 全程可数)。
所以:光调低配置或滑条没用——滑条上限 60,只能降到 1/3(还是秒级);而把 eventFrequency 改大又不行,因为战略 AI 的宣战/停战/结盟周期跟它共用这个值,改大会把 AI 一起冻住。它这个 0.95 指数才是元凶。
修了什么
mods\nexerelin\jars\ExerelinCore.jar 里的 DiplomacyManager.class,只改了 7 个字节:Math.pow 的底数 0.95 → 1.0。效果:间隔不再随势力数塌缩,等于你配置的天数本身;战略 AI 的节奏完全没动。
打之前验证过的(避免伤到别的地方):
全源码里 0.95 只出现这一次;类文件里只有一个 0.95 常量、只有一条指令引用它;
反汇编核对过引用点上下文,正是 baseInterval * (float)Math.pow(x, numFactions) 这条语句;
改完后重扫:0.95 消失、1.0 就位、引用数不变、类大小不变;
整个 jar 重建后逐条 MD5 对比:1982 个条目里只有这 1 个类变了。
效果:外交事件从 ~0.6 秒一次降到 15–25 天一次(约 200 秒),大致是三百多倍的降幅;一局大概只会看到几次,而 AI 之间的战争/和平/结盟照常进行。
还能再调:进游戏后 Luna 设置 → Nexerelin → 外交 → "外交间隔",现在这个滑条就是真实天数(范围 5–60)。想要热闹点滑到 5–10(约 50–100 秒一次),想要更安静就别动(20)。另外"外交事件过滤级别"设 2 可以只保留宣战/媾和的弹窗。
想反悔:原始文件备份在 backup\ExerelinCore.jar.pre-nexfix-20261003-2110(md5 ca6f33a0f03f4f566724e987df4f3752),复制回 mods\nexerelin\jars\ExerelinCore.jar 即可完全还原。不影响存档。
两个提醒:
以后重装或更新 Nexerelin(或跑 CN 兼容包把官方 jar 换回来的操作)这个修复会丢,说一声我重新打一次。
同款爆炸公式还出现在隐蔽行动里(CovertOpsManager,间隔同样被压到约 1.3 秒,你上局刷了 1275 行日志)——要不要也照这个办法修?同样只动一个常量。
顺便:之前装好的 JFR 采样器还等着测。现在外交降下来了,可以启动游戏跑那 8–10 分钟大地图采样了——跑完告诉我,我从 JFR 里看还剩谁在吃 CPU,同时从新日志里验证外交事件是不是真降到个位数。
这是问ai的,老大,能不能把外交事件提高一下啊
310339106458 ERROR com.fs.starfarer.combat.CombatMain
java.lang.NullPointerException: Cannot invoke
"com.fs.starfarer.api.fleet.FleetMemberAPI.getMemberStrength()" because "member" is null
at com.fs.starfarer.api.util.Misc.getMemberStrength(Misc.java:4849)
at com.fs.starfarer.api.util.Misc.getMemberStrength(Misc.java:4845)
at exerelin.campaign.battle.NexWarSimScript.<init>(NexWarSimScript.java:69)
at exerelin.campaign.battle.NexWarSimScript.createAndExecute(NexWarSimScript.java:49)
at exerelin.campaign.intel.raid.BaseStrikeActionStage.autoresolve(BaseStrikeActionStage.java:73)
at exerelin.campaign.intel.invasion.InvActionStage.updateStatus(InvActionStage.java:181)
这是 Nexerelin(势力争霸)v0.12.2c 的一个 bug,跟原版、你的内存设置、其他 mod 都无关。崩溃点在 Nexerelin 自动结算(autoresolve)一场基地打击行动时,去取一个 null 舰队成员的强度值,直接 NPE → CTD
我反汇编了你的 ExerelinCore.jar 佐证:NexWarSimScript.applyDamageToParticipant 里正是取 getMembersListCopy() 逐个算强度的循环 —— 这次循环里拿到了 null。
触发条件(社区已复现,你的日志完全吻合)
两个势力几乎同时对同一颗行星发起 Strike 行动。 第一个(结算并获胜)之后,第二个势力那方已经没有可用舰队,轮到它结算时就取到 null 成员 → 崩。
你的日志里:106319 和 106371 — 连续两次 Autoresolving base strike action,紧接着 106458 崩溃。
而且同一个栈在日志里出现了两次(行 232760 是上一局),说明这是可复现的 —— 读档到那个时间点必然再崩,绕不过去。
英文官方论坛 #7129(2026-09-27)报的就是这个:"Diktat wins, then Diable tries immediately after and due to lack of a fleet, it fails to look for a flagship and crashes every time."
升级 Nexerelin 到 v0.12.2d(2026-09-26) —— 有一条 Fix crash when autoresolving battles against some stations,但 changelog 没有点名 NexWarSimScript,所以不保证修的就是你这一例。你现在是 0.12.2c,升级成本低,建议先试。
结果:两个势力是 辛达强权 和 恶魔航电
从你的最新存档 save_MMDGTC_2475978869492324012(10-04 20:32)里读到的当前活跃行动有两个,目标是同一个:
添加到对话
行动 势力 出发地 目标
基地打击 #1 辛达强权(sindrian_diktat) 市场 4040 市场 71502
基地打击 #2 恶魔航电(diableavionics) Eclipse 空间站 市场 71502
目标市场 = 「Nar 圣殿」(id 299af7),位于 Alexiar 星系 —— 与日志里 Adding recent raid to raid record: : Alexiar 完全对得上。
★ 和英文论坛那例是同一对势力:那边也是「Diktat 先赢 → Diable 随后无舰队 → 必崩」。你这里是同款配置,所以那条已被验证有效的绕过命令直接适用。
遇到一个稳定复现的bug,AI分析完日志说是势力争霸的mod报错,两个势力同时打同一个地方的时候就会出现这个,我的档已经坏掉了
MMDGTC 发表于 2026-10-4 21:46
310339106458 ERROR com.fs.starfarer.combat.CombatMain
java.lang.NullPointerExce ...
然后让AI改好了,原理:原版 RaidIntel.advanceImpl 第一句就是
if (currentStage >= stages.size()) { endAfterDelay(); ...; return; }
—— 这走的是游戏自己"行动结束"的正常分支,阶段再也不会被 advance,autoresolve() 永远不会被调用 → 不可能再崩。所有对象和引用原样保留。
ExerelinCore.jar 里带源码,exerelin/campaign/battle/NexWarSimScript.java 第 54–74 行:
java
CampaignFleetAPI station = Misc.getStationFleet(target);
if (station != null) {
...
else if (willFactionSideWithUs(target.getFaction(), side2, side1)) {
float str1 = Misc.getMemberStrength(station.getFlagship()); // ← 第 69 行,崩溃点
而 BaseStrikeActionStage.autoresolve() 结尾会把目标基地的空间站舰队成员逐个删光、但保留舰队对象:
java
CampaignFleetAPI fleet = Misc.getStationFleet(target);
if (fleet != null && fleet.isAlive()) {
for (FleetMemberAPI member : fleet.getFleetData().getMembersListCopy())
fleet.removeFleetMemberWithDestructionFlash(member);
}
所以链条是:第一个打击成功 → 清空空间站成员 → 第二个打击再跑模拟 → getStationFleet 还不是 null、但 getFlagship() 已经是 null → NPE。不是"没舰队",是"舰队空壳还在、旗舰没了"。
二、修改内容(单字段,不删任何对象)
把两个行动的 <currentStage> 从 3(行动阶段)直接推到 stages.size() = 5:
xml
<intel cl="NexBaseStrkIntl" z="71990" ...> <!-- 辛达强权 -->
<currentStage>5</currentStage> <!-- 原为 3 -->
<intel cl="NexBaseStrkIntl" z="72573" ...> <!-- 恶魔航电 -->
<currentStage>5</currentStage> <!-- 原为 3 -->
。
我也核对了 RaidIntel:204、OffensiveFleetIntel:510/1055/1063 里所有 stages.get(currentStage) 都有越界保护,不会因为数值变大而越界。
大佬 该更新了。 看到介绍新版有自动挖矿能力了{:tieba_01:}