openage icon indicating copy to clipboard operation
openage copied to clipboard

Peer to peer mod sharing

Open TheJJ opened this issue 9 years ago • 9 comments

Although not much practical use currently, we should be able to share mods via p2p. We should use some DHT, e.g. use trackerless libtorrent, ...

We don't need some ugly forum where people post zip files but instead they share magic links.

Everyone posessing a mod is a potential seeder of course.

This should be part of our mod manager, not the main game. Further ideas? :grinning:

TheJJ avatar Aug 26 '15 02:08 TheJJ

Of course it will be necessary to have each mod stored in a self-contained 'pack' that can then be hashed to prevent version mixups and stuff like that.

Presumably you'll be building some sort of Python API that the mods can interact with?

zesterer avatar Aug 26 '15 11:08 zesterer

I am not sure what you mean with "mod manager". Do you want an external program to manage your mods? I think most users want to connect to game/server and auto download the mod(s) which are needed to play this game.

timo-42 avatar Sep 15 '16 11:09 timo-42

I don't think peer to peer mod sharing (included in openage) would be a good idea. Due to the small population of players and the fact that you need the application running to seed/leech, it seems unlikely that it would be efficient.

And usually, if I want to try a small mod, I don't want to spend days hoping to have someone to seed it.

elnabo avatar Sep 15 '16 11:09 elnabo

IMO defining an API (maybe just setting up a reference implementation) of a centralized mod site and then having a list of them defined in a user config file (with a default of the reference implementation) would be the way to go.

coffenbacher avatar Sep 15 '16 15:09 coffenbacher

I don't think that you should use DHT or anything torrent-like, there are mobile network operators in the world who limit or prohibit the use of torrents via DPI, to minimize traffic costs, with unlimited data plans. This would make problems for people who use that to connect to the internet. Unless you encrypt everything.

StepS- avatar Sep 17 '16 08:09 StepS-

I still think it's a good idea, we just need to have some nodes running all the time (for "approved mods"?). And yes, the traffic should be encrypted of course :) If we have a central server, sure, is basically the same thing, but I like the optional distributed approach.

With mod manager, I mean some python script integrated into openage that manages the download, update and activation of mods.

Mods consist of nyan files which add or change things in the game. Optionally, mods introduce Python scripts, but then they're considered "unsafe" as they may remove your $HOME. How we verify "trusted" mods with scripts is a thing to discuss.

TheJJ avatar Sep 26 '16 20:09 TheJJ

You could use IPFS for that. Have a look

teaalltr avatar Sep 29 '16 17:09 teaalltr

Thanks, that looks promising! Maybe somebody wants to fiddle with it, although it seems to exist for go only so far :)

TheJJ avatar Sep 29 '16 19:09 TheJJ

I feel like mod sharing should come with strong sandboxing guarantees (unsure if this is the case right now?). See the reluctance and issues minetest developers have encountered with their server-sent client-side mods.

MayeulC avatar Aug 25 '20 10:08 MayeulC