Bit torrent map downloads for CA downloader

Client operation

  • client checks your maps folder (using spring itself - unitsync) and creates torrents for all new maps
  • client can be given user name to automatically download maps for game which you join
  • client can optionally download all currently hosted maps
  • client allows you to upload torrents to central server (only those which are new)
  • client allows you to download maps using torrents from central server (only those you dont have)
  • client is limited to 5 downloads at once (to not overload the client network)

Background

  • server maintains list of "requests" - list of currently requested torrents - clients seed those requested torrents in turn
  • server maintains list of torrents - along with map hash and name
  • server maintains list of players who are currently in battles and maps of those battles
  • client stores torrents in spring/updater/torrents folder (named by map hash), incoming torrents in updater/incomaing and incoming map files in updater/incoming/maps
  • after map download is finished map is copied to spring but incoming copy is left there for seeding until you close program.