崩溃链接

崩溃链接

崩溃报告对于客户端和专用服务器都变得简单,支持上传到mclo.gs以及支持数据包。

本模组由 RoughDayGames 开发组带来。如需获取模组帮助,请加入 Discord:RoughDayGames

Crash link

 

崩溃报告,轻松搞定!

 

Crash Link 是一款轻量级模组,它与 mclo.gs 配合使用,让分享 Minecraft 崩溃报告和日志变得前所未有的简单。

Crash Link 现已支持在两种环境下工作:

• 客户端:帮助玩家上传客户端崩溃报告和日志 • 专用服务器:帮助管理员上传服务器崩溃报告和日志

同一个 jar 文件既可用于客户端实例,也可用于专用服务器。Crash Link 会自动检测运行环境并启动对应的系统。

在客户端,Crash Link 会在发生意外崩溃、强制关闭或异常会话后,在主菜单显示一个小型通知。玩家可以点击该通知来查看检测到的崩溃报告或日志文件,并将其上传至 mclo.gs。

在专用服务器上,Crash Link 可以在管理员加入时,若上次服务器会话意外结束,则向他们发出通知。管理员随后可以使用命令、可点击的聊天按钮或内置的原生面板来查看检测到的服务器崩溃报告或备用日志。

上传完成后,Crash Link 会创建一个 支持数据包。这是一个可直接用于技术支持的消息或文件,其中包含 mclo.gs 链接、崩溃/服务器上下文信息、所选文件详情、重复崩溃状态、裁剪上传状态、近期时间线以及可选的回答。

这意味着玩家、服务器所有者、整合包开发者以及技术支持团队无需翻找文件夹或猜测哪个日志文件是正确的,即可获取有用的崩溃信息。


Crash Link 的功能

Crash Link 可以:

• 检测上次 Minecraft/客户端会话是否意外结束 • 检测上次专用服务器会话是否意外结束 • 在异常会话后,于客户端主菜单显示一个小型通知 • 在异常服务器会话后,向 OP/管理员发送通知 • 让玩家查看并上传客户端崩溃报告/日志 • 让管理员查看并上传服务器崩溃报告/日志 • 查找最新且相关的崩溃报告 • 若没有崩溃报告,则回退使用最佳的可用日志文件 • 在上传任何内容前征求同意 • 将所选文件上传至 mclo.gs • 创建一个支持数据包 • 在客户端浏览器中打开已上传的报告 • 在服务器上传后显示可点击的 mclo.gs 链接 • 在客户端打开本地崩溃/日志文件夹 • 在专用服务器上显示带复制按钮的服务器文件夹路径 • 避免对同一个已处理的崩溃/日志文件重复询问 • 当新崩溃与之前处理过的崩溃相似时发出警告 • 保存上次会话中有用的崩溃上下文信息 • 让玩家或管理员回答快速支持问题 • 让整合包开发者配置自定义支持问题 • 若已配置,则显示可选的 Discord/GitHub/自定义支持按钮 • 在上传前安全地裁剪过大的日志文件 • 支持 OP 回退以及用于服务器管理员/权限系统的权限节点


客户端模式

当 Crash Link 安装在客户端时,它会像普通的 Crash Link 客户端助手一样工作。

当 Minecraft 在发生意外崩溃、强制关闭或异常会话后重新启动时,Crash Link 不会立即弹出一个大屏幕,而是显示一个小型主菜单通知。

玩家可以点击该通知来查看检测到的崩溃报告或日志文件。

在通知界面,玩家可以:

• 上传最新的相关崩溃报告 • 上传最新的日志或最佳的可用回退日志 • 复制一份可直接用于技术支持的数据包 • 在浏览器中打开已上传的 mclo.gs 报告 • 打开本地的崩溃/日志文件夹 • 回答快速支持问题 • 使用已配置的 Discord/GitHub 支持按钮

这有助于玩家快速向朋友、整合包开发者、服务器管理员或技术支持团队发送有用的崩溃报告。


专用服务器模式

当 Crash Link 安装在专用服务器上时,它会自动启动服务器端的 Crash Link 系统。

当服务器在意外停止、崩溃、强制关闭或异常会话后重新启动时,Crash Link 可以在管理员加入时向他们发送通知。

管理员随后可以使用:

• 可点击的聊天操作 • /crashlinkserver 命令 • 一个原版箱子风格的 CrashLink Server 面板

通过以上方式,管理员可以上传所选的服务崩溃报告或回退日志至 mclo.gs,并生成一个服务器支持数据包。

玩家无需安装该模组即可使用服务器端功能。由服务器为管理员处理崩溃/日志工作流程。


支持数据包

Crash Link 生成的不只是一个链接。

支持数据包可以包含:

• mclo.gs 崩溃/日志链接 • 最后已知状态 • 最后一个界面(客户端) • 世界类型(客户端) • 最后所在维度(客户端) • 自启动以来的时间(客户端) • 服务器停止前的运行时间(专用服务器) • Minecraft 版本 • Forge 版本(服务器数据包) • 已加载模组数量(服务器数据包) • 所选文件名 • 文件类型 • 重复崩溃状态 • 裁剪上传状态 • 裁剪原因(如果适用) • 近期会话/服务器时间线 • 玩家或管理员的支持问题回答(如已提供) • 已配置的支持链接(如已提供) • 明确说明这不是诊断结果的提示

客户端支持数据包示例:

崩溃报告: https://mclo.gs/xxxxxx

崩溃上下文: 最后状态:正在加入多人游戏服务器 最后一个界面:正在连接到服务器 世界类型:多人游戏 自启动以来的时间:38 秒 所选文件:crash-2026-05-04-client.txt 文件类型:崩溃报告 重复错误:看起来与之前的崩溃相似 裁剪上传:否

近期时间线: • 主菜单已打开 • 多人游戏界面已打开 • 开始加入服务器 • 连接界面已打开 • 会话意外结束

玩家回答: 你当时在做什么? 加入服务器

注意:这不是诊断结果。它只是结合了崩溃上下文和上传的日志。

服务器支持数据包示例:

服务器崩溃报告: https://mclo.gs/xxxxxx

支持消息: 将此数据包发送给服务器技术支持人员。

支持链接: Discord:https://discord.gg/example GitHub Issues:https://github.com/example/issues

服务器上下文: 服务器状态:玩家已加入 停止前运行时间:12 分 34 秒 Minecraft 版本:1.20.1 Forge 版本:47.3.0 已加载模组:124 个 所选文件:debug-1.log.gz 文件类型:服务器日志回退 重复错误:看起来与之前的服务器崩溃相似 裁剪上传:否

近期服务器时间线: • 服务器会话开始 • 服务器正在启动 • 服务器已启动 • 玩家已加入 • 服务器意外结束

管理员回答: 服务器停止前发生了什么? 一名玩家加入后不久,服务器就停止了。

注意:这不是诊断结果。它只是结合了服务器上下文、管理员回答和上传的日志。


崩溃上下文 / 飞行记录器

Crash Link 会在 Minecraft 或服务器停止前,保存上次会话中有用的事实信息。

在客户端,这可以帮助支持人员了解玩家在崩溃前正在做什么,例如:

• 停留在主菜单 • 正在加入多人游戏服务器 • 正在打开一个单人游戏世界 • 正在游戏中 • 正在打开菜单 • 最近切换了界面 • 最后所在的维度

在专用服务器上,这可以帮助支持人员了解服务器在崩溃前正在做什么,例如:

• 服务器正在启动 • 服务器已启动 • 玩家已加入 • 玩家已离开 • 服务器正常关闭中 • 服务器意外结束

Crash Link 不会声明崩溃的原因。它只是记录有用的上下文信息。


快速支持问题

上传后,玩家或管理员可以回答几个简单的支持问题。

客户端默认问题包括:

• 你当时在做什么? • 以前发生过这种情况吗? • 你添加了额外的模组、光影或资源包吗?

服务器默认问题包括:

• 服务器停止前发生了什么? • 最近是否更改过模组、配置、数据包或整合包版本? • 以前发生过这种情况吗?

在客户端,保存回答会更新已复制的支持数据包,因此玩家无需记住再次复制。

在服务器上,管理员的回答会被添加到生成的服务器支持数据包中。

━━━━━━━━━━━━━━━━━━━━

支持链接询问提示

在客户端,如果玩家在回答快速问题之前点击了“打开支持 Discord”或“打开 GitHub Issues”,Crash Link 会礼貌地询问他们是否想先回答问题。

玩家可以选择:

• 回答问题 • 直接打开 • 返回

如果他们先回答问题,Crash Link 会复制更新后的支持数据包,然后自动打开所选的支持链接。

这有助于玩家带着已复制并可直接粘贴的有用崩溃信息进入 Discord 或 GitHub。


服务器管理员加入通知

当专用服务器在异常会话后重启时,Crash Link 可以在管理员加入时向他们发送通知。

加入通知可以显示:

• 检测到的崩溃/日志文件 • 文件类型 • 重复崩溃警告(如果适用) • 可快速点击的操作

可点击的操作可以包括:

• 面板 • 状态 • 最新崩溃/日志 • 上传 • 忽略

这为管理员提供了一种快速处理崩溃的方式,无需手动搜索服务器文件。


CrashLink Server 面板

在专用服务器上,Crash Link 包含一个为游戏内管理员设计的简单原生面板。

该面板可以快速访问:

• 状态 • 最新崩溃 / 日志 • 文件夹 / 路径 • 支持问题 • 已保存的回答 • 上传至 mclo.gs • 忽略此崩溃/日志 • 关闭

该面板是快捷操作的 UI。命令仍然是真正的后端,因此服务器控制台和管理员命令仍然可以正常工作。


服务器命令

Crash Link Server 使用清晰的分组命令布局:

/crashlinkserver status 显示当前的 CrashLink Server 状态。

/crashlinkserver latest 显示所选崩溃/日志文件的详细信息。

/crashlinkserver paths 显示服务器文件夹路径和复制按钮。

/crashlinkserver panel 打开游戏内 CrashLink Server 面板。

/crashlinkserver upload latest 将选定的崩溃/日志文件上传到 mclo.gs。

/crashlinkserver support questions 显示快速支持问题。

/crashlinkserver support set <questionId> <answer> 保存或更新支持回答。

/crashlinkserver support review 显示已保存的支持回答。

/crashlinkserver support clear 清除已保存的支持回答。

/crashlinkserver admin ignore latest 忽略当前的崩溃/日志候选文件。


自定义支持问题

整合包开发者和服务器所有者可以配置自定义支持问题。

客户端配置文件: config/crashlink/settings.json

服务器配置文件: config/crashlink-server/settings.json

客户端示例:

{
  "supportMessage": "将此数据包发送到我们的支持 Discord。",
  "discordInviteUrl": "https://discord.gg/YOUR_INVITE_HERE",
  "githubIssuesUrl": "",

  "supportQuestions": [
    {
      "id": "official_server",
      "question": "你是否正在连接官方服务器?",
      "answers": ["是", "否", "单人游戏", "不确定"]
    },
    {
      "id": "added_mods",
      "question": "你添加了额外的模组吗?",
      "answers": ["否", "是", "不确定"]
    },
    {
      "id": "resource_packs",
      "question": "你最近更改过资源包或光影吗?",
      "answers": ["否", "是", "不确定"]
    }
  ]
}

服务器示例:

{
  "supportMessage": "将此数据包发送到我们的支持 Discord。",

  "supportQuestions": [
    {
      "id": "what_happened",
      "question": "服务器停止前发生了什么?",
      "answers": ["启动", "世界加载", "玩家加入", "游戏过程中", "不确定"]
    },
    {
      "id": "recent_changes",
      "question": "最近是否更改过模组、配置、数据包或整合包版本?",
      "answers": ["否", "是", "不确定"]
    },
    {
      "id": "happened_before",
      "question": "以前发生过这种情况吗?",
      "answers": ["第一次", "偶尔", "每次重启", "不确定"]
    }
  ]
}

自定义问题规则:

• 最多 5 个问题 • 每个问题最多 5 个预设答案 • 空白或有问题的条目将被忽略 • 如果没有配置有效的自定义问题,Crash Link 将使用默认回退问题 • 玩家可以在客户端使用“其他...”字段输入自己的简短回答 • 管理员可以在服务器上使用 support set 命令输入自定义回答

━━━━━━━━━━━━━━━━━━━━

整合包开发者的支持链接

Crash Link 包含支持链接的配置选项。

开发者可以配置:

• Discord 邀请/支持链接 • GitHub Issues 页面 • 自定义支持消息 • 自定义快速支持问题 • 自定义支持链接(专用服务器) • 自定义支持标签(专用服务器)

客户端支持链接配置位置: config/crashlink/settings.json

服务器支持链接配置位置: config/crashlink-server/settings.json

客户端示例:

{
  "supportMessage": "将此数据包发送到我们的支持 Discord。",
  "discordInviteUrl": "https://discord.gg/YOUR_INVITE_HERE",
  "githubIssuesUrl": "https://github.com/YOUR_NAME/YOUR_REPO/issues"
}

服务器示例:

{
  "supportMessage": "将此数据包发送给我们的技术支持团队。",
  "discordSupportUrl": "https://discord.gg/YOUR_INVITE_HERE",
  "githubIssuesUrl": "https://github.com/YOUR_NAME/YOUR_REPO/issues",
  "customSupportUrl": "https://example.com/support",
  "customSupportLabel": "支持页面"
}

如果配置了这些链接,Crash Link 会在成功上传后显示支持按钮。这有助于引导玩家或管理员直接前往正确的地方报告问题。

默认情况下,即使没有配置任何自定义链接,Crash Link 也能正常工作。


重复崩溃检测

Crash Link 可以避免对同一个已处理的崩溃/日志文件重复提示。

如果新出现的崩溃与之前处理过的崩溃具有相同或相似的错误特征,Crash Link 会发出警告,提示该错误看起来相似,而不是将其视为全新的错误。

当同一个问题多次发生时,这个功能会非常有用。

该警告不会声明原因。它只是说新的崩溃/日志似乎与已经处理过的某个相似。


超大日志处理

正常大小的崩溃报告和日志会被完整上传。

如果选定的崩溃/日志文件因过大而超出 mclo.gs 的限制,Crash Link 会保留日志的开头和结尾,只裁剪中间部分。

这有助于保留日志两端的重要信息:

• 开头通常包含 Minecraft 版本、Forge 版本、Java 版本、模组加载和环境详情 • 结尾通常包含实际的崩溃、错误或堆栈跟踪

如果发生了裁剪,上传的日志中会包含清晰的 Crash Link 说明。

本地的原始崩溃/日志文件永远不会被修改。裁剪仅影响上传的副本。


服务器路径和文件夹

由于专用服务器端仅在服务器端运行,因此无法在远程管理员的计算机上打开服务器机器的文件夹。

取而代之的是,它提供以下命令:

/crashlinkserver paths

该命令会显示:

• 游戏文件夹 • 崩溃报告文件夹 • 日志文件夹 • 选定的崩溃/日志文件

每个路径都带有可点击的复制按钮,以便管理员在需要时复制服务器路径。


服务器权限

在专用服务器上,Crash Link 默认使用 OP 权限。

它还包含权限节点支持,专为 FTB Ranks 和 LuckPerms 等权限/等级模组设计。

默认权限节点:

crashlinkserver.view 允许查看状态、最新崩溃/日志详情、路径、面板、问题和已保存的回答。

crashlinkserver.answer 允许回答支持问题。

crashlinkserver.upload 允许将崩溃/日志文件上传到 mclo.gs 并生成支持数据包。

crashlinkserver.admin 允许完全访问 Crash Link Server,包括忽略和管理员操作。

默认启用 OP 回退,并且可以配置。

注意:权限节点支持是为权限/等级模组设计的,但你应在自己的服务器上测试所选权限模组的设置。


隐私

Crash Link 不会静默上传日志。

当检测到异常的客户端或服务器会话时,在上传任何内容到 mclo.gs 之前,会征求玩家或管理员的同意。

支持回答只有在玩家或管理员保存时才会被添加。

本地的原始崩溃/日志文件永远不会被修改。

崩溃上下文和支持数据包的措辞避免进行诊断或归责。

当玩家或管理员选择上传崩溃报告或日志时,Crash Link 会使用公共的 mclo.gs API。


客户端和专用服务器支持

Crash Link 可以安装在客户端和专用服务器上。

• 在客户端,它运行客户端崩溃助手。 • 在专用服务器上,它运行服务器崩溃助手。

同一个 jar 文件可以在这两种环境中使用,Crash Link 会根据环境自动改变行为。

• 对于客户端崩溃,将 Crash Link 安装在客户端。 • 对于专用服务器崩溃,将 Crash Link 安装在专用服务器上。


为什么使用这个模组?

Crash Link 对以下人群非常有用:

• 整合包开发者 • 玩家 • 互助排错的玩家朋友们 • 服务器所有者 • 服务器管理员 • 技术支持团队 • 私人模组服务器 • 公共模组服务器

很多崩溃排查工作都是从找到正确的崩溃报告或日志文件开始的。这可能会使调试过程变得漫长,尤其是当玩家或管理员不确定该发送哪个文件时。

在客户端安装 Crash Link 后,流程会变得快得多:

  1. Minecraft 崩溃或意外关闭
  2. 重新启动 Minecraft
  3. 点击 Crash Link 通知
  4. 点击“上传”
  5. 根据需要回答快速支持问题
  6. 复制或发送支持数据包
  7. 发送给技术支持人员

在专用服务器安装 Crash Link 后,流程会变得快得多:

  1. 服务器意外停止
  2. 重启服务器
  3. 管理员加入并看到 CrashLink Server 通知
  4. 打开面板或运行命令
  5. 将崩溃/日志上传至 mclo.gs
  6. 根据需要回答快速支持问题
  7. 复制支持数据包路径
  8. 将数据包或链接发送给技术支持人员

备注

Crash Link 在模组加载后发生的崩溃或意外关闭时效果最佳。

非常早期的启动器、Forge、依赖项或模组加载过程中的崩溃可能在 Crash Link 有机会记录会话之前发生。

如果未找到崩溃报告,Crash Link 将尝试使用最佳的可用日志文件替代。

已知问题通知计划在未来的更新中添加,但目前尚未包含。

当玩家或管理员选择上传日志时,Crash Link 会使用公共的 mclo.gs API。

Crash Link 与 mclo.gs 或 Aternos 无关联,也未获得其认可。 (如果您希望该模组出现在其他模组加载器或 Minecraft 版本上,请在评论中说明。)