Jump to content

The launcher downloader and the ingame downloader


Luhrian

Recommended Posts

  • Totem Arts Staff

Hey guys,

you surely noticed, that the launcher downloader was replaced through a improved version of the ingame downloader from @ShrewdTactician.

I was thinking about it and I think that it isn't good to put the launcher downloader in the rubbish. I'll just show you the advantages from both downloaders.

Auto Downloader:

  1. fast download speed
  2. it doesn't matter how many are downloading the maps at the same time
  3. you are getting all maps at once if they are added to the downloader

Ingame Downloader:

  1. you don't have to restart the game
  2. you don't have to add files into a downloader you just have to open the map on the server (I think it is like this)

And now the disadvantages from both downloaders:

Auto Downloader:

  1. you have to restart the game
  2. you have to put the maps in the downloader first

Ingame Downloader:

  1. slower download speed
  2. If many people downlaod the map at once, the download speed is even more slower. On the CT server it could be not a big problem, but maybe on the T.O. server.
  3. you only download 1 map, which is really retarded, if you are playing on a map testing server.
  4. you are downloading it from the server. If it is a home server the speed is even more slow, because not all people have 100MB/s at home.

So you see there are many strong points against the ingame downloader. But with that I don't mean, that the ingame downloader is shit. We just need to optimize some things. And it would be really great if we can optimize and keep both downloaders in the game.

Link to comment
Share on other sites

3 hours ago, Luhrian said:

Hey guys,

you surely noticed, that the launcher downloader was replaced through a improved version of the ingame downloader from @ShrewdTactician.

I was thinking about it and I think that it isn't good to put the launcher downloader in the rubbish. I'll just show you the advantages from both downloaders.

Auto Downloader:

  1. fast download speed
  2. it doesn't matter how many are downloading the maps at the same time
  3. you are getting all maps at once if they are added to the downloader

Ingame Downloader:

  1. you don't have to restart the game
  2. you don't have to add files into a downloader you just have to open the map on the server (I think it is like this)

And now the disadvantages from both downloaders:

Auto Downloader:

  1. you have to restart the game
  2. you have to put the maps in the downloader first

Ingame Downloader:

  1. slower download speed
  2. If many people downlaod the map at once, the download speed is even more slower. On the CT server it could be not a big problem, but maybe on the T.O. server.
  3. you only download 1 map, which is really retarded, if you are playing on a map testing server.
  4. you are downloading it from the server. If it is a home server the speed is even more slow, because not all people have 100MB/s at home.

So you see there are many strong points against the ingame downloader. But with that I don't mean, that the ingame downloader is shit. We just need to optimize some things. And it would be really great if we can optimize and keep both downloaders in the game.

Agent already removed the Launcher downloader,

As for the in-game downloader for your comment

Quote

If many people downlaod the map at once, the download speed is even more slower. On the CT server it could be not a big problem, but maybe on the T.O. server.

This should not be an issue if they use the default settings since it linked to the Renegade X CDN, They don't download from the server being joined they download from an FTP server.

Link to comment
Share on other sites

9 hours ago, Luhrian said:

Auto Downloader:

  1. fast download speed
  2. it doesn't matter how many are downloading the maps at the same time

Neither of these points are true. Some people (myself included) had extremely poor connectivity to the download server due to it being located entirely in Europe, on a single, centralized server that was easily overwhelmed by multiple simultaneous downloads. The in-game downloader could admittedly be improved by utilizing a geo-based DNS service and adding additional points of presence.

 

9 hours ago, Luhrian said:

Ingame Downloader:

  1. slower download speed
  2. If many people downlaod the map at once, the download speed is even more slower. On the CT server it could be not a big problem, but maybe on the T.O. server.
  3. you only download 1 map, which is really retarded, if you are playing on a map testing server.
  4. you are downloading it from the server. If it is a home server the speed is even more slow, because not all people have 100MB/s at home.

1) The downloads are not "slower" -- by default, they're actually pushed from the very same hosts responsible for pushing patch data.
2) Again, we're using the CDN to push this data instead of a single FTP server by default -- thus the in-game downloader actually has a drastically better distribution model than the launcher one did (since the launcher-based downloader used a centralized FTP repository). At the absolute worst, if a server host decides to use an HTTP host that's backed by a single point of presence, it's on par with the old model assuming the servers are of equal quality.
3) Technically you'll download whatever packages are currently loaded by the server, and this is actually the ideal solution -- you don't need data that you might not use. The actual problem of getting bounced back to the main menu without rejoining is being looked at.
4) Nobody should be hosting public-facing game servers on their home network, ever, especially if they don't have the infrastructure to support it. This is for a host of reasons: the bandwidth pipe size issue that you mentioned, upload speeds are generally far lower than download on residential connections (whereas data-centers tend to have symmetrical connectivity), bandwidth allocation (data caps) in general will be far lower on residential lines, it's likely against your terms of service with your ISP, and it leaves you extremely vulnerable to denial of service attacks since your home IP address is then exposed. It's one thing if it's a LAN server or for a single event, but the above issues should discourage anybody from attempting to host any public-facing game server on their home network -- and none of that is specific to Renegade X.

 

We're not bringing the launcher-based downloader back under any circumstance.

Link to comment
Share on other sites

  • Totem Arts Staff

Hm, ok you are surely right in this points, but I always had the feeling that I need more time to download a map. If it takes 10 minutes to download 20MB, then anything went wrong. And 1 more question: What can we do, that I don't get back to the main menu to download the map if I don't have he next? You could download all maps before you join, but with the current download speed it will take hours.

Link to comment
Share on other sites

8 hours ago, Luhrian said:

you could download all maps before you join

We're never adding this.

 

As far as mitigating the issue, the easiest solution is to just have the client automatically do a full attempt to rejoin the server from the front end map if you get kicked back for not having a package, thus starting the download process for that package. I'm not sure if @ShrewdTactician has gotten around to looking into implementing this yet.

In addition to the above, we could theoretically improve on this further by downloading all of the maps that will be in the vote (note: not level) rotation in the background. I emphasize vote rotation, because not all levels in the level rotation will be available to be voted upon -- thus they need not be downloaded.

Link to comment
Share on other sites

  • Totem Arts Staff

If you're going onto the map test server then you should download all the custom maps prior to joining it.

With this in mind, can we start using tortoise svn for custom map updates? That way when a map is updated running torroise svn would updated just the out of date files making updating custom maps much easier than trying to make a repack or another additional pack for one or a few map updates.

  • Like 1
Link to comment
Share on other sites

11 hours ago, Madkill40 said:

With this in mind, can we start using tortoise svn for custom map updates? That way when a map is updated running torroise svn would updated just the out of date files making updating custom maps much easier than trying to make a repack or another additional pack for one or a few map updates.

I very much agree with this point - Subversion is not difficult to use, is multi-platform, and diffs are a very efficient means of transport regarding to time / bandwidth! Our development team has been using it for 7+ years for many projects.

Link to comment
Share on other sites

  1. Just getting an SVN client to work in UnrealScript would require an absurd amount of DLL binding, or writing an SVN client from near scratch
  2. It's much easier for server owners to setup an HTTP server than an SVN server
  3. It would not be practical to use our patch distribution mirrors as a default repository
  4. Even if we setup SVN services, it'd be yet another piece of infrastructure to maintain
  5. It'd be less efficient storage-wise
  6. Using SVN (or any version control software) instead of HTTP for distrubtion increases the required storage capacity of every single mirror, which is not plentiful
  7. The aforementioned storage demands increase linearly over time, with every single file change
  8. There's absolutely zero benefit to using SVN (or any version control software) as a distribution repository

This is of course assuming I didn't misunderstand you, which may be the case after rereading your post. If you mean specifically for level testers to use entirely 3rd party software (such as Tortoise SVN) specifically on the level testing server, then I don't see a problem -- just add a folder named "Testing Files" (or something of that nature) to CookedPC, dump all of the custom content in there (file paths don't matter since UDK only cares about the filenames in CookedPC), and setup that folder for SVN. Then setup anonymous read credentials and give out write credentials to those who need them. That would be something for @Fffreak9999 to do though, since you're talking about a service you want hosted on a CT server. That said, don't expect the average playing to do anything of the sort -- you would never setup something like this on a public / general use server.

  • Like 1
Link to comment
Share on other sites

5 hours ago, Agent said:
  1. Just getting an SVN client to work in UnrealScript would require an absurd amount of DLL binding, or writing an SVN client from near scratch
  2. It's much easier for server owners to setup an HTTP server than an SVN server
  3. It would not be practical to use our patch distribution mirrors as a default repository
  4. Even if we setup SVN services, it'd be yet another piece of infrastructure to maintain
  5. It'd be less efficient storage-wise
  6. Using SVN (or any version control software) instead of HTTP for distrubtion increases the required storage capacity of every single mirror, which is not plentiful
  7. The aforementioned storage demands increase linearly over time, with every single file change
  8. There's absolutely zero benefit to using SVN (or any version control software) as a distribution repository

This is of course assuming I didn't misunderstand you, which may be the case after rereading your post. If you mean specifically for level testers to use entirely 3rd party software (such as Tortoise SVN) specifically on the level testing server, then I don't see a problem -- just add a folder named "Testing Files" (or something of that nature) to CookedPC, dump all of the custom content in there (file paths don't matter since UDK only cares about the filenames in CookedPC), and setup that folder for SVN. Then setup anonymous read credentials and give out write credentials to those who need them. That would be something for @Fffreak9999 to do though, since you're talking about a service you want hosted on a CT server. That said, don't expect the average playing to do anything of the sort -- you would never setup something like this on a public / general use server.

A fair and comprehensive answer. I agree with points 1, 4, 5, 6, 7; I dispute point 2; and can't say anything regards points 3 and 8 without knowledge of the underlying infrastructure. We should trust Agent on these. (I never really thought about the storage aspect...)

Personally I like to try out unfinished maps, and would gladly do some testing / debugging. Mind you, downloading a map from the Testing Server is really taking quite some time - if this could be accelerated by some means, it would be most certainly welcome.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...