by Spike » Thu Jan 31, 2013 3:44 am
I'm not saying its bug free...
And I seriously doubt ezquake implements any of it.
For a client to download a pak, it must think that there's a reason to do so. This means that the server must be using resources within that pak.
You can check to see if the server is using resources within that pak by issuing the 'path' command and looking for the '(ref)' tag.
paks with a '(c)' are deemed copyrighted, and will not be available for download (so clients won't try, and servers will reject it if you try).
Paks downloaded using this mechanism are stored in some subdirectory with some gibberish extension (the hash). They will ONLY be loaded if the hash matches, otherwise it'll go ahead and download a new copy to use instead. If the client already has that pak then there's no need to download.
You can force the server to 'use' a resource in a pak by fopening some small text file or something. precache_model or precache_sound also work, so long as the named resource is actually within the pak you want to become referenced.
The referenced mechanism is mostly to avoid clients from downloading 500 paks that each contain an irrelevent map.
Note that fte also supports fs_pure. Which uses ONLY resources within the paks the server sends.
At least that's the theory. I'm not sure how well any of that works.
fs_cache is a file access speedup, it isn't meant to affect which files are used.
.