[097,096,0951]粒子引擎注入与java11-23之钥
本帖最后由 zender 于 2024-3-10 09:24 编辑java17以上版本使用可能会报错,我这复现不了问题,出bug的话换java17吧
3月7 更新2:强制阻止因为缺失export导致的报错(现在,使用本模组的情况下,唯一必须的add-opens是--add-opens=java.base/java.lang=ALL-UNNAMED,具体来说,通过修改java.lang.Module.isOpen/isExported的返回值固定为true实现)
3月7 更新1:强制阻止因为缺失open导致的报错(模组文件更新)
3月2 更新2:现在pei会自动检测java运行版本,比如只会在java版本高于11时修改Thread.stop,同时pei改为了java8编译,兼容范围扩大到java8-23
3月2 更新1: 链接:https://pan.baidu.com/s/1-37MQA2lKgGb_WIOFeCwFQ?pwd=kxfm 这个是pei+java11+一键启动器,下载下来放到starsector.exe同一目录双击打开,按提示操作即可,内置javaee8,zulu java21,pei模组文件
因为内置了个jre,有100m多,比较大,我尽量少更启动器,启动器就相当于release发布,直接下模组文件相当于测试版,启动器还可以生成启动脚本
启动脚本生成为starsector.exe同目录下的RunStarsector.bat,除非要更换其他java,否则无需重新生成启动脚本
本来想着javaee能直连下,后面看javaee本身100m还是内置进去了,不过也导致启动器达到了200m
启动脚本里javaw.exe改成了java.exe,用javaw log会乱码
2月29 更新1:添加Thread.stop的保护,可能使最高支持版本提高至java23(经测试证实了该点)
注:最大支持java17(没有经过大量测试)
2月28 更新2:将版本号改为0.0.2,帖子中适用版本添加097,095(095使用时PE仍需要0.71版本而非095中的0.3版本)(同一模组文件可以在这三个版本中使用,在096之外版本使用时请自行修改mod兼容版本)
感谢 wuyi,Tick_Tock_Man,不想起名字,不会取名的屑,星星蜗牛 的积极测试
注:095中使用时最好在starsector-core\data\config\settings.json的graphics部分里添加"nebula_particles2":"graphics/fx/cleaner_clouds00.png"(图片cleaner_clouds00在096里拿)(也可以不加,现在不会报错了,理论上来说095没用到这个)
2月28 更新1:移除了直接混淆字段引用,提高兼容性,避免了因为缺少某些粒子所需图片报错,但如果对应粒子被调用,则无法显示出来
2月27 更新2:阻止因CombatEngine类中缺少某些函数报错,可能会使模组支持095
2月27 更新1:现在会强制将TimSort转换为legacyMergeSort避免报错
2月26 更新1:在启动参数中加入了-Djava.util.Arrays.useLegacyMergesort=true使得java使用旧版归并排序实现(新版排序实现是TimSort,更快但对比较函数有要求)避免一些报错(这个报错非常神奇,我审了com.fs.graphics.DisplayManager 和com.fs.starfarer.campaign.ui.intel.SortablePlanetList.recreateList 的里排序函数代码,并没有发现明显的错误,fsf那个船插的代码大概也是 ,正常来说java7的排序就是TimSort了,为啥换java11后才报这种错)(又审了审com.fs.graphics.DisplayManager里的比较函数实现,虽然写的比较抽象,先把数字转了字符串再转回了数字,总共就四行代码,两个int的比较,相等时返回0,理论上来说绝对没有错误的可能性)
2月10,14:13更新:强制阻止com.fs.starfarer.campaign.ui.intel.SortablePlanetList.recreateList报错(有一说一,这个大概不是我的锅)
2月10,8:05更新:统计要释放的缓冲区总大小并在超过64M(2/28-1:=128M,该更新后会重复统计缓冲区大小,所以提高了临界总大小)后触发强制gc
经两位小白鼠的测试,已经ok了,大家可以放心用
根据进一步的测试结果,我认为强制缓冲区释放可能导致的多重释放最终使得jvm崩溃,我已经将其移除,这个修复后进行了三次启动测试,都正常
从提供的vmparams中移除了可能导致问题的g1gc
保存还有点问题,我得再研究一下,已经解决了,原因是缺少了com.sun.xml.internal.txw2.output.IndentingXMLStreamWriter 类型,我写了一个加上去就好了
经过早上几个小时的研究,我搞明白了挡在Starsector96到java11前只有两件事,java ee和sun.nio.ch.DirectBuffer
premain+javassist实际上就是在运行时修改内存中的class数据,标题(指之前在制作讨论里发的帖子的标题)属于是玩了个文字游戏,该方法确实不修改任何.class和.jar文件,但是修改了class数据
借助premain+javassist技术,我重写了唯一使用sun.nio.ch.DirectBuffer 的函数
再在启动参数中加入巨量的add-opens和add-exports
再在启动参数中加入对java ee的引用
我成功的使用java11启动了Starsector96并且在超空间中飞行了一小段,过了一个月,打了一场模拟战
唯一的问题是窗口模式下边框(x按钮那部分)消失了
在这先放一个java ee下载链接 http://download.java.net/glassfish/5.0/release/javaee8-ri.zip
再在这放一个graalvm java11链接:https://pan.baidu.com/s/1ixAF7MmQTqgQn5FIuW0gPA?pwd=am0y
提取码:am0y
我自己测试的时候用的就是这个版本
你也可以自行选用java11-java23之间的任意版本
模组文件:
我直接就在之前PEI里面写了,这次安装有所区别,请详细阅读下列文本
预准备1,正常解压模组文件后将模组文件夹中的javassist.jar和ParticleEngineInject_PreMain.jar文件挪动到starsector-core里
预准备2,从我提供的java ee下载链接下载java ee,将下载到的javaee8-ri.zip文件解压到Starsector目录(游戏可执行所在位置)下
首先,你需要在启动参数中-Dcom.fs.starfarer.settings.paths.mods=../mods和-classpath之间加入以下参数,且加入的参数前后加上空格以分隔
--add-opens=java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-opens=java.base/sun.net=ALL-UNNAMED --add-opens=java.base/sun.net.util=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/sun.net.www=ALL-UNNAMED --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED
然后在classpath参数的最后(一般来说,最后一项是xstream-1.4.10.jar,也就是在这之后不加空格,直接复制粘贴)加上;javassist.jar;../glassfish5/glassfish/lib/javaee.jar -javaagent:ParticleEngineInject_PreMain.jar
注意:从;开始到最后的.jar完整复制粘贴,包括;
注意:如果你已经使用了旧版本的PEI,请不要让-javaagent:ParticleEngineInject_PreMain.jar参数重复
在这放一份改好的vmparams,开启了g1gc(由于其可能导致崩溃,已关闭),内存上限开的8g
最后将jre换成java11版本,注意:技术所限,该项也是必须的,也就是说本mod必须在java11环境下使用
建议就直接用我改好的vmparams,除非你之前换的java8是换成最新java8,否则还有一个参数-Xverify:none要加
javaee要解压成一个叫glassfish5的文件夹,里面有glassfish文件夹,如下图
Starsector\glassfish5里的内容如下图
Starsector\glassfish5\glassfish里的内容如下图
版本注意:虽然我使用了特殊办法规避了直接引用混淆函数,但是这并不意味着模组绝对可以在096rc10之外的任何版本使用,只是相较于直接引用有了一些正常使用的可能性
模组兼容性
测试时同时激活了大量模组,总计58个,战役没有问题,生涯第一次测试时过了约两月,打了几个赏金,最后保存时报错了,之后修复保存功能后也进行了测试,没有报错,确认解决,部分启用模组如下
在这放一个前置链接 Particle Engine (12/29/23) (fractalsoftworks.com)
这个这边论坛没人搬的说
从隔壁制作讨论移过来的,感觉放那边没人看呀
以下是pei使用的所有粒子图片,发现缺失请从096中拿,其中:"game_raw_fx", "particlealpha32sq"因为原图在jar里,pei中内置了该图片
项目已在github上开源,下载地址里是项目开源地址
大家都在等小白鼠 哥们,我真的很想试试,但是我现在没有时间,真的 有一说一,真报错了记得发日志 lili 发表于 2024-2-8 13:36
大家都在等小白鼠
小白鼠来了,加载界面直接崩掉,null都没弹出来 本帖最后由 zender 于 2024-2-8 15:19 编辑
不会取名的屑 发表于 2024-2-8 15:04
小白鼠来了,加载界面直接崩掉,null都没弹出来
必须要换java11的说,建议就直接用我改好的vmparams,除非你之前换的java8是换成最新java8,否则还有一个参数-Xverify:none要加
javaee要解压成一个叫glassfish5的文件夹,里面有glassfish文件夹
看起来这么狂眩酷拽吊炸天,忍不住就想试试,奈何现在身边没设备{:5_124:} 看到sun在包名中,就有一股远古洪荒的气息扑面而来,想要把远行星号更新到更加现代的JRE环境,原作者怕不是得搞上天去。JAVA环境里面,每次升级可能遇到的兼容性问题还挺容易就很多的。
之前想着升级一个文字黄油从java8到新的java17,查了半天发现是因为一个用来运行JavaScript的脚本引擎在Java11开始就deprecate了。
还好我当年看着Java字太多没学,去转学C#了,虽然说现在我除了C#什么都在用{:tieba_23:} zender 发表于 2024-2-8 15:07
必须要换java11的说,建议就直接用我改好的vmparams,除非你之前换的java8是换成最新java8,否则还有一个参数 ...
我就是这么整的,也能正常启动,就是加载加到一半直接崩了……"C:\Users\35851\Pictures\approlight_22.png" 不会取名的屑 发表于 2024-2-8 16:15
我就是这么整的,也能正常启动,就是加载加到一半直接崩了……
发下日志让我看看 zender 发表于 2024-2-8 16:31
发下日志让我看看
### 游戏信息
游戏版本: 0.96a-RC10
### 系统信息
操作系统:Microsoft Windows 11 专业版
版本:10.0.22621 暂缺 Build 22621
总可用内存:`15.92G`
**警告:未找到游戏默认Java运行时**
虚拟机参数:java.exe -XX:+UseG1GC -XX:+AggressiveOpts -XX:MaxGCPauseMillis=50 -Xverify:none -Djava.library.path=native\windows -Xms6g -Xmx8g -Xss2m -Dcom.fs.starfarer.settings.paths.logs=. -Dcom.fs.starfarer.settings.paths.saves=../saves -Dcom.fs.starfarer.settings.paths.screenshots=../screenshots -Dcom.fs.starfarer.settings.paths.mods=../mods --add-opens=java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-opens=java.base/sun.net=ALL-UNNAMED --add-opens=java.base/sun.net.util=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/sun.net.www=ALL-UNNAMED --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED -classpathjanino.jar;commons-compiler.jar;commons-compiler-jdk.jar;starfarer.res.jar;starfarer.api.jar;starfarer_obf.jar;jogg-0.0.7.jar;jorbis-0.0.15.jar;json.jar;lwjgl.jar;lwjgl_util_applet.jar;jinput.jar;lwjgl_test.jar;log4j-1.2.9.jar;lwjgl_util.jar;fs.sound_obf.jar;fs.common_obf.jar;xstream-1.4.10.jar;javassist.jar;../glassfish5/glassfish/lib/javaee.jar-javaagent:ParticleEngineInject_PreMain.jar com.fs.starfarer.StarfarerLauncher
堆栈初始大小(`-Xms`):`6144m`
堆栈最大大小(`-Xmx`):`8192m`
### Mod信息
|Mod名称 |Mod版本 |已启用 |
|-|-|-|
|Particle Engine |0.71 |是 |
|ParticleEngineInject |0.0.1 |是 |
(以上内容由 远行星号 报错信息收集工具 自动生成,生成工具版本 `1.1.2`).
[游戏日志]
29092 INFOsound.Sound- Loading sound
29098 INFOsound.Sound- Loading sound
29101 INFOsound.Sound- Loading sound
29102 INFOsound.Sound- Loading sound
29128 INFOsound.Sound- Loading sound
29130 INFOsound.Sound- Loading sound
29153 INFOsound.Sound- Loading sound
29158 INFOsound.Sound- Loading sound
29166 INFOsound.Sound- Loading sound
29179 INFOsound.Sound- Loading sound
29213 INFOsound.Sound- Loading sound
29221 INFOsound.Sound- Loading sound
29282 INFOsound.Sound- Loading sound
29309 INFOsound.Sound- Loading sound
29355 INFOsound.Sound- Loading sound
29371 INFOsound.Sound- Loading sound
29377 INFOsound.Sound- Loading sound
29389 INFOsound.Sound- Loading sound
29393 INFOsound.Sound- Loading sound
29397 INFOsound.Sound- Loading sound
29411 INFOsound.Sound- Loading sound
29414 INFOsound.Sound- Loading sound
29418 INFOsound.Sound- Loading sound
29422 INFOsound.Sound- Loading sound
29433 INFOsound.Sound- Loading sound
29437 INFOsound.Sound- Loading sound
29440 INFOsound.Sound- Loading sound
29442 INFOsound.Sound- Loading sound
29448 INFOsound.Sound- Loading sound
29453 INFOsound.Sound- Loading sound
29457 INFOsound.Sound- Loading sound
29459 INFOsound.Sound- Loading sound
29461 INFOsound.Sound- Loading sound
29463 INFOsound.Sound- Loading sound
29465 INFOsound.Sound- Loading sound
29467 INFOsound.Sound- Loading sound
29469 INFOsound.Sound- Loading sound
29481 INFOsound.Sound- Loading sound
29489 INFOsound.Sound- Loading sound
29493 INFOsound.Sound- Loading sound
29517 INFOsound.Sound- Loading sound
29538 INFOsound.Sound- Loading sound
29573 INFOsound.Sound- Loading sound
29592 INFOsound.Sound- Loading sound
29609 INFOsound.Sound- Loading sound
29627 INFOsound.Sound- Loading sound
29645 INFOsound.Sound- Loading sound
29665 INFOsound.Sound- Loading sound
29677 INFOsound.Sound- Loading sound
29686 INFOsound.Sound- Loading sound
本帖最后由 zender 于 2024-2-8 16:51 编辑
不会取名的屑 发表于 2024-2-8 16:37
[游戏日志]
29092INFOsound.Sound- Loading sound
我更新了一下,麻烦再帮忙试一次,顺便问下你电脑显存多少 zender 发表于 2024-2-8 16:45
我更新了一下,麻烦再帮忙试一次,顺便问下你电脑显存多少
还是一样崩,我显存就1g......"C:\Users\35851\Pictures\approlight_22.png" zender 发表于 2024-2-8 16:45
我更新了一下,麻烦再帮忙试一次,顺便问下你电脑显存多少
我感觉是我下的jre11的问题,楼主能发个能用的jre11吗......"C:\Users\35851\Pictures\approlight_22.png" 不会取名的屑 发表于 2024-2-8 17:14
还是一样崩,我显存就1g......
额,显存1g不够的 小白鼠来喽,能不能发一个jre11? 097可以用吗 baka7z 发表于 2024-2-8 18:26
097可以用吗
不保证,有一定可能性,正在解决保存出错问题 星星蜗牛 发表于 2024-2-8 18:17
小白鼠来喽,能不能发一个jre11?
https://www.azul.com/downloads/?version=java-11-lts&os=windows&package=jdk#zulu
正在解决保存出错问题 星星蜗牛 发表于 2024-2-8 18:17
小白鼠来喽,能不能发一个jre11?
保存出错问题解决了,帖子里加了个java11的百度盘链接
建议重新编写所有类似的方法。
Particle Engine之所以能高效渲染粒子的原因是使用了实例化渲染,即向gpu发送少数个drawcall一次性完成大量粒子的渲染;现在这个情况仍然是给每个粒子都使用数个drawcall绘制,与原版的cpu指定顶点信息的固定管线绘制方法相比性能上仍然提升不大。 本帖最后由 zender 于 2024-2-8 19:19 编辑
ShioZakana 发表于 2024-2-8 19:16
建议重新编写所有类似的方法。
Particle Engine之所以能高效渲染粒子的原因是使用了实例化渲染,即向gpu发 ...
burst不等于drawcall,Particle Engine内部每帧对每组粒子进行一次drawcall,burst只是向Particle Engine提交粒子信息,简单来说,渲染图片相同的所有粒子被归为一组 祖宗之法早该变了,可惜alex不做 只能说无论是我自己找的jre11还是lz的jre11都是加载到一半进不去。我这儿显存8g Morrslieb 发表于 2024-2-8 20:52
只能说无论是我自己找的jre11还是lz的jre11都是加载到一半进不去。我这儿显存8g ...
啊,日志怎么说 加载到一半无征兆闪退,用的vmparams文件是楼主发的,附件是报错文件 本帖最后由 zender 于 2024-2-8 21:15 编辑
星星蜗牛 发表于 2024-2-8 21:06
加载到一半无征兆闪退,用的vmparams文件是楼主发的,附件是报错文件
这个看不懂的说,看看log,还有就是显卡只看专用内存至少要达到4g的说
麻烦用报错信息收集工具 生成一下
zender 发表于 2024-2-8 21:13
这个看不懂的说,看看log,还有就是显卡只看专用内存至少要达到4g的说
麻烦用报错信息收集工具 生成一下
...
那估计是硬件问题,我用的集成显卡
[游戏日志]
20496 INFOsound.Sound- Loading sound
20511 INFOsound.Sound- Loading sound
20514 INFOsound.Sound- Loading sound
20516 INFOsound.Sound- Loading sound
20520 INFOsound.Sound- Loading sound
20523 INFOsound.Sound- Loading sound
20530 INFOsound.Sound- Loading sound
20532 INFOsound.Sound- Loading sound
20536 INFOsound.Sound- Loading sound
20540 INFOsound.Sound- Loading sound
20543 INFOsound.Sound- Loading sound
20543 INFOsound.Sound- Loading sound
20551 INFOsound.Sound- Loading sound
20554 INFOsound.Sound- Loading sound
20560 INFOsound.Sound- Loading sound
20564 INFOsound.Sound- Loading sound
20566 INFOsound.Sound- Loading sound
20570 INFOsound.Sound- Loading sound
20571 INFOsound.Sound- Loading sound
20581 INFOsound.Sound- Loading sound
20582 INFOsound.Sound- Loading sound
20584 INFOsound.Sound- Loading sound
20585 INFOsound.Sound- Loading sound
20586 INFOsound.Sound- Loading sound
20587 INFOsound.Sound- Loading sound
20589 INFOsound.Sound- Loading sound
20590 INFOsound.Sound- Loading sound
20591 INFOsound.Sound- Loading sound
20592 INFOsound.Sound- Loading sound
20593 INFOsound.Sound- Loading sound
20594 INFOsound.Sound- Loading sound
20595 INFOsound.Sound- Loading sound
20618 INFOsound.Sound- Loading sound
20620 INFOsound.Sound- Loading sound
20623 INFOsound.Sound- Loading sound
20626 INFOsound.Sound- Loading sound
20635 INFOsound.Sound- Loading sound
20643 INFOsound.Sound- Loading sound
20645 INFOsound.Sound- Loading sound
20654 INFOsound.Sound- Loading sound
20654 INFOsound.Sound- Loading sound
20665 INFOsound.Sound- Loading sound
20676 INFOsound.Sound- Loading sound
20676 INFOsound.Sound- Loading sound
20680 INFOsound.Sound- Loading sound
20681 INFOsound.Sound- Loading sound
20685 INFOsound.Sound- Loading sound
20686 INFOsound.Sound- Loading sound
20694 INFOsound.Sound- Loading sound
20697 INFOsound.Sound- Loading sound
[游戏信息]
游戏版本: 0.96a-RC10
[系统信息]
操作系统: Microsoft Windows 10 家庭中文版
系统版本: 10.0.19045 暂缺 Build 19045
总可用内存: 15.73G
警告:未找到游戏默认Java运行时
虚拟机参数: java.exe -XX:+UseG1GC -XX:+AggressiveOpts -XX:MaxGCPauseMillis=50 -Xverify:none -Djava.library.path=native\windows -Xms6g -Xmx8g -Xss2m -Dcom.fs.starfarer.settings.paths.logs=. -Dcom.fs.starfarer.settings.paths.saves=../saves -Dcom.fs.starfarer.settings.paths.screenshots=../screenshots -Dcom.fs.starfarer.settings.paths.mods=../mods --add-opens=java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-opens=java.base/sun.net=ALL-UNNAMED --add-opens=java.base/sun.net.util=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/sun.net.www=ALL-UNNAMED --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED -classpathjanino.jar;commons-compiler.jar;commons-compiler-jdk.jar;starfarer.res.jar;starfarer.api.jar;starfarer_obf.jar;jogg-0.0.7.jar;jorbis-0.0.15.jar;json.jar;lwjgl.jar;lwjgl_util_applet.jar;jinput.jar;lwjgl_test.jar;log4j-1.2.9.jar;lwjgl_util.jar;fs.sound_obf.jar;fs.common_obf.jar;xstream-1.4.10.jar;javassist.jar;../glassfish5/glassfish/lib/javaee.jar-javaagent:ParticleEngineInject_PreMain.jar com.fs.starfarer.StarfarerLauncher
堆栈初始大小(`-Xms`): 6144m
堆栈最大大小(`-Xmx`): 8192m
Mod名称 |Mod版本 |已启用
=========================================================================================
LazyLib |2.8 |否
zz GraphicsLib |1.7.0 |否
MagicLib |1.2.0 |否
$Weebshit Core Portrait Pack |1.0 |否
Autosave 自动保存 |1.2b |否
Combat Activators |1.1.1 |否
Himawari Portraits |v2023.5.06|否
Industrial Evolution 工业革命 |3.3.d |否
Leading Pip |1.9.2 |否
Logistics Notifications 物流报告 |1.4.5 |否
Lost Sector 失落星域 |0.6.1c|否
LunaLib |1.8.3 |否
Nomadic Survival 游牧生涯 |1.3.1 |否
Particle Engine |0.71 |否
ParticleEngineInject |0.0.1 |否
Random Assortment of Things |1.5.11|否
Scavenger Trading 与拾荒者贸易 |0.0.4 |否
Secrets of the Frontier 前线秘闻 |0.13.1|否
Ship Direction Marker |1.3.1 |否
SpecialBounty |0.16 |否
SpecialBounty额外拓展包 |0.6a |否
SpeedUp |1.0.0 |否
Stellar Networks |3.1.0 |否
Take No Prisoners |0.16.1|否
Transponder Off |1.2.2 |否
Underworld |1.8.2 |否
Zer0Morph的派系旗帜包 |1.0 |否
势力争霸 |0.11.0b |否
威胁渐显: 第九战斗群 复兴 Emergent Threats: IX Revival|0.3.9 |否
战斗骚话 |1.14.0|否
打捞舰船拓展 Salvage Ship Expansion |0.3 |否
未知星域 |1.0.0rc2|否
沃兰缇亚归复局 |0.4.1 |否
漂浮 UI |0.1.0 |否
炫目星域 |2.0.0 |否
绯染天空战斗音乐包 |1.0 |否
舰船/武器拓展 |1.15.0|否
舰船涂装管理 |0.1 |否
舰船目录 / 装配编辑器 [~Ship Catalogue / Variant Editor]|1.8.2 |否
舰队行动历史 |1.0.10|否
详细战斗报告 |5.3.3 |否
重生 |2.2.0 |否
重生规则拓展 |1.2.0 |否
(以上内容由 远行星号 报错信息收集工具 自动生成,生成工具版本 1.1.2).
本帖最后由 zender 于 2024-2-8 23:16 编辑
星星蜗牛 发表于 2024-2-8 21:46
那估计是硬件问题,我用的集成显卡
[游戏日志]
有一说一,不用本模组你打得开096吗
应该还是我这块的问题,刚测试也遇到了,之前改了改表面上解决了,实际还是有问题的
我查了一下,似乎是g1gc的bug
zender 发表于 2024-2-8 21:50
有一说一,不用本模组你打得开096吗
应该还是我这块的问题,刚测试也遇到了,之前改了改表面上解决了,实际还 ...
照大佬你的方法修改游戏文件后,无论开不开那两个MOD,游戏都是加载到一半闪退。没有改过文件的096原版游戏可以正常运行。 本帖最后由 zender 于 2024-2-9 14:09 编辑
星星蜗牛 发表于 2024-2-8 23:30
照大佬你的方法修改游戏文件后,无论开不开那两个MOD,游戏都是加载到一半闪退。没有改过文件的096原版游 ...
那就确定了,是G1GC的问题,原版是没有开G1GC的,我提供的vmparams是打开了的
现在的话修应该是已经修好了的说
zender 发表于 2024-2-8 23:34
那就确定了,是G1GC的问题,原版是没有开G1GC的,我提供的vmparams是打开了的
啊,原来不是显存的问题啊 不会取名的屑 发表于 2024-2-9 14:01
啊,原来不是显存的问题啊
纯原版的话显存需求确实不大,修应该是已经修好了的说 谢谢大佬,除了java11jre用的adoptium的其它全是按帖子教程的,能正常用了 zender 发表于 2024-2-9 14:08
纯原版的话显存需求确实不大,修应该是已经修好了的说
能进了,谢谢大佬! zender 发表于 2024-2-9 14:08
纯原版的话显存需求确实不大,修应该是已经修好了的说
开局速建一个殖民地,按下e,标准结局
### 游戏信息
游戏版本: 0.96a-RC10
### 系统信息
操作系统:Microsoft Windows 11 专业版
版本:10.0.22621 暂缺 Build 22621
总可用内存:`15.92G`
**警告:未找到游戏默认Java运行时**
虚拟机参数:java.exe -XX:MaxGCPauseMillis=50 -Xverify:none -Djava.library.path=native\windows -Xms6g -Xmx8g -Xss2m -Dcom.fs.starfarer.settings.paths.logs=. -Dcom.fs.starfarer.settings.paths.saves=../saves -Dcom.fs.starfarer.settings.paths.screenshots=../screenshots -Dcom.fs.starfarer.settings.paths.mods=../mods --add-opens=java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-opens=java.base/sun.net=ALL-UNNAMED --add-opens=java.base/sun.net.util=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/sun.net.www=ALL-UNNAMED --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED -classpathjanino.jar;commons-compiler.jar;commons-compiler-jdk.jar;starfarer.res.jar;starfarer.api.jar;starfarer_obf.jar;jogg-0.0.7.jar;jorbis-0.0.15.jar;json.jar;lwjgl.jar;lwjgl_util_applet.jar;jinput.jar;lwjgl_test.jar;log4j-1.2.9.jar;lwjgl_util.jar;fs.sound_obf.jar;fs.common_obf.jar;xstream-1.4.10.jar;javassist.jar;../glassfish5/glassfish/lib/javaee.jar-javaagent:ParticleEngineInject_PreMain.jar com.fs.starfarer.StarfarerLauncher
堆栈初始大小(`-Xms`):`6144m`
堆栈最大大小(`-Xmx`):`8192m`
### Mod信息
|Mod名称 |Mod版本 |已启用 |
|-|-|-|
|LazyLib |2.8 |是 |
|zz GraphicsLib |1.8.0 |是 |
|MagicLib |1.2.0 |是 |
|Industrial Evolution 工业革命 |3.3.d |是 |
|LunaLib |1.8.3 |是 |
|Particle Engine |0.71 |是 |
|ParticleEngineInject |0.0.1 |是 |
|Terraforming & Station Construction 地貌改造 & 空间站建设|8.4.5 |是 |
|Underworld |1.8.2 |是 |
|势力争霸 |0.11.1|是 |
|博尔肯基金会 |0.7.1 |是 |
|舰船/武器拓展 |1.15.0|是 |
(以上内容由 远行星号 报错信息收集工具 自动生成,生成工具版本 `1.1.2`).
[游戏日志]
164271 INFOsound.H- Playing music with id
166809 INFOsound.oo0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO- Cleaning up music with id
166815 INFOsound.oo0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO- Cleaning up music with id
167129 ERROR com.fs.starfarer.combat.CombatMain- java.lang.IllegalArgumentException: Comparison method violates its general contract!
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.base/java.util.TimSort.mergeHi(TimSort.java:903)
at java.base/java.util.TimSort.mergeAt(TimSort.java:520)
at java.base/java.util.TimSort.mergeCollapse(TimSort.java:448)
at java.base/java.util.TimSort.sort(TimSort.java:245)
at java.base/java.util.Arrays.sort(Arrays.java:1515)
at java.base/java.util.ArrayList.sort(ArrayList.java:1750)
at java.base/java.util.Collections.sort(Collections.java:179)
at com.fs.starfarer.campaign.ui.intel.SortablePlanetList.recreateList(Unknown Source)
at com.fs.starfarer.campaign.ui.intel.SortablePlanetList.actionPerformed(Unknown Source)
at com.fs.starfarer.campaign.ui.intel.SortablePlanetList.<init>(Unknown Source)
at com.fs.starfarer.campaign.ui.intel.new.??O000(Unknown Source)
at com.fs.starfarer.campaign.ui.intel.new.sizeChanged(Unknown Source)
at com.fs.starfarer.ui.L.setSize(Unknown Source)
at com.fs.starfarer.campaign.comms.return.return.null(Unknown Source)
at com.fs.starfarer.campaign.comms.return.sizeChanged(Unknown Source)
at com.fs.starfarer.ui.L.setSize(Unknown Source)
at com.fs.starfarer.ui.thissuper.setSize(Unknown Source)
at com.fs.starfarer.ui.newui.L$7.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.n.buttonPressed(Unknown Source)
at com.fs.starfarer.ui.I.?00000(Unknown Source)
at com.fs.starfarer.ui.I.processInput(Unknown Source)
at com.fs.starfarer.ui.W.super(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:829)
167274 INFOsound.oo0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO- Creating streaming player for music with id
不会取名的屑 发表于 2024-2-10 11:06
开局速建一个殖民地,按下e,标准结局
[游戏日志]
解决了(给recreateList加了try catch阻止报错),不过这个可能不是PEI的锅的说 楼主能说说换成这个性能由提升吗 提升大概有多大呢 97呢,97咋办啊 换成这个之后,性能确实有一定提升,但是好像更吃内存了。(这说不准,更像是低内存情况下更容易报错了)如果你是重度模组玩家,记得改内存大小。
https://pic.imgdb.cn/item/65dad9f99f345e8d0316120c.png开局后固定时间崩溃。估计是和别的模组奇奇怪怪的冲突。值得一提的是不加内存的话开局就崩了,把内存加到十g之后就过几年崩溃,另外启动时有概率崩溃。崩溃时是会直接一股脑的把一堆模组文件名都吐出来
### 游戏信息
游戏版本: 0.96a-RC10
### 系统信息
操作系统:Microsoft Windows 11 家庭中文版
版本:10.0.22621 暂缺 Build 22621
总可用内存:`31.74G`
**警告:未找到游戏默认Java运行时**
虚拟机参数:java.exe -XX:MaxGCPauseMillis=50 -Xverify:none -Djava.library.path=native\windows -Xms10g -Xmx14g -Xss2m -Dcom.fs.starfarer.settings.paths.logs=. -Dcom.fs.starfarer.settings.paths.saves=../saves -Dcom.fs.starfarer.settings.paths.screenshots=../screenshots -Dcom.fs.starfarer.settings.paths.mods=../mods --add-opens=java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-opens=java.base/sun.net=ALL-UNNAMED --add-opens=java.base/sun.net.util=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/sun.net.www=ALL-UNNAMED --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED -classpathjanino.jar;commons-compiler.jar;commons-compiler-jdk.jar;starfarer.res.jar;starfarer.api.jar;starfarer_obf.jar;jogg-0.0.7.jar;jorbis-0.0.15.jar;json.jar;lwjgl.jar;lwjgl_util_applet.jar;jinput.jar;lwjgl_test.jar;log4j-1.2.9.jar;lwjgl_util.jar;fs.sound_obf.jar;fs.common_obf.jar;xstream-1.4.10.jar;javassist.jar;../glassfish5/glassfish/lib/javaee.jar-javaagent:ParticleEngineInject_PreMain.jar com.fs.starfarer.StarfarerLauncher
堆栈初始大小(`-Xms`):`10240m`
堆栈最大大小(`-Xmx`):`14336m`
### Mod信息
|Mod名称 |Mod版本 |已启用 |
|-|-|-|
|LazyLib |2.8 |是 |
|zz GraphicsLib |1.8.0 |是 |
|MagicLib |1.2.0 |是 |
|178's Misc Flags |1.0 |是 |
|[星系] 核心星域星系添加 | |是 |
|A New Level of Confidence |40 3.1 Fast|是 |
|AoTD - 尘世浮生 |1.0.7 |是 |
|AoTD - 惊蛰行动 |1.2.0 |是 |
|AoTD - 重握星辰 |0.0.4 |是 |
|AoTD - 问道圣殿 |1.6.9 |是 |
|Aptly Simple Hullmods |1.5.5 |是 |
|Automated Commands |1.4 |是 |
|cjy的玩具箱-势力争霸拓展 |0.0.7c|是 |
|cjy的玩具箱 |0.4.0c-fix|是 |
|cjy的玩具箱附属:磁暴线圈 |0.0.0-fix|是 |
|CK 工业 |2.0.2 |是 |
|Combat Activators |1.1.1 |是 |
|Console Commands |2023.5.05|是 |
|Enable TranspONder 开启"应答器" |0.1.4 |是 |
|Eos曙光 |0.01.1|是 |
|Exotica Technologies |1.8.4 |是 |
|FSF军事公司|4.4 |是 |
|Gensoukyou Manufacture [幻想工造] |0.8.1_rc1, in dev|是 |
|Grand Colonies 更大的殖民地 |2.0.d |是 |
|Hyperdrive 超空间跳跃 |2.3.1 |是 |
|Industrial Evolution 工业革命 |3.3.d |是 |
|J GEEK Federation |0.8.1 |是 |
|Lost Sector 失落星域 |0.6.1c|是 |
|LunaLib |1.8.2 |是 |
|MOD溯源 |1.2.2 |是 |
|More Military Missions 军事任务扩展 |0.3.3 |是 |
|NPC殖民地防御增强 |1.0.1 |是 |
|omega_core_drop |1.0 |是 |
|Particle Engine |0.71 |是 |
|ParticleEngineInject |0.0.1 |是 |
|Random Assortment of Things |1.5.11|是 |
|Scan Those Gates 扫描那些星门 |1.5.6 |是 |
|SimpleIndustryOptionProvider 简单的工业设施选项|1.0.1 |是 |
|Slightly Better Tech-Mining 更好的技术挖掘|2.7.3 |是 |
|SpeedUp |1.0.0 |是 |
|Stellar Networks |3.1.3 |是 |
|Substance Abuse 畅饮美酒 |1.1.a |是 |
|Terraforming & Station Construction 地貌改造 & 空间站建设|8.4.5 |是 |
|timeless |0.01 |是 |
|Too Much Information |0.98 |是 |
|United Aurora Federation |0.7.4a1 |是 |
|Unusually Gullible Hullmods |0.5.0-RC1|是 |
|WhichTMI |1.1.0 |是 |
|人之领设备迁移&建设工程处 |1.0.1 |是 |
|军官升级技能更多选择 |1.1 |是 |
|势力争霸 |0.11.1|是 |
|博尔肯基金会 |0.7.2 |是 |
|卢德拓展 |1.2.6b|是 |
|卢德拓展IED |1.2.6 |是 |
|复活十字 |1.0 |是 |
|女武神组织 |3.2.1 |是 |
|威胁渐显 Emergent Threats |0.4.1 |是 |
|威胁渐显: 第九战斗群 复兴 Emergent Threats: IX Revival|0.4.0 |是 |
|少女星域 |1.1.5 |是 |
|战斗骚话 |1.13.2|是 |
|打捞舰船拓展 Salvage Ship Expansion |0.3 |是 |
|无人舰队拓展 & 幽灵部队 |0.5.3 |是 |
|星系检索网络汉化 |3.1.3 |是 |
|星舰传奇 |2.4.6 |是 |
|星际帝国 |2.6.3 |是 |
|未殖民星系扩展 |0.3.4 |是 |
|标量科技解决方案 |0.9 |是 |
|武器&战机逆向实验室 - 工业革命 扩展 |1.0.1 |是 |
|沃尔科夫工业集团 |1.6.1c|是 |
|泰兰船包 |1.2.6 |是 |
|海盗拓展 |1.8.1 |是 |
|清理星域 |0.2.4 |是 |
|燃料虹吸 |1.3.0 |是 |
|穿越者设计局 |1.6.4 |是 |
|系统标识 |0.1.7-RC3|是 |
|羊头航务局 |1.8.5 |是 |
|羊头航务局装配Li解|1.0.0 |是 |
|自用远行星号音乐 |1.1 |是 |
|舰船/武器拓展 |1.15.0|是 |
|舰船目录 / 装配编辑器 [~Ship Catalogue / Variant Editor]|1.8.2 |是 |
|舰船逆向 扩展补丁 |1.0.0 |是 |
|舰队行动历史 |1.0.10|是 |
|蓝海渔业 |0.99A.0 |是 |
|详细战斗报告 |5.3.3 |是 |
|趋光议会 |1.3.0 |是 |
|这是破船-真破船 |1.1.0 |是 |
|酒品配方获取扩展 |1.0.0 |是 |
|重生 |2.2.0 |是 |
|重生规则拓展 |1.2.0 |是 |
|风险矿业公司 |0.3.6b|是 |
|高质量舰长 Quality Captains |1.5.3 |是 |
|魔女城塞 |0.8b-Rc1|是 |
(以上内容由 远行星号 报错信息收集工具 自动生成,生成工具版本 `1.1.2`).
[游戏日志]
142048 INFOsound.oo0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO- Cleaning up music with id
142128 INFOsound.oo0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO- Creating streaming player for music with id
142129 INFOsound.H- Playing music with id
142912 ERROR com.fs.starfarer.combat.CombatMain- java.lang.IllegalArgumentException: Comparison method violates its general contract!
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.base/java.util.TimSort.mergeHi(TimSort.java:903)
at java.base/java.util.TimSort.mergeAt(TimSort.java:520)
at java.base/java.util.TimSort.mergeCollapse(TimSort.java:448)
at java.base/java.util.TimSort.sort(TimSort.java:245)
at java.base/java.util.Arrays.sort(Arrays.java:1515)
at java.base/java.util.ArrayList.sort(ArrayList.java:1750)
at java.base/java.util.Collections.sort(Collections.java:179)
at kotlin.collections.CollectionsKt__MutableCollectionsJVMKt.sortWith(MutableCollectionsJVM.kt:42)
at data.scripts.hullmods.aEP_Tugboat.advanceInCampaign(aEP_Tugboat.kt:56)
at com.fs.starfarer.campaign.fleet.FleetData.syncIfNeeded(Unknown Source)
at com.fs.starfarer.campaign.fleet.FleetData.sort(Unknown Source)
at com.fs.starfarer.campaign.fleet.FleetData.sort(Unknown Source)
at com.fs.starfarer.api.impl.campaign.fleets.FleetFactoryV3.createFleet(FleetFactoryV3.java:468)
at com.fs.starfarer.api.impl.campaign.submarkets.BaseSubmarketPlugin.addShips(BaseSubmarketPlugin.java:530)
at com.fs.starfarer.api.impl.campaign.submarkets.BaseSubmarketPlugin.addShips(BaseSubmarketPlugin.java:481)
at com.fs.starfarer.api.impl.campaign.submarkets.MilitarySubmarketPlugin.updateCargoPrePlayerInteraction(MilitarySubmarketPlugin.java:71)
at exerelin.campaign.submarkets.Nex_MilitarySubmarketPlugin.updateCargoPrePlayerInteraction(Nex_MilitarySubmarketPlugin.java:15)
at stelnet.board.query.provider.MarketProvider.updateSubmarkets(MarketProvider.java:71)
at stelnet.board.query.provider.MarketProvider.updateMarket(MarketProvider.java:55)
at stelnet.board.query.MarketUpdater.updateMarket(MarketUpdater.java:86)
at stelnet.board.query.MarketUpdater.advance(MarketUpdater.java:47)
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)
已经确定了,就是这个模组或者Java的问题,我换成隔壁的Java21之后就没问题了
不想起名字 发表于 2024-2-25 20:50
已经确定了,就是这个模组或者Java的问题,我换成隔壁的Java21之后就没问题了
...
data.scripts.hullmods.aEP_Tugboat
报给这个船插所在模组 https://pic.imgdb.cn/item/65dc78439f345e8d0388c7c7.png居然是fsf,我去问问
### 游戏信息
游戏版本: 0.96a-RC10
### 系统信息
操作系统:Microsoft Windows 11 家庭中文版
版本:10.0.22631 暂缺 Build 22631
总可用内存:`31.63G`
**警告:未找到游戏默认Java运行时**
虚拟机参数:java.exe -XX:MaxGCPauseMillis=50 -Xverify:none -Djava.library.path=native\windows -Xms8g -Xmx8g -Xss2m -Dcom.fs.starfarer.settings.paths.logs=. -Dcom.fs.starfarer.settings.paths.saves=../saves -Dcom.fs.starfarer.settings.paths.screenshots=../screenshots -Dcom.fs.starfarer.settings.paths.mods=../mods --add-opens=java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-opens=java.base/sun.net=ALL-UNNAMED --add-opens=java.base/sun.net.util=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/sun.net.www=ALL-UNNAMED --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED -classpathjanino.jar;commons-compiler.jar;commons-compiler-jdk.jar;starfarer.res.jar;starfarer.api.jar;starfarer_obf.jar;jogg-0.0.7.jar;jorbis-0.0.15.jar;json.jar;lwjgl.jar;lwjgl_util_applet.jar;jinput.jar;lwjgl_test.jar;log4j-1.2.9.jar;lwjgl_util.jar;fs.sound_obf.jar;fs.common_obf.jar;xstream-1.4.10.jar;javassist.jar;../glassfish5/glassfish/lib/javaee.jar -javaagent:ParticleEngineInject_PreMain.jar com.fs.starfarer.StarfarerLauncher
堆栈初始大小(`-Xms`):`8192m`
堆栈最大大小(`-Xmx`):`8192m`
### Mod信息
|Mod名称 |Mod版本 |已启用 |
|-|-|-|
|LazyLib |2.8 |是 |
|zz GraphicsLib |1.8.0 |是 |
|MagicLib |1.2.0 |是 |
|LunaLib |1.8.3 |是 |
|Particle Engine |0.71 |否 |
|ParticleEngineInject |0.0.1 |否 |
(以上内容由 远行星号 报错信息收集工具 自动生成,生成工具版本 `1.1.2`).
[游戏日志]
14 INFOcom.fs.starfarer.loading.LoadingUtils- Loading JSON from [../mods/enabled_mods.json]
15 INFOcom.fs.starfarer.settings.StarfarerSettings- Loading settings
15 INFOcom.fs.starfarer.loading.LoadingUtils- Loading JSON from
56 ERROR com.fs.starfarer.StarfarerLauncher- java.lang.IllegalArgumentException: Comparison method violates its general contract!
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.base/java.util.TimSort.mergeLo(TimSort.java:781)
at java.base/java.util.TimSort.mergeAt(TimSort.java:518)
at java.base/java.util.TimSort.mergeForceCollapse(TimSort.java:461)
at java.base/java.util.TimSort.sort(TimSort.java:254)
at java.base/java.util.Arrays.sort(Arrays.java:1441)
at java.base/java.util.Arrays$ArrayList.sort(Arrays.java:4405)
at java.base/java.util.Collections.sort(Collections.java:179)
at com.fs.graphics.DisplayManager.new(Unknown Source)
at com.fs.starfarer.launcher.opengl.GLLauncher.detectResolutions(Unknown Source)
at com.fs.starfarer.launcher.opengl.GLLauncher.<init>(Unknown Source)
at com.fs.starfarer.launcher.opengl.GLLauncher.createUI(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.<init>(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.<init>(Unknown Source)
双击启动器瞬间跳出,提示“Comparison method violates its general contract”,甚至进不了启动器界面{:tieba_36:}。麻烦Z佬帮忙看看大概是怎么回事,辛苦!vmparams用的是你提供的主楼附件。glassfish5文件夹已解压到源文件夹,jre也已经替换。
显示已启用的这几个lib是在原版时启用的,事实上在装上PEI之后我能没打开过启动器……
Tick_Tock_Man 发表于 2024-2-26 20:44
[游戏日志]
14 INFOcom.fs.starfarer.loading.LoadingUtils- Loading JSON from [../mods/ ...
在启动参数中加入-Djava.util.Arrays.useLegacyMergesort=true试试
主贴提供的配置更新了 不想起名字 发表于 2024-2-25 14:20
开局后固定时间崩溃。估计是和别的模组奇奇怪怪的冲突。值得一提的是不加内存的话开局就崩了,把内存加到十 ...
具体来说是data.scripts.hullmods.aEP_Tugboat.advanceInCampaign函数中某个排序的执行时使用的比较函数不满足TimSort的需要 zender 发表于 2024-2-26 21:29
在启动参数中加入-Djava.util.Arrays.useLegacyMergesort=true试试
主贴提供的配置更新了 ...
### 游戏信息
游戏版本: 0.96a-RC10
### 系统信息
操作系统:Microsoft Windows 11 家庭中文版
版本:10.0.22631 暂缺 Build 22631
总可用内存:`31.63G`
**警告:未找到游戏默认Java运行时**
虚拟机参数:java.exe -XX:MaxGCPauseMillis=50 -Xverify:none -Djava.util.Arrays.useLegacyMergesort=true -Djava.library.path=native\windows -Xms6g -Xmx8g -Xss2m -Dcom.fs.starfarer.settings.paths.logs=. -Dcom.fs.starfarer.settings.paths.saves=../saves -Dcom.fs.starfarer.settings.paths.screenshots=../screenshots -Dcom.fs.starfarer.settings.paths.mods=../mods --add-opens=java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-opens=java.base/sun.net=ALL-UNNAMED --add-opens=java.base/sun.net.util=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/sun.net.www=ALL-UNNAMED --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED -classpathjanino.jar;commons-compiler.jar;commons-compiler-jdk.jar;starfarer.res.jar;starfarer.api.jar;starfarer_obf.jar;jogg-0.0.7.jar;jorbis-0.0.15.jar;json.jar;lwjgl.jar;lwjgl_util_applet.jar;jinput.jar;lwjgl_test.jar;log4j-1.2.9.jar;lwjgl_util.jar;fs.sound_obf.jar;fs.common_obf.jar;xstream-1.4.10.jar;javassist.jar;../glassfish5/glassfish/lib/javaee.jar-javaagent:ParticleEngineInject_PreMain.jar com.fs.starfarer.StarfarerLauncher
堆栈初始大小(`-Xms`):`6144m`
堆栈最大大小(`-Xmx`):`8192m`
### Mod信息
|Mod名称 |Mod版本 |已启用 |
|-|-|-|
|LazyLib |2.8 |是 |
|zz GraphicsLib |1.8.0 |是 |
|MagicLib |1.2.0 |是 |
|LunaLib |1.8.3 |是 |
|Particle Engine |0.71 |是 |
|ParticleEngineInject |0.0.1 |是 |
(以上内容由 远行星号 报错信息收集工具 自动生成,生成工具版本 `1.1.2`).
[游戏日志]
13 INFOcom.fs.starfarer.loading.LoadingUtils- Loading JSON from [../mods/enabled_mods.json]
14 INFOcom.fs.starfarer.settings.StarfarerSettings- Loading settings
14 INFOcom.fs.starfarer.loading.LoadingUtils- Loading JSON from
48 ERROR com.fs.starfarer.StarfarerLauncher- java.lang.IllegalArgumentException: Comparison method violates its general contract!
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.base/java.util.TimSort.mergeLo(TimSort.java:781)
at java.base/java.util.TimSort.mergeAt(TimSort.java:518)
at java.base/java.util.TimSort.mergeForceCollapse(TimSort.java:461)
at java.base/java.util.TimSort.sort(TimSort.java:254)
at java.base/java.util.Arrays.sort(Arrays.java:1441)
at java.base/java.util.Arrays$ArrayList.sort(Arrays.java:4405)
at java.base/java.util.Collections.sort(Collections.java:179)
at com.fs.graphics.DisplayManager.new(Unknown Source)
at com.fs.starfarer.launcher.opengl.GLLauncher.detectResolutions(Unknown Source)
at com.fs.starfarer.launcher.opengl.GLLauncher.<init>(Unknown Source)
at com.fs.starfarer.launcher.opengl.GLLauncher.createUI(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.<init>(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.<init>(Unknown Source)
使用LegacyMergesort之后的报错似乎是相同的{:tieba_11:}
加了这个参数之后。不会影响老存档吗?老存档依旧是报错。