# @seriousgaming/sdk 中文文档

规范地址：https://npmcn.com/package/%40seriousgaming/sdk/

版本：1\.6\.0
npm 元数据更新时间：2026-11-02T10:49:11.894Z
中文译文更新时间：2026-11-02T11:20:22.417Z
软件包许可：Apache-2\.0

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40seriousgaming/sdk
原文对照：https://npmcn.com/package/%40seriousgaming/sdk/?lang=original
项目主页：https://sdk.seriousgaming.com/

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：648 kB，192 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24
- 运行依赖：0 个
- peer 依赖：react ^19\.2\.6，react-dom ^19\.2\.6，@testing-library/react ^16\.3\.3
- 首次发布：2026-10-17T23:22:31.995Z
- 最新版本发布：2026-11-02T10:49:11.726Z
- 已发布版本数：12（近 12 个月 12 个）

## 中文简介

用于构建严肃游戏的SDK

## 安装

```sh
npm install @seriousgaming/sdk
```

也可以使用：`pnpm add @seriousgaming/sdk`、`yarn add @seriousgaming/sdk`、`bun add @seriousgaming/sdk`

## README

# @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` |
| `./testing` | `logicArgs`、脱机存根回调，以及 `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 是什么？

用于构建严肃游戏的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 和提交记录判断。

