Open TheJJ opened 9 years ago
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?
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.
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.
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.
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.
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.
Thanks, that looks promising! Maybe somebody wants to fiddle with it, although it seems to exist for go
only so far :)
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.
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: