When you connect server, you receive a list of files from the server, and this is checked with file servers that Badspot has set up. Missing files are downloaded from the file servers, and those that aren't on the file servers are downloaded from the server itself.
When new files are added, they are placed in cache.db for future use in the current server and other servers. Cache.db covers various things from music, models, interiors, terrain, but not images.
In addition to non-default content, default content is downloaded if needed to be repaired, replaced, or changed in case of an update or modification of game files. This, however, caused problems with custom client themes.
There were a few goals in having this:
- Avoid cluttering add-on folders with files downloaded from servers as it makes no sense to store content-only add-on pieces in there.
- Grab files from a server very close to you at a faster speed, removing slow file loads and lifting the strain from the server you're connecting to
- Since they are not tied by name in cache.db, files that are the same but named differently across different servers are not downloaded again
- Idiot-proofing: since duplicate files aren't downloaded, idiots who repackage pre-existing content instead of just referring to the add-on, (like repackaging the jeep as the drifting jeep, by using the model in the new add-on) this can no longer force clients into downloaded duplicated files. Power to prevent idiots doing poor packaging like that lies only in the hands of add-on distribution areas now.