serve
命令用于将指定的布局提供给CTA进行验证体验。
提供打包的触摸适配捆绑包(使用 pack
命令创建),或提供一组未打包的布局。
下表显示了serve
命令可使用的不同选项。
选项 | 说明 |
---|---|
--takx , --takx-file <takx-file> |
要使用的触控适配捆绑包的路径。 此参数或者 --layout-path 或 --takxconfig 参数是必需的。 |
--takxconfig , --takx-config-file <takx-config-file> |
表示要服务的捆绑包的 takxconfig.json 文件的路径。 此参数或者 --layout-path 或 --takx 参数是必需的。 |
--layout-path <layout-path> |
想包含在所服务的捆绑包中的根布局目录的路径。 此参数或者 --takx-file 或 --takxconfig 参数是必需的。 指定 --takxconfig 时,此参数将替代 takxconfig.json 文件中指定的路径。 |
--asset-path <asset-path> |
想包含在服务的捆绑包中的资产根目录的路径。 如果捆绑没有资产,则不需要此参数。 指定 --takxconfig 时,此参数将替代 takxconfig.json 文件中指定的路径。 |
--context file <context-file> |
想包含在捆绑包中的上下文文件的路径。 如果捆绑没有上下文,则不需要此参数。 指定 --takxconfig 时,此参数将替代 takxconfig.json 文件中指定的路径。 |
--default-layout <default-layout> |
默认布局的名称。 这应该与布局路径中的一个文件的名称相匹配。 指定 --takxconfig 时,此参数将替代 takxconfig.json 文件中指定的默认值。 |
--version <version> |
触摸适配捆绑的内容版本,如 1.0.0.0。 针对游戏提交给 Microsoft 的每个触控适配捆绑包的版本号必须比之前提交的任何触控适配捆绑包都大。 可通过调用 XGameStreamingGetTouchBundleVersion 获取流式传输游戏时使用的触摸适配捆绑包的版本号。 指定 --takxconfig 时,此参数将替代 takxconfig.json 文件中指定的版本。 |
--version-name <version-name> |
触摸适配捆绑的内容版本名称,如 “DLC 1”。 与版本号不同,版本名称是可选的,其格式没有要求。 可通过调用 XGameStreamingGetTouchBundleVersion 获取流式传输游戏时使用的触摸适配捆绑包的版本名称。 指定 --takxconfig 时,此参数将替代 takxconfig.json 文件中指定的版本名称。 |
--no-asset-optimization |
确保不优化高效存储和通信的资产。 如果已设置,则不修改资产。 |
--no-verify |
确保产生的触摸适配捆绑是有效的,并且未经验证 |
--language <language> |
IETF语言标签,用于将语言包含在所服务的生产捆绑中。 如果多次指定该参数,则包括所有提供的语言。 如果未指定参数,则所有在源目录中找到的布局和资产都会包含在服务的捆绑中。 指定 --takxconfig 时,此参数将替代 takxconfig.json 文件中指定的语言。 |
--port <port> |
为触控适配捆绑服务的端口。 默认端口为 9269。 |
--host <host> |
主机服务于触摸适应性捆绑。 默认主机为 0.0.0.0 ,这将在所有网络接口上启用捆绑。 使用 localhost 可以使服务器仅作为环回或特定IP来控制服务器在哪个接口上可用。 |
--certificate-file <certificate-file> |
.pfx 证书文件的路径,用于对服务器进行身份验证以获取安全的 HTTPS 请求。 此标志对于托管经过身份验证的 HTTPS 服务器的工具是必需的。 ⚠️ 注意:Web 内容测试应用程序 (CTA) 只能连接到使用 https 和此选项的远程旁加载服务器。 |
--certificate-password <certificate-password> |
访问证书数据所需的密码。 |
--password <password> |
用于对客户端进行身份验证的密码。 这是一个可选标志,用于在通过 https 旁加载时限制客户端对触控适配捆绑包的访问。 为了成功地对客户端进行身份验证,提供的密码必须与 GameStreaming 应用上客户端的开发人员设置中提供的密码匹配。 |
示例
使用以下代码示例在主机上提供触摸适配捆绑包。
在默认端口和主机上的布局路径中提供所有布局,并声明特定版本/版本名称
C:\>tak serve --layout-path C:\tmp\layouts --version 1.0.0.2 --versionName DLC2
Verifying touch adaptation bundle 'C:\tmp\layouts'.
Now listening on: http://0.0.0.0:9269
Application started. Press Ctrl+C to shut down.
Hosting environment: Production
Content root path: C:\tmp
仅通过 localhost 提供指定的触摸适配捆绑包
C:\>tak serve --takx-file C:\tmp\MyGameLayouts.takx --host localhost
Now listening on: http://localhost:9269
Application started. Press Ctrl+C to shut down.
Hosting environment: Production
Content root path: C:\tmp
证书生成说明
托管经过身份验证的安全服务器以旁加载触控捆绑包需要证书。 可以使用任何适当的 SSL 证书,但以下说明也将创建证书
获取脚本以从 Xbox 游戏流式传输工具 GitHub 生成自签名证书
a. 导航到上面的链接,选择“raw”,然后将脚本内容复制粘贴到本地计算机上的文档中
b. 或者,在 Powershell 中运行以下命令以下载脚本
Invoke-WebRequest -Uri https://raw.githubusercontent.com/microsoft/xbox-game-streaming-tools/main/touch-adaptation-kit/scripts/Create-SelfSignedCertificate.ps1 -Out ./Create-SelfSignedCertificate.ps1
注意
Create-SelfSignedCertificate.ps1 脚本仅适用于 Windows。 其他操作系统上可能存在用于生成有效自签名证书的工具
- 在 Powershell 中运行下载的脚本。
- 该脚本将提示输入密码来保护证书。 在此处输入密码来设置密码。 此密码将用作 serve 命令的 -certificate-password 标志的输入。
这将生成两个文件:
sideload.pfx
和sideload.cer
。sideload.pfx
证书文件的路径将作为输入传递给 serve 命令的 -certificate-file 标志。
信任不同客户端上的证书
将 .cer 文件加载到设备上。 这可以通过电子邮件、OneDrive、USB、ADB、AirDrop 等实现。以适用于给定设备的常用方式信任证书。
Windows
- 双击
sideload.cer
文件 - 选择“安装证书”。 这将打开证书导入向导。
- 选择“当前用户”作为存储位置。
- 在下一个窗口中,选择“将所有的证书都放入下列存储”,然后选择“浏览受信任的根证书颁发机构”。
Android
在 Android 设备上,导航到“设置”“ > 安全 > 高级 > 加密”& 凭据 > “”从存储安装”。
通过选择 CA 证书安装证书 ,然后浏览上
sideload.cer
一部分下载的文件安装后,可以在“受信任的凭据”>“用户”下查看此证书
有关详细信息,请参阅 Google 文档。
iOS
- 导航到 iOS 设备上的文件应用程序,将 .cer 文件安装到设备配置文件
- 应基于 .cer 文件配置文件名称生成新的配置文件。 可在“设置”>“常规”>“配置文件和设备管理”下找到此项。
- 安装证书。 证书签名应显示为已验证。
- 若要测试已安装的证书,请导航到“设置”>“常规”>关于>“证书信任设置”。 为刚安装的根证书启用完全信任。
有关详细信息,请参阅 Apple 文档。
示例
使用以下代码示例在主机上安全地提供触摸适配捆绑包。
在默认主机上的布局路径和 https 上的端口上提供所有布局
C:\> tak serve --layout-path C:\tmp\layouts --certificate-file C:\tmp\sideload.pfx --certificate-password "password"
Adding local loopback exemption for PC app connections.
OK.
Hosting starting
Now listening on: https://0.0.0.0:9269
Application started. Press Ctrl+C to shut down.
Hosting environment: Production
Content root path: C:\tmp
Hosting started
在对客户端进行身份验证时,在默认主机和端口上安全地提供布局路径中的所有布局。
C:\> tak serve --layout-path C:\tmp\layouts --certificate-file C:\tmp\sideload.pfx --certificate-password "certificatePassword" -password "password"
Adding local loopback exemption for PC app connections.
OK.
Hosting starting
User profile is available. Using 'AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
Now listening on: https://0.0.0.0:9269
Application started. Press Ctrl+C to shut down.
Hosting environment: Production