Posted: 04 Jun 2006, 20:36
I don't think including (and hence downloading) everything by default is a very good idea. It's isn't scalable in any way: causes much concentrated traffic on FU/spring/your servers when lots of noobs start using the game, many players don't play all mods (I for one only play XTA seriously, just don't feel like learning another mod [but I did download quite some!]).
Some tool equal to linux package management software, but for mods/maps would be ubercool tho: start tool, click mods, select AA+xect vs. mynn, click install et voilà, another set of mods downloaded.
Obviously when this is set up and properly working, it's zero work to link it to the lobby. Then just make the "More maps" and "more mods" buttons somewhat bigger and you're done.
As for the technical implementation, if you want to do it quick 'n dirty 'n easy to setup, just design a server side directory tree layout which is fully downloadable through http or ftp protocols (possibly by just storing files somewhere and hosting a 'packages' file, which is a list of all mods/maps available [name, description, version, url to screenshot, url to file]), then hack a client together which essentially just is a ftp/http client (browser), but with an uber simplified interface: can only download, can't go to different servers, etc.
Also add an update button which compares 'version' field of installed stuff with 'version' field in 'packages' files fresh from server, and redownloads plus installs updates. To get even closer to your original post, add a standalone cmdline app which can optionally be run on windows logon and download all updates.
^^ This is essentially how apt-get et al. for debian linux (derivatives) works.
If you want to save bandwidth, rsync could be an idea, but rsyncing 7zipped files won't be useful in any way because if one thing changes the whole file probably differs. In that case you may want to host all mods in extracted form plus 7zipped form on the server (which, in this case, is an http/ftp and rsync server), and implement some auto-re7zipping tool in your client. New installs of mods/maps could then be downloaded plainly over http/ftp, but updates could like: un7zip mod to a tmp folder, rsync tmp folder with new version of mod, 7zip tmp folder, install newly created 7z archive.
^^ This is sort-of what is being worked on for future versions of apt-get et al.
Some tool equal to linux package management software, but for mods/maps would be ubercool tho: start tool, click mods, select AA+xect vs. mynn, click install et voilà, another set of mods downloaded.
Obviously when this is set up and properly working, it's zero work to link it to the lobby. Then just make the "More maps" and "more mods" buttons somewhat bigger and you're done.
As for the technical implementation, if you want to do it quick 'n dirty 'n easy to setup, just design a server side directory tree layout which is fully downloadable through http or ftp protocols (possibly by just storing files somewhere and hosting a 'packages' file, which is a list of all mods/maps available [name, description, version, url to screenshot, url to file]), then hack a client together which essentially just is a ftp/http client (browser), but with an uber simplified interface: can only download, can't go to different servers, etc.
Also add an update button which compares 'version' field of installed stuff with 'version' field in 'packages' files fresh from server, and redownloads plus installs updates. To get even closer to your original post, add a standalone cmdline app which can optionally be run on windows logon and download all updates.
^^ This is essentially how apt-get et al. for debian linux (derivatives) works.
If you want to save bandwidth, rsync could be an idea, but rsyncing 7zipped files won't be useful in any way because if one thing changes the whole file probably differs. In that case you may want to host all mods in extracted form plus 7zipped form on the server (which, in this case, is an http/ftp and rsync server), and implement some auto-re7zipping tool in your client. New installs of mods/maps could then be downloaded plainly over http/ftp, but updates could like: un7zip mod to a tmp folder, rsync tmp folder with new version of mod, 7zip tmp folder, install newly created 7z archive.
^^ This is sort-of what is being worked on for future versions of apt-get et al.