图像版本创建

警告:这里的 API 文档适用于托管游戏服务器托管 (Clanforge)。如果您使用的是游戏服务器托管 (Multiplay),请参阅 游戏服务器 API 文档.

为由指定镜像差异 <diffid> 标识的镜像创建新的镜像版本。

如果镜像差异分析没有变化,它将创建一个完整镜像,而不是部分镜像。

最佳做法是通过将 full 变量设置为 1 来定期创建完整镜像,以防止镜像变得过大,这会导致在扩展到云时部署速度变慢。请参阅 镜像卷起频率.

https://api.multiplay.co.uk/cfp/v1/imageversion/create

方法

GET

请求参数

变量描述可选
diffid<diffid> 参数接受已完成镜像差异分析的 ID。
restart<restart> 参数接受一个布尔值,指定在更新完成后是否重新启动使用更新后的游戏镜像的所有游戏服务器。

如果设置为 1,游戏服务器托管 (Clanforge) 将在安装过程中停止所有受影响的游戏服务器。安装完成后,游戏服务器托管 (Clanforge) 将重新启动所有受影响的游戏服务器。

如果设置为 0 或省略,游戏服务器托管 (Clanforge) 不会在安装过程中停止受影响的游戏服务器。相反,游戏服务器会在退出后或如果分配上的配置文件发生更改后重新启动。

accountserviceid<accountserviceid> 是与指定资源关联的账户服务 ID (ASID)。请求标头中的凭据必须具有访问 ASID 的权限才能执行请求。
full<full> 参数是

如果设置为 1,游戏服务器托管 (Clanforge) 将创建一个完整镜像安装,而不是部分镜像安装。

如果省略或设置为 0,游戏服务器托管 (Clanforge) 将创建一个差异 (部分) 安装。

如果 <diffid> 指定的差异分析不包含任何差异,则必须将 <full> 设置为 1

如果尝试在上次安装为完整安装并且 <diffid> 不包含任何差异的情况下创建完整安装,则请求将失败。

game_build<game_build> 参数是一个可选参数,接受一个字符串值,该值标识游戏的内部构建。这以前是 game_version

如果给出,则在成功完成时,Clanforge 游戏版本的 <version> 字段将设置为指定的值。

force<force> 参数是一个布尔值,指定是否即使存在活动分配也要强制创建镜像版本。

如果设置为 1,游戏服务器托管 (Clanforge) 将在所有游戏服务器上创建镜像版本,即使游戏服务器具有活动游戏会话。

如果设置为 0 或省略,游戏服务器托管 (Clanforge) 只会在没有活动分配的游戏服务器上创建镜像版本。

默认情况下,如果您在发出此请求时存在活动分配,则它将失败。要绕过此行为并强制创建镜像版本,请将 force=1

install_at<install_at> 参数是表示作业预计开始时间的 Unix 时间戳。
disable_timeout<disable_timeout> 参数与 <disable_percentage> 结合使用,以便比默认的 4 小时超时时间更早地开始使机器失效。

此值是一个整数,表示分钟。

示例:值为 5 表示超时时间将为 5 分钟

disable_percentage<disable_percentage> 参数与 <disable_timeout> 结合使用,以便比默认的 4 小时超时时间更早地开始使机器失效。

此值是一个介于 0.00 和 100.00 之间的十进制值。

示例:使用 90.0 disable_percentage 和 20 disable_timeout。当舰队中所有机器的安装成功率达到 90% 时,所有在 20 分钟后未报告安装成功的机器将超时并被禁用。

响应字段

字段类型描述可选
imageversionid整数镜像的 ID
jobcreated整数作业创建时的 Unix 时间戳
joberror字符串指示作业错误的消息
jobeta整数表示作业预计完成时间的 Unix 时间戳
jobfailed整数指示作业是否失败的数字标志
jobprogress整数指示作业进度的 0 到 100 之间的百分比
jobstart字符串作业开始时的 Unix 时间戳
jobstateid整数指示作业状态的作业状态 ID
jobstatename字符串作业状态的名称
jobupdated整数作业最后更新时的 Unix 时间戳
success布尔值指示此请求是否成功的标志

示例请求

curl --location --request GET 'https://api.multiplay.co.uk/cfp/v1/imageversion/create?diffid=<diff_id>&restart=<restart>&accountserviceid=<accountserviceid>&install_at=<timestamp>&full=<full>&game_build=<game_build>' \
--header 'Authorization: Basic YOUR_AUTH_CREDENTIALS'

示例响应

{
    "imageversionid": <imageversionid>,
    "jobcreated": <jobcreated>,
    "joberror": <joberror>,
    "jobeta": <jobeta>,
    "jobfailed": <jobfailed>,
    "jobprogress": <jobprogress>,
    "jobstart": <jobstart>,
    "jobstateid": <jobstateid>,
    "jobstatename": <jobstatename>,
    "jobupdated": <jobupdated>
}