This is not quite true. ET will not force you to download .pk3s in etmain which are not referenced by the server. You can see this clearly by the fact that you aren’t forced to download every map on the server when you connect. (you may be forced to DL some, but this is only because they either contain something like a campaign file, which causes them to be refrenced by the server, or the admin placed them in the mod directory)
If you have cl_allowdownload 1, it does seem to force you to download any .pk3 in the mod directory, regardless of whether the game is referencing them. However, you can still connect without downloading any files that really aren’t refrenced, if you set cl_allowdownload 0
Note that with sv_pure 0, et is only concerned that a file of the same name exists on the server.
sv_pure only runs the checksums and makes sure the client only uses paks that also reside on the server. Is this correct?
That is mostly true. However sv_pure has some special effects WRT gamecode, for example. It also does some magic if the client has a file with the same name, but a different checksum. I wouldn’t be surprised if it has other side effects I am forgetting at the moment.
Also, what’s the story on allowing the use of “optional” paks on the server. Going with the assumption above, it’s reasonable to think the way to do it is to NOT have those files on the server, set sv_pure to 0, and allow the player to download those paks elsewhere (website?), place them in their mod (or etmain) folder and use them.
PLEASE let me know if this is correct.
That is NOT correct.
A pure server only forces downloads if:
- the .pk3 is referenced
- the .pk3 is in an fs_game which is NOT etmain, and cl_allowdownload is 1
Thus you can have an ‘optional’ .pk3 on a pure server, if it contains no files which the server references, and is in etmain. Clients use will be able to use it (as it’s checksum is on the pure list) but they will not be forced to download it. Assuming it falls in the right place in the sort order, clients who have the optional .pk3 will see the effects, and those that don’t will not. Again, you can prove this to yourself with very simple testing.
Running any non-development server with sv_pure 0 is asking for trouble. The client will get in a very confused state if it has a map which is different from one of the same name on the server. The client will also has a good chance of using the wrong cgame. They will also likely have a mishmash of whatever skin, sound etc paks they have downloaded in their online play.
sv_pure 0 is a development option, and shouldn’t be used for anything else.
I strongly suggest you do some methodical testing to get a better understanding of what exactly it does. Post your results here :moo: