Up to you whether you want to limit your answer to software that is possible/realistic

  • Hinori@scribe.disroot.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 days ago

    Let me first describe a very specific problem that I’d like to solve.

    So, I make mods for some games and VN (to be more specific, it’s unofficial translations). Sometimes I have to update it and release a new version (and sometimes I just release it in an ongoing mode, part by part, when the next chapter is translated). In either case, I have to ask my audience to manually re-download the entire archive and re-apply it on top of the game directory. Although I manage to make patches pretty lightweight, it still feels so wasteful to re-download the whole archive, even if only a few files are changed!

    So, I’d like to have something that could help upload these patches, distribute them, and apply them easily. It should be able to calculate the diff between the local copy and the remote origin, download only required files, and then apply them on top of the game directory. Something like Steam Depots, but standalone. And it should be easy to use, so rsync doesn’t count!

    Does all of this make sense, or am I making up nonsense?

      • Hinori@scribe.disroot.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 days ago

        Good question! I’d say there should be a mod manager on the receiving end. Something like Limo, that has both generic and some game-specific deployers. But that’s only part of what I want: there should also be a middleware to manage differential downloads between it and the origin.

        And when I think about it, it becomes clear that all of this has to be backed by P2P of some sort, as there is no such service that could reliably provide even a simple direct link to an arbitrary binary file, let alone allow you to run some odd directory diff protocol. Unless you have your own server, but this is obviously not an option. So it seems like P2P is the only viable option.

        So there should be at least 3 components: a mod manager, a directory diff middleware, and a P2P daemon, and they should all work together. And I just realized that the «directory diff middleware» sounds just like OSTree! But it should be able to pull/push from some kind of P2P remotes instead of HTTP ones. Or something like that.