银河英雄子模组编辑器

银河英雄子模组编辑器

为X4:基石游戏的GALACTIC HEROES模组构建扩展,无需编写一行任务导演脚本——也不会写出一行错误的脚本。

v0.1.0 (2026-09-22) — 首个公开测试版

⚠ 这不是一个模组。不要将其解压到你的 extensions 文件夹中。

这是一个在桌面上运行的 Windows 程序,就像任何其他应用程序一样。它是一个用于为模组 Galactic Heroes 编写子模组工具——你描述你想要的舰队、英雄、消费计划和公司,它就会为你生成模组。

  • 你在这里下载的内容 — 一个 .exe 文件。可以放在你 PC 上的任何位置。你的文档文件夹、桌面、U 盘都行。
  • 它需要什么 — 已安装 X4 和 Galactic Heroes,因为它在启动时会读取模组的目录(原型、特长、军衔)以及游戏的飞船列表。
  • 它产出什么才是一个模组:一个包含 content.xml、一个任务导演脚本和一个文本页面的文件夹,编辑器可以直接为你将其放入你的 extensions 文件夹中。

⚠ Alpha 版本。 版本 0.1.0 是首个公开测试版。它经过了测试——每次构建都会运行 107 条验证规则、数百项自动化检查以及完整的界面走查——但它还很年轻,事物的命名和排列方式仍会变化。你现在编写的包之后可能需要进行小的修改。

►截图:英雄标签页,包含一个英雄、其特长及其舰队


§ 六分钟,从开始到完成

观看一个完整包的构建过程 (5:49)

一个舰队模板、一个带有特长的英雄、一个消费计划和一个公司,导出到游戏中成为一个可用的扩展——而且没有手写一行任务导演脚本。如果你只看这个页面上的一个内容,请看 02:54,那才是这个工具真正的用途。


§ 简而言之

Galactic Heroes 发布了注册窗口:一个独立的模组可以向其添加自己的英雄、舰队和公司,而无需编辑宿主模组的任何文件。这个接缝是有效的——但使用它意味着要编写任务导演 XML,而 MD 会悄无声息地失败。一个错误不会产生错误信息;它会产生一个模组,加载到出错的那一行就停止。

这个编辑器就是让这个接缝对不编写 MD 的人也可用的那一层:

  • 它从不让你输入脚本。 你填写字段并从列表中选择;脚本是生成的。
  • 每个列表都来自你自己的安装。 飞船类别和船体在启动时从游戏存档中读取——包括打包的——所以你的其他模组添加的飞船会直接出现在列表中。原型、特长和军衔从已安装的 Galactic Heroes 中读取,这意味着一个添加特长的模组不需要这个程序的新版本。
  • 107 条规则在整个包上运行,持续不断,有问题的字段会在你正在工作的页面上被标出。错误会阻止导出;警告会告诉你它在游戏中会是什么样子。
  • 字符串放在文本页面上,而不是脚本中。 玩家阅读的所有内容——名称、军衔、传记、公司名称——都写入 X4 文本页面,所以你的子模组可以在不触碰代码的情况下被翻译,并且页面编号会从已安装游戏及其模组已声明的所有页面中选取一个空闲的。

§ 它能编写什么

  • 舰队模板 — 英雄晋升所经历的飞船阶梯。旗舰、护卫舰,以及拥有自己类别和编队规模的第二层级。
  • 英雄 — id、名称、军衔、阵营、原型、舰队、传记,以及带有解锁条件的特长(从一开始、达到某个星级军衔等)。特长表下方的行是该模组对该特长的自身描述,从其目录中读取。
  • 消费计划 — 英雄按顺序用其收入做什么。顺序不是一种偏好:英雄会等待它负担不起的步骤,而不是跳到一个更便宜的步骤,所以移动一行会改变该计划上所有人正在储蓄的目标。编辑器会用文字向你复述该计划,以便你检查你构建的是否是你想要的。
  • 公司 — 超阵营投资基金,其恩惠、关系门槛和封闭市场都以起源阵营为关键。
  • 任务 — 公司向玩家提供的、针对其已经在战斗的对手的付费工作。

你不必从零开始。 Galactic Heroes 本身提供的每个模板都被列出,其中任何一个都可以作为起点复制到你的包中:副本会以你自己的包 id 重新加前缀,并在创建的瞬间通过验证。从一个已经能用的海军上将开始,改变阵营和飞船,你就有了自己的。

►截图:消费计划标签页,一个用文字复述的计划


§ 为什么是工具而不是文本编辑器

举一个例子,就是视频中的那个。输入一个带撇号的名称——Ka'hiri,一个完全合理的 Kha'ak 名字——生成的脚本包含一个字符串字面量,撇号会提前将其闭合。游戏会加载你的模组到那一行然后停止。没有错误,没有消息,日志中也没有指明你模组的条目:只有一个存在了一半的模组和一个行为异常的存档。

编辑器在文件被写入之前就把字段标红,并告诉你原因。

这样的规则有 107 条,每一条都是游戏本来会悄悄拒绝的事情——一个没有 id 的包、两个包在同一个 id 上冲突、一个基于击杀的特长放在一个从不离开空间站的英雄上、一个消费计划两次提到同一个特长、一个已被另一个模组占用的文本页面。


§ 安装和运行

  1. 解压到任意位置。 不要解压到游戏里。没有安装程序,也不会向注册表写入任何东西。
  2. 运行 GalacticHeroesEditor.exe。 你不需要安装 .NET——所有东西都在一个文件里。
  3. 要移除它,删除文件夹即可。(你保存的路径位于 %AppData%\GalacticHeroesEditor,如果你想连这些也一起删除的话。)

⚠ Windows 第一次会警告你。这是预期之中的。

你会看到一个蓝色的全屏框:“Windows 保护了你的电脑 — Microsoft Defender SmartScreen 阻止了无法识别的应用启动。” 点击更多信息,然后点击仍要运行

Windows 对每个没有用商业代码签名证书签名的程序都会显示那个框。它说明的是谁向证书颁发机构付了钱,而不是关于文件本身。那些证书每年花费数百美元,并且只颁发给注册公司;这是一个为模组社区提供的免费工具,所以它没有签名。

所以你不必仅凭信任接受这一点,这里有一个由大约七十个杀毒引擎对这一个确切文件的独立扫描,与其哈希值关联:

➜ VirusTotal 报告:<<发布前在此处粘贴 VIRUSTOTAL 链接>>

如果某个扫描器仍然有异议,那是一个有已知原因的误报:该程序作为一个自包含文件发布,整个 .NET 运行时都在里面,在启动时该文件会解压自身的一部分——一些引擎会将其视为可疑。这里没有任何东西被加壳、混淆或隐藏以逃避检测,将来也永远不会。这个页面上的第二个下载是同一个程序作为普通文件夹中的文件,扫描器对此要满意得多。


§ 首次运行

编辑器会自行查找三个文件夹,并在包标签页的底部显示它找到了什么。每个猜测都会先在你的磁盘上进行验证,所以一个框意味着“未找到”,绝不会是“找到了错误的东西”。

  • X4 游戏文件夹 — 会尝试常见的 Steam 和 GOG 位置。
  • Galactic Heroes — 会在 <X4 文件夹>\extensions\mlog_heroes\md 处尝试。如果你是从 Steam 创意工坊安装的模组,它不在那里:Steam 将订阅的模组保存在 ...\steamapps\workshop\content\392160\<一长串数字>\ 下。按浏览... 并选择该项目内的 md 文件夹;编辑器会记住它。
  • 导出文件夹 — 完成的包写入的位置。默认为 Documents\GalacticHeroesPacks

名为我们读取了什么的标签页会准确列出找到了什么、没找到什么,所以缺失的部分会被明确说明,而不是留给你去推断。


§ 产出什么

  • 一个 content.xml、一个任务导演脚本和一个文本页面 — 一个完整的、可安装的 X4 扩展。
  • 导出到游戏会直接将其放入你的 extensions 文件夹。它会拒绝导出到存放他人模组的文件夹中,并说明原因。
  • 第一次之后的每次导出都带有一个新的构建号,这样游戏就能告诉你它加载的是哪一个——不必再猜测你刚做的修改是不是正在运行的那个。
  • 你正在进行的工作会保存为一个 .ghpack.json 文件,放在你喜欢的任何位置,当有任何内容尚未保存到磁盘时,标题栏会带有一个 *

§ 要求

  • Windows 10 或 11,64 位。 没有 Linux 或 Mac 版本。(在 Proton 或 Wine 下未经测试——欢迎反馈。)
  • 已安装 X4: Foundations
  • 已安装 Galactic HeroesNexusSteam 创意工坊。编辑器会读取其目录;没有它就没有可供编写的对象。
  • 无需安装 .NET。

§ Alpha 版注意事项 — 诚实的清单

  • Steam 创意工坊安装不会被自动检测到。 模组文件夹是按 Nexus 安装的位置来猜测的。Steam 创意工坊订阅者需按上述方式手动指向该文件夹一次。
  • 它不会读回已完成的扩展。 你可以打开并编辑这个编辑器编写的任何包(一个 .ghpack.json),也可以从 Galactic Heroes 本身复制任何模板——但某人用 MD 手写的子模组无法在这里导入和编辑。
  • 命名和布局会变化。 这是一个我们打算持续改进的工具的 0.1.0 版,屏幕上的一些内容存在只是因为那是第一个可行的形式。
  • 它跟随 Galactic Heroes。 当宿主模组更改目录时,编辑器会自动获取;当宿主添加一种新的类别的东西时,这个程序需要更新才能编写它。
  • 未签名,如上所述——预计会出现 SmartScreen 框。

报告任何出问题的地方,以及——更有价值的——编辑器让你做但游戏随后拒绝的任何事情。每一个都是缺失的规则,而缺失的规则正是这个程序存在的目的所要消除的。


§ AI 使用披露

根据 Egosoft 的模组制作指南:这个编辑器是在 AI 辅助编码(Claude Code)下设计和实现的,其自动化测试通道在每次构建时都会运行。其中不包含 AI 生成的音频或视觉资产;应用程序图标是由源代码中包含的脚本以编程方式绘制的。所有内容均为原创。

上面链接的演示视频是由程序驱动其自身界面录制的,并使用合成语音解说——其中没有人类解说员。

§ 致谢

  • Claude — AI 代理 (Anthropic, Opus 5) — 设计 + 实现(通过 Claude Code)
  • mlog4 — 方向、设计与测试
  • Egosoft — 任务导演以及这个工具所基于的扩展格式

这个工具所为之构建的模组Galactic Heroes

文档mlog4.github.io/x4-modding-wiki/mods/galactic-heroes/editor

许可证:待定(可能是 MIT 或类似的宽松许可证)——将在 v1.0 之前设定。


这是 v0.1.0 — 这个工具的首个公开测试版。我最想听到的是它在哪里妨碍了你:一个你找不到的字段、一条在不该触发时触发的规则、一件你想编写却无法编写的事情。Nexus 评论或 GitHub issues。感谢你的尝试。