Globalhardlimit
Usually you set in the connection tab a max/sources per file. With this global limit you set a global limit for all files. if you download 20 popular files and the GHL=4000 then each file will get about 200 sources. If 10 files complete then each files gets 400 sources.
Basicly you only need to enable the system, set a value and forget about most things related to hardlimit and source count.
Global hard limit
The StulleMule mod offers a more customized system. Not using the option "Use GHL for all files" you may enable or disable the GHL for every file in the SivkaFileSettings dialog. You may choose if GHL should be activated or not for every new file by default (like SivkaFileSettings default).
A more precise description how the system works:
i'll start on startup. since the global source count is 0 here all files are initialized at 100. every 50 seconds from that time on the main function will be run. if the src count (global) is too low we keep on increasing all files hardlimit. the limit per file will be increased like this:
IncrValue = ([GHL value] - [Global source count]) / [number of files])
The global HL incr will never exceed 5% of the GHL value. So we check if the InrcValue is > [5% of the GHL] / [number of files] and set the last calculation as the new value if needed. Then we move on and set the new HL for all files like this:
HL + IncrValue
As soon as we reach the lower tollerance border (95% GHL) we enable the passive mode and set a passive HL. the passive HL means we calculate a new IncrValue like this:
IncrValue = ([105% GHL value] - [Global source count]) / [number of files])
This InrcValue is added to every files source count for the new hl. We basicly give the hl some tollerance to work properly. Anyhow we will not exceed the GHL.
In case we did exceed the GHL we disable the passive mode, which basicly only checks if everything's allright every 5 minutes, change back to the 50 sec cycle and keep on setting every files HL to the source count value. Since source dropping starts when the source count exceeds 80% of the HL we can be sure one FQ or NNS source is dropped every 40 sec. This way we do not waste any sources at all but it's kinda slow, though. We could drop other "good" sources, too but this would either (probably) waste really good sources (like QR: 5) or be really complex (in order to decide what's good and what's not).
The value is initialized in the wizard
In the network wizard where you set your upload/download speed a value for the global hard limit is inittialized based on your upload speed. Don't set values below 1000, it is not tuned for this. A value of 4000-5000 will fit many people. Do not set a very high value.