@seriousgaming/sdk

中文文档
1.6.0发布于 2026/11/02Apache-2.0TypeScriptES Module零依赖

用于构建严肃游戏的SDK

中文使用文档

@seriousgaming / sdk

Serious Gaming游戏导入的库:引擎、钩子、验证器、端点和tick控制器的类型和帮助器,以及各种用户界面的React包装器和钩子。

在CLI中构建、测试和运行一个游戏 @seriousgaming/sdk-tools。它的文档从 docs/index.md 在那个包裹里。

该包仅为ES模块:导入它。它的出口没有任何利润。 require 条件,所以CommonJS工具,解决与 require.resolve 没有找到它。

稳定

带有预发布后缀的版本,例如 1.0.0-alpha.1但是,它并没有这些保证:在它最终发布之前,它可以以任何方式改变。

从1.0.0开始,这些子路径遵循语义版本控制。对他们导出的任何内容的突破性更改都要等待主要版本的发布:

子路径它包含什么
.逻辑签名、包类型、 uses 回调,调度构建器,种子随机性,UTF-8助手, UndeclaredApiUseError
./ui用户界面包装器、它们的钩子和表面读取的类型
./ui/testing用于测试表面的渲染帮助器和模型,包括 mergingSetData 和 createMockBrand
./testinglogicArgs、脱机存根回调,以及 createMockTeam, createMockParticipant 以及它们的复数形式,用于在单元测试中直接调用逻辑函数
./projection可观察会话声明了开发服务器和CLI报告 PROJECTION_VERSION
./commands客户端发送给开发服务器的命令集,以及每个查询的回答

其中有两件事不在保证范围之内:

  • 成员标记 @internal 在其TSDoc中,例如开发服务器的故障注入(FaultKind, ArmedFault, armFault 和 disarmFault 命令和投影 faults). 它们在声明中发布,但可能在小版本中更改
  • React上下文对象 ./ui 出口(UserInterfaceDataContext 剩下的 *Context 名)。读取它们的钩子被盖住了;直接提供一个不是,因为小版本可能会向上下文的值添加必需的字段。测试一个表面 render* 助手在 ./ui/testing,为您提供所有上下文

将字段添加到投影或查询的答案中并不是一个突破性的更改,因此读者应该忽略它不知道的内容。 PROJECTION_VERSION 仅在主版本中进行更改。

./e2e 没有这样的保证。它拥有用于在开发服务器上测试游戏的剧作家助手,它可以跟踪开发主机并随之移动 sdk-tools.

iframe协议的主机部分(@seriousgaming/sdk-tools/host)和运行时帮助程序(@seriousgaming/sdk-tools/runtime)不是这个计划的一部分。它们是为严肃游戏平台和SDK自己的工具而存在的,而不是为游戏而存在的。

执照

Apache许可证,2.0版。看到 LICENSE 和 NOTICE.

版本与发布记录

@seriousgaming/sdk 共发布 12 个版本,首次发布于 2026/10/18;过去 12 个月发布了 12 个版本。

版本发布日期距今
1.6.0latest2026/11/021 天前
1.5.02026/10/295 天前
1.4.02026/10/277 天前
1.3.02026/10/268 天前
1.2.02026/10/268 天前
1.1.02026/10/259 天前

其他发布通道:next → 1.0.0-alpha.4。

关于 @seriousgaming/sdk 的常见问题

@seriousgaming/sdk 是什么?

用于构建严肃游戏的SDK

如何安装 @seriousgaming/sdk?

在项目目录运行 npm install @seriousgaming/sdk,或使用 pnpm add / yarn add / bun add。

@seriousgaming/sdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@seriousgaming/sdk 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@seriousgaming/sdk 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@seriousgaming/sdk 可以商用吗?

@seriousgaming/sdk 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@seriousgaming/sdk 还在维护吗?

最新版本 1.6.0 发布于 2026/11/02(1 天前);至今共发布 12 个版本,其中过去 12 个月发布了 12 个;首次发布于 2026/10/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。