#16 (Auto track downloader) – HoverRace

Ticket #16 (closed enhancement: fixed)

Opened 7 months ago

Last modified 6 weeks ago

Auto track downloader

Reported by: Austin Owned by: zoogie
Priority: trivial Milestone: HoverRace 1.23
Component: Client Version: 1.23
Keywords: download tracks Cc:
Blocking: Blocked By:

Description (last modified by ryan) (diff)

I have all of the tracks available on HoverRace.com pretty much; how about we have it automatically download the tracks when its not available.

Maybe the "not available" bar could say "Click Join Game to download this track", it could then turn into "Downloading... xx%", then "Installing..." as it extracts; finally it will join the game once its all complete.

Attachments

Change History

  Changed 7 months ago by Austin

  • type changed from defect to enhancement

  Changed 7 months ago by ryan

  • description modified (diff)

silly WikiFormatting, messing up descriptions

  Changed 7 months ago by ryan

  • milestone set to HoverRace 1.23

  Changed 6 months ago by zoogie

Once the global config stuff (#21) is done, we will have a standard per-user directory into which we can safely store downloaded tracks (or other assets).

  Changed 6 months ago by zoogie

Also, were you thinking of downloading the tracks from the network game host or hoverrace.com? Or make it an option?

follow-up: ↓ 7   Changed 6 months ago by ryan

I think downloading tracks from the network game host is a big price to pay for a little extra functionality.

We would gain: - ability to easily download tracks that have not yet been uploaded to hoverrace.com/tracks - protection against hoverrace.com/tracks downtime being an issue

We would pay: - time for coding functionality for track delivery into the client - corruption: if a game host has a corrupted track it can spread like a virus; checking for a corrupted track (I think) would not be worth the effort of comparing it to a version on hoverrace.com/tracks - versioning of tracks: I see potential nightmares when a track author has been testing various versions of their tracks with other people - security vulnerabilities: it becomes a lot easier to make exploits through tracks; I doubt the track parser is fully secure

Just some thoughts, I would be fully in favor of just getting them from hoverrace.com/tracks/ or another server. Adding configurability for a track server name might be an option, but then, it would probably be totally irrelevant unless someone actually bothered to set up another tracks site.

in reply to: ↑ 6   Changed 6 months ago by zoogie

Replying to ryan:

I think downloading tracks from the network game host is a big price to pay for a little extra functionality.

That's pretty much what I was thinking, along with the potential security implications.

Actually, the only argument for host-provided downloads that I could think of was the case of a LAN party in a cabin somewhere -- fast network, slow (or nonexistent) internet. For that case, a more than reasonable workaround (IMHO) is to just copy the "tracks" folder between machines :)

Of course, that also depends on making it easy for users to find the tracks folder. The new config stuff puts stuff under %APPDATA%\HoverRace.com\HoverRace (or on Linux, $HOME/.hoverrace), which isn't exactly the easiest to find directory, despite being "standard"...

  Changed 6 months ago by zoogie

  • status changed from new to assigned
  • owner set to zoogie
  • summary changed from Auto track downloader. to Auto track downloader

  Changed 6 months ago by zoogie

Okay, I'm going to need info on how to request a track by name (not track ID) from the HoverRace.com track server. Something like download.php?name=Basketball+2%5B1-1666%5D perhaps?

  Changed 6 months ago by zoogie

Cool, thanks!

One more server-side feature request: Is it possible to get the track not wrapped in a ZIP archive (i.e., still send it down the pipe as a gzip stream, just not in a .zip file)? Since it's just one file, it'll be more straightforward to have libcurl write out the downloaded file to the Tracks folder directly.

  Changed 5 months ago by zoogie

Okay, [128] implements the core functionality. The UI is pretty bare.

  Changed 5 months ago by zoogie

D'oh! I didn't hook up the track downloader to internet games (it works only for network games right now) -- I forgot that initiating internet games and network games was handled differently :-P

This one could be a bit trickier to test.

  Changed 5 months ago by zoogie

[131] should fix it for internet games.

  Changed 5 months ago by Austin

I must say Zoogie that is some amazing work; I love it :D!

  Changed 5 months ago by zoogie

  • status changed from assigned to closed
  • resolution set to fixed

I've got some tiny refinements I want to make to the downloader (speed indicator, option to always auto-download without prompting, etc.), but since the core functionality's done, there's no need to keep this ticket open.

  Changed 6 weeks ago by Austin

How about potentially the ability to download a track as a host?

Don't know whether I should open another ticket or if this idea is even all that necessary. Just thought I'd post.

Add/Change #16 (Auto track downloader)

Author



Change Properties
<Author field>
Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.