如何在GitHub Actions中用Web API密钥实现SteamCMD认证部署?
解决GitHub Actions中SteamCMD Steam Guard验证失败问题(改用Web API密钥部署)
前提准备
- 拥有Steamworks开发者权限,且账号已关联目标游戏的发布权限。
- 在Steamworks开发者面板生成Steam Web API密钥,确保密钥开启了
App Management类权限。 - 记录目标游戏的Steam App ID。
配置GitHub仓库密钥
在仓库的「Settings → Secrets and variables → Actions」中添加以下加密密钥:
STEAM_WEB_API_KEY:你的Steam Web API密钥STEAM_USERNAME:拥有游戏发布权限的Steam账号用户名STEAM_APP_ID:目标游戏的Steam App ID
修改GitHub Actions工作流
替换原有的SteamCMD账号密码登录逻辑,改用Web API密钥进行无交互登录:
jobs: steam-deploy: runs-on: ubuntu-latest steps: - name: 拉取代码与构建产物 uses: actions/checkout@v4 # 此处添加你的游戏构建步骤(如编译、打包) - name: 安装SteamCMD run: | sudo apt-get update && sudo apt-get install -y steamcmd - name: 推送至Steam run: | # 核心命令:用Web API密钥替代密码完成无交互登录 steamcmd +login ${{ secrets.STEAM_USERNAME }} "" ${{ secrets.STEAM_WEB_API_KEY }} \ +run_app_build ./path/to/your/build.vdf \ +quit env: # 传递App ID给构建配置文件(若build.vdf中未硬编码) STEAM_APP_ID: ${{ secrets.STEAM_APP_ID }}
关键注意事项
- 你的
build.vdf文件需正确配置:指定App ID、构建输出目录、发布分支等参数,路径要与工作流中的调用路径匹配。 - Steam Web API密钥需与
STEAM_USERNAME对应的账号绑定,且该账号必须在Steamworks中被授予目标游戏的发布权限。 - 若仍出现权限错误,检查Steamworks中API密钥的权限范围,确保勾选了与应用管理、发布相关的权限项。
内容的提问来源于stack exchange,提问作者stoic
相关产品推荐
相关产品推荐

