Renegade Public Forums
C&C: Renegade --> Dying since 2003™, resurrected in 2024!
Home » Tiberian Technologies / Blackhand Studios » Tiberian Technologies Forum » Resource Manager
Re: Resource Manager [message #475240 is a reply to message #475177] Wed, 26 September 2012 13:05 Go to previous messageGo to previous message
StealthEye is currently offline  StealthEye
Messages: 2518
Registered: May 2006
Location: The Netherlands
Karma:
General (2 Stars)

The way it's currently implemented, the files are downloaded separately instead of as a single .mix. Downloaded files are stored in the TT filesystem (TTFS) with some metadata to determine which files belong to which packages (the .tpi files in the TTFS). Therefore, having a .mix with the same files is not identical to having the files and metadata in the TTFS. There are various reasons why it was implemented this way:

- .mix archives often contain the same files. For example, almost every map has the same version of scripts.dll (or one of the few versions of custom scripts.dll). I found that for the ubermappack, iirc, about 85% of the space was wasted by duplication. In the TTFS, there are no duplicate files, which makes it smaller and reduces the amount of data to be downloaded for new packages.
- Multiple variants of the same map (with the same name) could not be stored and referenced properly using .mix files. This could for example let one server install a cheat-modified map on your client, and then your client would use it on other servers.
- There were several problems loading and unloading .mix archives dynamically, so we either had to fix .mix packages or come up with something new (TTFS).

Note that, initially, we wanted to store downloaded files in a virtual filesystem for efficient access, and we wanted to make stand-alone packages that would be easy to download and install. In fact, we wanted to provide some kind of "store" in the launcher, where you would be able to list and download maps.


As for lag caused by downloading: it will not really decrease the server to client data stream, but it can make it less reliable (packets not arriving, causing latency) if your connection is exhausted. The download should theoretically automatically throttle back in that case, although I have never carefully studied this.


BlackIntel admin/founder/coder
Please visit http://www.blackintel.org/

[Updated on: Wed, 26 September 2012 13:09]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: rc1 client problem.
Next Topic: ref hop
Goto Forum:
  


Current Time: Wed Feb 26 22:08:49 MST 2025

Total time taken to generate the page: 0.00887 seconds