用 BuildPatchTool 上传到 Epic Games Store
March 10, 2024Less than 1 minute
用 BuildPatchTool 上传到 Epic Games Store
EGS 的上传走 BuildPatchTool(BPT),两步:UploadBinary 把构建传上去,LabelBinary 给它打个 Label(比如 Live)让它可见。命令参数全靠几个 ID,这些 ID 通常由发行方/客户在 Dev Portal 配好后提供。
网络访问需要放行 patcher-origin.s3.amazonaws.com。网络可能不稳定,建议命令套 retry,BPT 支持断点续传。
下面是写在流水线脚本(Groovy/bat)里的样子,变量保留原始占位格式:
def CloudDir = "E:\\BuildPatchTool_1.6.0\\TempCache"
def epiccmd = "E:\\BuildPatchTool_1.6.0\\Engine\\Binaries\\Win64\\BuildPatchTool.exe"
// 上传构建
bat"""
${epiccmd} -OrganizationId="${OrganizationId}" -ProductId="${ProductId}" -ArtifactId="${ArtifactId}" -ClientId="${ClientId}" -ClientSecret="${ClientSecret}" \
-mode=UploadBinary -BuildRoot=${env.BuildRoot} -CloudDir=${CloudDir} -BuildVersion="${params.BuildVersion}" -AppLaunch="${exename}" -AppArgs=""
"""
// 打 Label
bat"""
${epiccmd} -OrganizationId="${OrganizationId}" -ProductId="${ProductId}" -ArtifactId="${ArtifactId}" -ClientId="${ClientId}" -ClientSecret="${ClientSecret}" \
-mode=LabelBinary -BuildVersion="${params.BuildVersion}" -Label=Live -Platform=Windows
"""
几个 ID 在哪拿:
- OrganizationId — Dev Portal 里的组织 ID,开发方一般没权限,由客户提供。
- ProductId / ArtifactId — 在 Dev Portal 的产品页里。
- ClientId / ClientSecret — Dev Portal → Client Credentials 创建,见 https://dev.epicgames.com/docs/dev-portal/client-credentials。
反作弊参考
EGS 的反作弊(Easy Anti-Cheat)接入文档: