itch.io:使用bulter工具上传游戏并进行版本检查



对于不使用itch客户端的用户,是无法自动更新你的游戏的,因此需要在游戏内部内置版本检查,这样至少通知到用户,可以让用户选择手动更新
想要使用版本检查,不要用itch游戏页面的上传功能,从这里上传的游戏没有channel-name,因此无法请求到版本号。

需要使用butler工具进行上传,你也可以从itch客户端下载butler,这样可以保持最新版本
如果你想集成butler到你的CI(持续集成)管道,请点击这里查看详细说明

下载后需要设置环境变量,windows直接搜索环境变量然后添加刚才的安装路径到上面就可以了。Mac和linux的同学请点上面链接,里面有设置过程。



后面使用butler我也以windows上操作为准,其他系统略有变动不过基本不影响。

  • 打开CMD
  • 输入butler login登入itch账户
  • 进入项目目录输入butler push [directory] [user/game:channel] --userversion [version]

directory-项目目录-这里直接填写要上传的目录就可以,不需要将文件打包zip,那样反而更慢

user/game-你的用户名:上传的游戏名称,注意这里名称不是你的游戏名,而是你游戏页面显示的url名称,可能两个不太一样。当然你也可以写你的游戏id--在游戏编辑页面url最后的就是

channel-你上传的发布版本名称-通常是window,linux,osx等系统类型,比如windows-x64-demo这样

version-本次上传的版本号--这个必须填写,否则等下请求返回的是空值





如果上传后输出
connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

这表明网络原因上传失败,需要为cmd设置代理:set http_proxy=http://127.0.0.1:端口号上传成功后你应该能在游戏页面看到刚刚上传的文件,不同的是右边会多出一个绿色按钮,这个在普通上传是没有的

上传成功



点开可以看到详细信息

上传详细信息



有了这个之后,我们就能用http请求到游戏的最新版本号了


GET https://itch.io/api/1/x/wharf/latest


相关参数

channel_name: 如上面一样

game_id: id名称

target: user/game也和上面一样

成功后会收到一个JSON返回{ latest:"106"}


例子1

https://itch.io/api/1/x/wharf/latest?target=user/game&channel_name=win32-beta

例子2

https://itch.io/api/1/x/wharf/latest?game_id=123&channel_name=osx-final


你也可以直接在浏览器中输入上面的url进行测试。

最后集成到游戏里面就可以了!

Comments

Popular posts from this blog

活在当下-从尾巴摇狗的荒谬中解放自我

Metroidvania银河恶魔城游戏开发指南(一)

折衷主义建筑