1: yay pastebin, y u no use gist?
2: yet another proprietary format, we already have npm/brew/macports/deb/rpm/pear/etc etc I'm surprised nobody has opted to reuse one of those or base things off of standardised setups. For example we have rsync and svn which are being tied in, why faff with all of this middleman PR-Downloader rapid stuff?
3: I have yet to see a web based interface, what's wrong with writing a program that responds to some protocol URI in the browser and grabs the necessary stuff, so users can browse in Chrome/FF/safari then click a link and some hocus pocus installs it in the background and tells them when everything's done? It'd even allow lobbies to outsource the download process itself by just implementing browsing and update checking but not installation itself. I know people are like "oh noes webkit heavy weight" but webkit is probably loaded in the background in a browser when you launch already anyway. Any GUI doesn't need a flash applet and a java applet, some html5 1080p video and a canvas webgl element does it?
4: This wiki page is utterly inadequate: http://springrts.com/wiki/Dev:LobbyDownloadSystems
If you're not sure, how do you know which download system to implement?
5: The documentation is full of errors and hasn't been checked by the author.
Some can be fixed by editing, but when entire sentences are truncated because of wiki styling issues, it's obvious whoever wrote it never bothered to check what they'd put was actually readable.
There's no source for Plasma pointed out, UPQ is just for listing, no diagrams etc
E.g. most of this could have been implemented as primitive PHP + JSON:
Yet OCaml made it in there?
This could have been done using purely POST/GET, yet it used XML-RPC? http://springrts.com/wiki/Upq
And plasma decided to go for SOAP, a protocol notoriously awkward to use, that has been through so many definitions, redefinitions, and complex layers of abstraction, that expert SOAP developers struggle to understand exactly what is and isn't SOAP and what it is currently.
My only compliments are that UPQ was built in a language that a lot of us likely understand, and Rapid made a claim to some semblance of rsync
My Proposed Solution
We use git and the git libraries ( end users installing git? not a chance, so needs to be baked in ). We then build a C based library and a wrapper executable as a demonstration of how to use it.
We then refer to packages via IDs, use a json based data format to specify an ID, a filename, dependencies (IDs), a list of source in order of priority, and any associated meta in a sub object like author minimap etc. All done via the web. The source might be a WordPress install, a json text file, some python magic, how it works is irrelevant.
Actual transfer of the files would be done via HTTP or git. I suppose with a little work plasma and rapid sources could be defined too
This should take care of prepackaged zips, lua widgets ( every gist is also a git repo ), people who like svn ( github works fine with svn client ), people clueless about vcs ( zip up and upload somewhere with Apache running ), and people who like independence ( Ima put my XYZ Annihilation stuff at xyz.tomjn.com and let people add that as a source )