跳转到内容
我的世界XyeBBS论坛3群 进群吹水聊天!众多整合包作者、插件作者、玩家在内哦!不定时发福利,公布重要通知!
...

崩溃助手

(Crash Assistant)
在 Minecraft 崩溃后显示图形界面,立即展示并分析所有受影响的日志。
仅客户端实用

在 Minecraft 崩溃后,本模组会立即显示一个图形界面(GUI),展示所有受影响的游戏/启动器日志、崩溃报告或 hs_err 文件。它提供一键上传、复制链接及其他操作功能,使报告、调试和故障排除更加便捷。该模组能分析多种已知崩溃原因,并提供丰富的实用分析工具。若检测到 Minecraft 正在使用集成显卡而系统同时具备独立显卡时,它会发出警告。此外,它还包含针对许多常见问题的自动修复功能。

本模组仅限客户端使用。在服务器端运行时不会有任何效果。

如有任何疑问,欢迎加入我的 Discord 服务器:https://discord.gg/dV8WFrJZK6

功能特性:

图形界面(GUI):

GUI

支持拖放操作。您可以直接将文件从 GUI 拖动到任意位置,或通过拖动“可用日志文件:”标签来批量拖放所有日志文件。

日志分析:

自动分析日志中多种已知的崩溃原因。一旦检测到已知问题,将弹出对话框,显示问题描述及详细解决方案。

atio6axx

支持的分析类型:

hs_err(JVM 崩溃):

  • AlLibAlcCleanup(某些与内存分配相关的棘手问题)
  • atio6axx.dll(AMD 显卡驱动问题)
  • glfw.dll(通用显卡驱动问题)
  • ig7icd64.dll(旧版 Intel 集成显卡驱动问题)
  • InsufficientMemory(系统物理内存或交换空间不足)
  • JavaTooHigh(例如 Spark 模组在 Java ≥ 22 时崩溃)
  • jemalloc.dll(jemalloc 内存分配器相关问题)
  • jvm.dll(潜在硬件问题或 JVM 自身缺陷)
  • libglfw.so / libopenal.so(Linux 系统常见库问题)
  • libGLProgrammability.dylib(macOS 上不兼容的着色器包)
  • ~StubRoutines::SafeFetch32(Apple Silicon macOS 使用了错误的 JDK)
  • nglMultiDrawElementsBaseVertex / 0x0000(显卡驱动问题)
  • nvoglv64.dll(Nvidia 显卡驱动问题)

log / crash-report(日志/崩溃报告):

  • ConnectorIncompatibleFabricMods(检测使用 Sinytra Connector 时不兼容的 Fabric 模组,如 Sodium/Iris)
  • Create6Addons(Create 版本与其附加模组之间的不兼容问题,提供一键按钮查找所有不兼容模组)
  • CtovWithoutLithostitched(ChoiceTheorem's Overhauled Village 模组缺少必要依赖)
  • CurseForgeCorrupted(通过 CurseForge 启动器安装的 Minecraft/加载器文件损坏)
  • DiskSpaceEnded(系统磁盘空间耗尽)
  • DuplicatedMods(安装了同一模组的多个版本)
  • EpicFightAddons(Epic Fight 版本与其附加模组之间的不兼容问题,提供一键按钮查找所有不兼容模组)
  • FeatureOrderCycle(世界生成特性中存在循环依赖)
  • FerriteCoreNeighborTable(检测模组不当访问 FerriteCore 邻居表的问题,并提供临时配置 workaround)
  • GeckoLibOculusCompat(警告 GeckoLib Oculus Compat 模组在 Minecraft 1.20.1+ 已不再需要且会导致崩溃)
  • GroovyModLoaderIPv6(GML 因 IPv6 问题无法下载映射文件,包含一键自动修复功能,也可查找所有依赖 GML 的模组)
  • KubeJSDataPack(使用 KubeJS 加载数据包时出错)
  • LanguageProviderMismatch(模组要求不同版本的 Forge/NeoForge)
  • LegacyTooManyIds(在旧版 Minecraft(如 1.12.2)中超出方块/物品 ID 限制)
  • MixinApply(检测由 Mixin 冲突或错误引起的各类崩溃,包括缺失类检测及自动修复以定位依赖该缺失类的模组)
  • MissingEmbeddiumForOculus(安装了 Oculus 模组但缺少其必需依赖 Embeddium)
  • MissingIndium(某模组需要 Indium 以实现 Fabric Renderer API 兼容性但未安装)
  • MissingUnsupportedDependencies(Forge/NeoForge 检测到的一般性依赖冲突)
  • ModernFixWatchDog(内置服务器发生死锁)
  • NeoForgeVersion1_20_1(通知 NeoForge 在 1.20.1 版本已被弃用并导致大量崩溃,官方建议切换回 Forge)
  • ModuleFind / ModuleResolution(Java 模块系统错误,通常由依赖冲突引起,可立即识别引发问题的模组,无需手动二分查找)
  • Optifine(警告 OptiFine 已知会引发诸多兼容性问题,并推荐现代替代方案)
  • OutOfMemoryError(Minecraft 分配的 RAM 耗尽)
  • ResourceLocationException(资源名称包含无效字符,常因非英语系统设置导致)
  • Rubidium(警告 Rubidium 已被弃用并可能引发问题,推荐使用 Embeddium)
  • ServerConfigCorrupted(服务器端配置文件格式错误)
  • UnsupportedClassVersion(模组使用比当前运行环境更新的 Java 版本编译)
  • UsedByAnotherProcess(文件被其他程序锁定)
  • Version1_21(警告 Minecraft 1.21 版本已过时并引发诸多问题,建议升级至 1.21.1)

win_event(Windows 事件日志):

  • WasClosedByWindows(游戏冻结并被操作系统终止,通常发生在加载过程中用户进行干预时)

Codex 日志分析器集成:

  • 上传后,所有支持的日志将由 mclo.gs 的 Codex 日志分析器进行分析。有时 Codex 的消息对普通用户而言不够清晰,此时将显示包含修复指南的详细提示:
    • 出错的方块/实体

这显著减轻了模组包支持团队的负担,因为超过 75% 的问题属于常见且易于解决的类型。如需禁用特定分析项,可在配置文件中将其加入黑名单。

分析工具

Crash Assistant 提供一套强大的分析工具,可通过 GUI 菜单访问:

  • Create/Epic Fight 附加模组兼容性检查:扫描您的模组列表,找出与当前安装的 Create 或 Epic Fight 版本不兼容的附加模组。
  • MCreator 模组探测器:列出所有使用 MCreator 工具制作的模组。
  • 包/类查找器:搜索所有模组,定位包含特定 Java 类或包的模组。
  • Jdeps 依赖分析:识别哪些模组依赖于特定类或包,有助于调试 NoClassDefFoundError 类型的崩溃。

集成显卡检测:

检查游戏是否在拥有更强独立显卡的情况下仍运行于集成显卡,并发出警告。提供一键自动修复按钮,可配置 Windows 系统让 Java 使用正确的显卡。

IGPU

Intel 芯片漏洞警告:

检测您的 CPU 是否属于已知存在严重稳定性问题的 Intel 第 13/14 代型号。它会检查微码版本,并提供详细的警告与建议。

兼容性:

本模组专为最大兼容性和稳定性设计。它在独立进程中运行,等待 Minecraft JVM 停止。作为 Coremod(Forge)或 LanguageAdapter(Fabric/Quilt)极早期加载,因此甚至能捕获启动初期的崩溃。

一键上传所有日志并复制链接:

只需点击一次即可上传所有可用日志,并获得格式整齐的消息文本,便于直接粘贴到 GitHub 或 Discord。如果您是模组包作者,您将始终确信所有日志都是最新的且包含全部可用信息,无需再向用户索要额外文件。

加入预设链接的按钮:

模组包玩家可在崩溃后一键找到您的 Discord 服务器并请求帮助。结合极其简便的日志上传功能,这大大提高了单个崩溃事件的报告概率。对于单独下载或未配置的情况,它将引导用户前往相应模组加载器的官方 Discord 服务器。

模组列表记录:

每次模组包作者启动游戏时,本模组会自动保存当前的模组列表。您也可以通过 /crash_assistant modlist save 命令手动保存模组列表。其行为在模组包与单独下载场景中有所不同:

模组包场景:

生成的消息中包含终端用户相比官方模组包列表所添加、移除或更新的模组清单。

单独下载 / 模组包作者场景:

追踪自上次成功启动以来的模组列表变更。若您点击了“全部更新”按钮或添加了 problematic 模组却忘记具体是哪些,此功能将极为有用。

配置:

完全可配置:您可启用或禁用任意功能、更改 Discord 链接,并自定义标签、按钮等文本内容。

本地化:

fully localized(完全本地化)。目前支持的语言包括:

  • 英语
  • 德语
  • 俄语
  • 中文
  • 西班牙语
  • 意大利语

除日志输出外,无任何硬编码字符串。您可修改所有可见文本。如需了解更多本地化信息或希望添加新语言,请参阅 lang README。

崩溃命令:

/crash_assistant crash 提供三种选项:

  • game - 触发 Minecraft 崩溃并生成崩溃报告。
  • jvm - 触发 JVM 崩溃并生成 hs_err_pid 文件。
  • no_crash - 应用额外参数但不实际崩溃。

在指定崩溃目标后,还可使用以下附加参数:

  • --withThreadDump - 在日志中生成线程转储。
  • --withHeapDump - 生成堆转储文件。
  • --GCBeforeHeapDump - 在执行堆转储前先进行垃圾回收。

问题模组配置:

新增配置文件 problematic_mods_config.json,允许您将某些模组标记为与您的模组包不兼容。该配置有两种模式:检测到不兼容模组时可强制游戏崩溃,或仅向用户发出通知。添加该模组的终端用户将收到预设消息,解释为何不兼容,并提供一个按钮以便移除该模组。

合作伙伴

YourKit 以创新智能的工具支持开源项目,用于监控和分析 Java 与 .NET 应用程序。 YourKit 是 YourKit Java Profiler、YourKit .NET Profiler 和 YourKit YouMonitor 的开发者。

YourKit

隐私政策

日志仅在用户明确点击“上传”按钮时才会被上传,并直接发送至由 Aternos 运营的日志共享服务 mclo.gs。

发布前,mclo.gs 会自动脱敏敏感数据——如访问令牌、IP 地址、系统用户名等——确保分享安全。

关于数据保留期限、谁可访问日志以及您的 GDPR 权利等完整信息,请参阅其 隐私政策。

由于 mclo.gs 的移动界面可能不够便利,Crash Assistant 默认会通过 gnomebot.dev 对返回的 URL 进行封装(例如:https://mclo.gs/X → https://gnomebot.dev/paste/mclogs/X)。您可在设置中禁用此行为。gnomebot.dev 是由 Latvian Modder 创建的开源在线日志查看器,它从 mclo.gs 获取数据并以友好格式呈现给用户,在最后访问后会将粘贴内容缓存于内存中五分钟,随后自动清除。

Crash Assistant 本身完全运行于客户端——无自有服务器,也永远不会接收您的日志副本。

以上为简要隐私说明。完整隐私政策可在 Crash Assistant 内的“隐私”菜单中查阅。首次尝试上传日志时,Crash Assistant 将提示您阅读并接受我们的隐私政策。

资源外链

选择礼物

使用社区积分,为喜欢的作品送上一份支持

加载中...

打赏记录

感谢每一位送出礼物的社区成员

0 次支持0 积分
正在加载内容…