Page 7 of 9

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 12 Feb 2010, 18:33
by Licho
Yeah temp is from SD too, and selected packages - well i thought that perhaps some lobby would use this list too, so i put it to packages for now.

I used system temp before, but problem was with atomic "rename" of file from temp to target file in pool. If you have temp on different disk, move command is actually non-atomic copy that can fail in the middle resulting in corrupted files (under windows).

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 12 Feb 2010, 18:49
by hoijui
yeah makes sense.. and if nobody else uses it, nothing is lost really.

BrainDamage just explained to me the pool and packages stuff. guess the engine should take care of explaining these.

what about this scheme:

Code: Select all

cache/SD/Incoming
cache/SD/Resources
cache/SD/temp
?

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 12 Feb 2010, 19:36
by Licho
yeah /cache/SD sounds fine

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 12 Feb 2010, 20:05
by hoijui
nice :D

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 16 Feb 2010, 23:37
by Licho
1.5.0.0
======
* Rapid uses "streamer.cgi" which sends all files needed in one HTTP request instead of thousands. This should greatly improve reliability for people with crappy internets.
* Downloaded pool files are hash-checked again to be 100% sure.

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 17 Feb 2010, 13:28
by hoijui
running SpringDownloader under Linux.
works good so far :-)

2 issues:
1. when i put mods into rapid queue, and then close SD, before the downloads are finished, then start SD again, it wont go on downloading them, but they stay in the selected packages list.
2. When closing SD, with the X at upper right of the window, it stays in the tray icon, and the process is still running. but from there, i can not fully close it or maximize it again, i have to kill it through the console. This is using KDE, guess its the same with Gnome.

in spring master, i documented the pool format in the header comment for class ArchivePool. KAIK now use pool friendly cache and cfg file names. AAI has the same, plus is now usable at all with pool archived mods.

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 17 Feb 2010, 14:48
by Licho
Oh damn, it minimizes to tray on close click? I believed I have already fixed it for linux...
Somehow I cannot restore it after minimize :)

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 19 Feb 2010, 23:04
by Tobi
What is the format of versions.gz, modlist.gz and how is streamer.cgi used? (programmatically)

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 19 Feb 2010, 23:52
by det
modlist.gz is depreciated

versions.gz is a (gzipped) list of:

Code: Select all

tag,hex,dependencies,name
Where:
  • tag = what is used to display the tree in SD
  • hex = the name of the .sdp
  • dependencies = a "|" separated list of names of dependencies (by internal modname)
  • name = the internal modname for this mod
Example:

Code: Select all

ba-tronic:version:7.11-tronic3,c9db2e043bb2a662a87bec1b223e0c85,Balanced Annihilation V7.11,Balanced Annihilation V7.11-tronic3
streamer.cgi works as follows:
  • The client does a POST to /streamer.cgi?<hex>
    Where hex = the name of the .sdp
  • The client then sends a gzipped bitarray representing the files it wishes to download. Bitarray is formated in the obvious way, an array of characters where each file in the sdp is represented by the (index mod 8) bit (shifted left) of the (index div 8) byte of the array.
  • streamer.cgi then responds with <big endian encoded int32 length><data of gzipped pool file> for all files requested.
    Files in the pool are also gzipped, so there is no need to decompress unless you wish to verify integrity.
  • streamer.cgi also sets the Content-Length header in the reply so you can implement a proper progress bar.
Example:

Code: Select all

POST http://packages.springrts.com/streamer.cgi?c9db2e043bb2a662a87bec1b223e0c85
SEND gzipped bitarray
RECEIVE files

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 20 Feb 2010, 05:08
by Licho
You can check SD sources for simple reference too:
http://trac.caspring.org/browser/trunk/ ... ownload.cs

LoadFiles

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 20 Feb 2010, 11:27
by Tobi
Thanks

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 03 Mar 2010, 17:29
by Licho
1.6.3
=========
* Game information list and QuickMatching
* Alerter - alerts you when game you seek opens
* Basic chat

* Missions removed until fixed
* CA tab removed (obsolete)
* Registry interface removed (use file based interface if you want to order downloader)

This is how chat looks - at the bottom you can see quickmatching searching for game and autodownloading map: http://planet-wars.eu/ss/-20100303162733.png

For discussion about quickmatching go here:
http://springrts.com/phpbb/viewtopic.php?f=1&t=22355

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 03 Mar 2010, 17:41
by Pxtl
Please tell me you fixed the "idling in Springie" behavior of QuickMatching. All day you were idling in Springie, and every time SpecAFK was called, you'd leave... and then auto-rejoin 60 seconds later. When trying to balance and put a game together, a non-player rejoining automagically every minute (chatspamming the notification message on every !ring) screws everything up.

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 03 Mar 2010, 22:15
by Licho
No, I wanted to play, this is by design :)
But I will increase timer for rejoin on specafk

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 10 Mar 2010, 12:02
by Tobi
Is there a way to get the URLs for the package repositories btw (i.e. master server), or are these hardcoded/configured in the client (like how it's usually done with Linux package managers)?

(I think there are two now, right? packages.springrts.com and packages.caspring.org?)

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 10 Mar 2010, 12:23
by Licho
Yes there is master file:
http://repos.caspring.org/repos.gz

Regex/game shortcut are there for legacy reasons and are unused, so just get unique URLs for repositories.

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 13 Mar 2010, 14:53
by Tobi
Bug:

If you open chat module, you can not cancel out of it anymore (i.e. using X button)! Even restarting program or entering wrong (existing) account name just brings you back to the register dialog. Need to kill it through taskmanager / ctrl+alt+esc.

Only after editing config file manually it will work again.

Also in config file I noticed Downloader is 5 times in it:

Code: Select all

  <ActiveModules1>
    <string>Downloader</string>
    <string>Downloader</string>
    <string>Downloader</string>
    <string>Downloader</string>
    <string>Downloader</string>
  </ActiveModules1>
Maybe bug too? (I never touched config file before today)

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 13 Mar 2010, 20:01
by Licho
Yeah we already fixed that, but we have bigger update to release.

Simplest way to get rid of it is to enter NEW account data (it auto registers it).

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 15 Mar 2010, 17:01
by Licho
SD 2.0.0
========
* now includes more simple lobby capabilities targeted at nubs (dedicated thread post will follow)
* revamped/simplified user interface
* UAC support (asks for admin just for self-update)
* registry interface back (for TasClient integration)

Re: SpringDownloader - automatic map discovery and P2P mod/map

Posted: 15 Mar 2010, 20:02
by quantum
Here is the new help page, it shows the new features, feedback appreciated!

http://docs.google.com/Doc?docid=0AUok- ... kOHI&hl=en