将游戏上传到steamworks

    steamwork.NET对官方C++的SDK API接口进行了C#封装, 但这只是方便开发调用 API,  你的游戏仍需要使用官方的SDK工具才能进行上传操作。

当然,如果不用API,也是可以用SDK tool 来上传游戏的。


    <1.先在steamworks主页下载Steamwork SDK

    <2. 解压后的文件夹下寻找两个脚本,路径:tools\ContentBuilder\scripts

将第一个app文件重命名,1000 改成自己的游戏编号,第二个depot文件也重命名,1001 改成自己的depot编号。

(steamworks有游戏的app编号,一般最后一位数字都是0,而depot是游戏的版本编号,差不多这么理解吧,depot除最后一位数字外其余数字都与app编号相同,所以depot有多个,用最后一位数字(123456789)区分。比如要上传游戏的第一个版本,app编号就是1000,depot编号就是1001,第二个depot编号就是1002。)

    <3. 用笔记本的打开方式修改两个脚本的内容,
app的脚本:

第一行的 1000 改成自己的游戏app ID游戏编号1257870

最后一行两个 1001 改成自己的depot ID 编号1257871,就是把app游戏编号最后的 0 改成 1 。

depot的脚本:

把第二行的 1001 改成自己的depot编号。

找到上面的语句,把后面引号内的路径改成自己游戏所在的路径。不过我一般是把游戏复制放在SDK的content里:tools\ContentBuilder\content

    <4. 解压的文件里找到下面run_build.bat 右键它选择编辑,打开是

把其中的 account 改成自己的steam账户名,比如假如我的是  z888483880,password 改成自己的账户密码,假如是: mima196665661
还是那个 1000 改成自己的游戏app ID编号 , 比如我的是 1257870。保存后关闭。

    <5. 运行上面步骤的那个 run_build.bat ,然后就开始上传了。中间可能会停顿下,要求输入steam的令牌密码。

D:\funtime\steamwork\steamworks_sdk_147\sdk\tools\ContentBuilder>builder\steamcmd.exe +login z888483880 mima196665661 +run_app_build_http ..\scripts\app_build_1257870.vdf
Redirecting stderr to 'D:\funtime\steamwork\steamworks_sdk_147\sdk\tools\ContentBuilder\builder\logs\stderr.txt'
[  0%] 正在检查å¯ç”¨æ›´æ–°...
[----] 正在下载更新 (已下载 300,共 39,657 KB)...
[  0%] 正在下载更新 (已下载 2,680,共 39,657 KB)...
[ 97%] 正在下载更新 (已下载 39,657,共 39,657 KB)...
[100%] 下载完æˆã€‚
[----] 正在安装更新...
[----] 正在展开安装包...
[----] 正在清ç†...
[----] 更新完æˆï¼Œæ­£åœ¨å¯åŠ¨ Steamcmd...
CWorkThreadPool::~CWorkThreadPool: work processing queue not empty: 8 items discarded.
Redirecting stderr to 'D:\funtime\steamwork\steamworks_sdk_147\sdk\tools\ContentBuilder\builder\logs\stderr.txt'
[  0%] 正在检查å¯ç”¨æ›´æ–°...
[----] 正在验è¯å®‰è£…...
Steam Console Client (c) Valve Corporation
-- type 'quit' to exit --
Loading Steam API...OK.
Logging in user 'z888483880' to Steam Public ...

Enter the current code from your Steam Guard Mobile Authenticator app
Two-factor code: byrcg
Logged in OK
Waiting for user info...OK
[2020-02-22 11:50:02]: Starting appID  1257870 build (flags 0x0).
[2020-02-22 11:50:02]: Building depot  1257871...


Preparing update...
Building file mapping...
Scanning content.....
Uploading content
[2020-02-22 11:50:09]: Successfully finished appID 1257870  build (BuildID 47065346).

Steam>

接入问题:
 

*使用默认的appid 480可以获取到接口,替换为自己的appid报错steam api初始化失败?
应该是steam帐号里面没有该appid的游戏权限。

*Failed to load 'Assets/Plugins/x86_64/CSteamworks.dll' with error '找不到指定的模块。
还没找到解决办法

*下载报错 Steam安装失败(程序配置文件不可用)或 Failed to start game (invalid app config)
如果测试帐号可以下载安装,而黄色或者红色key不可安装,则是因为应用商店页面清单未完成并提交Valve审核,审核通过才可。具体可以参见steam开发者讨论区 https://steamcommunity.com/groups/steamworks/discussions/0/523897023725510452/

*如何只允许在Steam的某些地区销售?
需要联系Steam客服,说明限制地区和理由 https://partner.steamgames.com/home/contact

*如何测试应用?  
在后台申请红色激活码,使用steam通过激活码进行下载测试。
红色激活码(只能内部使用)、黄色激活码(外部使用)、透明激活码(发布后使用)

*.ico和icns文件如何制作?
使用ico制作软件如IcoFX制作多个尺寸的ico文件,在线做只能输出一个尺寸。需要尺寸16 32 48 64 128 256越多越好。

*Mac发布后,steam安装显示0bytes。
相关程序包与 DLC商店程序包、促销或特殊用途程序包中添加所有depot即可。

*发布mac后打开闪退
发布steam应用mac版本时,确保playersetting下的Mac AppStore Validation取消掉,不然steam版本打开会闪退

1.调用 SteamAPI_Init() 返回初始化失败
  测试时使用的自己的Steam账号一直提示失败,换成Steam开发者账号初始化成功;(猜测是产品未上线不能使用普通Steam账号)

2.调用SteamUser类的GetAuthSessionTicket获得的票据传给服务器向Steam后台验证一直验证失败
  原因是服务器验证时未按照文档要求将票据转成十六进制, 当然了客户端也可以将票据转成十六进制,再传给服务器,如何转换请点击此处


 

发布了85 篇原创文章 · 获赞 30 · 访问量 27万+

猜你喜欢

转载自blog.csdn.net/qq_42672770/article/details/104425473