itch
itch copied to clipboard
"Nothing that can be launched was found" for tar.gz archives
Due to itchio/butler#48, I'm pushing my GNU/Linux builds as tar.gz archives with butler to itch.io.
One example: https://dos.itch.io/odlot
However, since v25, the Itch app can't handle it.
Clicking "Show in file manager" reveals that there's just one unpacked tar.gz file placed into the game directory.
Launching the game works fine on Itch v23. Also, tar.gz builds uploaded manually via the Web work fine on both versions, only butler ones are problematic.
So, here's the situation:
- v23 was overzealous in extracting nested archives: it was happy to extract a .rar in a .zip, for example, and that caused problems further down the line
- v25 tries not to do that - it has one exception: a windows setup program in an archive will get run, not just extracted
- for the situation you describe (which I really, really don't recommend as a workaround - pushing a .tar.gz defeats patching almost completely - but then again I haven't implemented .tar.gz generation server-side yet, so..), itch v25 should notice that a single file has been pushed, download that instead, notice that it's a .tar.gz, and extract it.
If it doesn't do that, then it's a bug and that should be investigated. I'm thinking maybe it does that on initial install, but not when upgrading? I'll have to dig into this.
This was a fresh install - today was the first time I launched Itch client since that game was released ;)
itch v25 should notice that a single file has been pushed, download that instead, notice that it's a .tar.gz, and extract it.
It still doesn't work :(
Just encountered this issue with a different game. Selecting install in the itch app downloaded the tar.gz but did not extract the contents.
Running version 25.4.0 on an up-to-date Arch Linux install. If there are any other details I can provide, please let me know.
@hugga-bean I had to revert those changes - it broke other functionality.
My hope is to enable generation of .tar.gz archives in the backend soon, and then seamlessly extract .tar.gz
archive while pushing (like we do .zip
).
In the meantime, pushing .tar.gz
files with butler will 1) serve .tar.gz files to web downloaders 2) make it impossible to launch from the itch app.
Me and 1 other person are seeing this issue on itch 25.4.0, butler 15.17.3 and itch-setup 1.18.0 for one of the games I uploaded to itch. We're both running macOS.
Here's the .itch/receipt.json.gz if it's any help:
"game":{
"id":571621,
"url":"https://jontopielski.itch.io/portalbot",
"title":"Portal Bot",
"shortText":"challenging platformer about shooting portals",
"type":"html",
"classification":"game",
"embed":{
"gameId":0,
"width":960,
"height":540,
"fullscreen":true
},
"coverUrl":"https://img.itch.zone/aW1nLzMwMjE5OTkuZ2lm/315x250%23c/iERjAA.gif",
"stillCoverUrl":"https://img.itch.zone/aW1nLzMwMjE5OTkuZ2lm/315x250%23cm/zvcVVA.gif",
"createdAt":"2020-02-19T06:58:51Z",
"publishedAt":"2020-02-23T07:46:14Z",
"platforms":{
"windows":"all",
"linux":"all",
"osx":"all"
},
"user":{
"id":1525436,
"username":"jontopielski",
"displayName":"Jon Topielski",
"developer":false,
"pressUser":false,
"url":"https://jontopielski.itch.io",
"coverUrl":"https://img.itch.zone/aW1nLzI4NjcxNzAucG5n/100x100%23/c4ykaR.png",
"stillCoverUrl":""
}
},
"upload":{
"id":1982418,
"storage":"hosted",
"filename":"PortalBot.dmg.zip",
"displayName":"PortalBotMac.dmg.zip",
"size":23315960,
"channelName":"",
"build":null,
"type":"default",
"preorder":false,
"demo":false,
"platforms":{
"osx":"all"
},
"createdAt":"2020-02-23T07:37:52Z",
"updatedAt":"2020-02-23T07:39:56Z"
},
"build":null,
"files":[
"PortalBot.dmg",
"__MACOSX/._PortalBot.dmg"
],
"installerName":"archive"
}```
@jontopielski This is not an itch bug. A .dmg file is already a single-file archive, and you compressed it as a zip, so there's two layers of archives there, which itch no longer handles (it used to, and it was brittle, so it was removed).
Speaking of .dmg, itch v26 will remove support for those, along with Windows installers. But it'll have a gentler failure mode: instead of showing a "No launch targets found" dialog like that, it'll just open the install folder in the File Explorer / Finder / etc., and hopefully users will double-click their way to having a working copy of the game. "Launch" still won't do the right thing the next time, but there's no way to automatically detect that, so.
What I recommend to upload macOS app bundles is:
- Don't bother with a .dmg, or .pkg, or .tar.gz, or .7z, or .rar, or anything
- Just use
butler push
as recommended
This is still relevant... I push tar.gzs because I'm fairly certain that most downloads of my games happen via browser, so I optimize for that case. That said, the experience for GNU/Linux users in the app is very poor and has been for years now - you have to extract the archive manually, essentially breaking auto-updates as the user has to notice and extract updated versions by themselves.
This is pretty much the only pain point I'm having with itch, but it's so tremendous and it makes me sad that my users on my primary platform that I develop on have to go though such crazy hurdles :(:(:(
Either generating a tar.gz server-side (itchio/butler#48) or making the itch app do the right thing on its own (this issue) would make this a non-issue for me. itchio/butler#47 would be nice too, but it's not required as I can easily adjust my push workflow - right now its the users who often have to adjust theirs regardless of whether I push zips or tar.gzs, which is unacceptable.