Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Not yet directly against Wharf, and that is a fair comparison to add.

So far I benchmarked CAVS against full zstd/zip downloads, rsync wire transfer, rdiff, xdelta3 and bsdiff on real game builds. But since Wharf is itch.io’s own rsync-style patching protocol, it should definitely be included as a dedicated baseline.

I would not claim CAVS is better than Wharf without measuring it. My current view is that they solve related but slightly different problems: Wharf is a patching system for old→new transitions, while CAVS is a content-addressed delivery/cache layer focused on version streams, persistent cache reuse, resumable downloads, cache repair and CDN-friendly storage.

I’ll add a Wharf comparison to the benchmark plan. That would be the right way to evaluate it for itch.io workflows.

Admin

Wharf does two patching phases btw, there’s the initial rsync-style patch generated locally by butler for the person uploading. Then it does a second server side pass with bsdiff to generated optimized patch for players. You can run all these stages locally with butler, more info here: https://itch.io/docs/butler/offline.html

Keep me updated, curious to see how your project turns out.

Thanks, that’s really helpful. I had been studying some of the ideas behind Wharf already, especially the rsync-style phase, signatures, block ranges, and how the old version can be used as a source during reconstruction.

I wasn’t fully considering the offline butler flow and the optimized player-side patch generation, so I’m going to dig into that part next and run a proper comparison against the full pipeline, not just a Wharf-style baseline.

I’m also interested in seeing which ideas could fit naturally into CAVS without copying Wharf’s model directly, since I really like the design direction of Wharf. I’ll keep you updated as I test it more. Thanks again for the pointer.

Thanks again for the clarification — it helped a lot.

I updated CAVS after your comment. It now includes real `butler offline` comparisons using `butler diff/apply/verify`, plus SteamPipe-style analysis, pack layout diagnostics, route comparisons, Godot PCK certification, and a new `cavs certify` command that generates a full update report.

The project is still local-only — not a CDN or hosted service. The goal is to help developers test and understand game update behavior before shipping.

Website and guide:

https://orelvis15.github.io/cavs/

I’d really appreciate help testing it with real game builds. I don’t have enough varied game content to cover all cases, especially larger projects, different pack layouts, Godot PCKs, folders, DLC-like structures, or frequent content changes.