Everyone knows that minimum FPS changes from map to map, so we are going to calculate the best com_maxfps and cl_maxpackets values. With these binds you'll be able to adjust the FPS and transfer values to changing conditions.
Theory:In CoD2 mulitplayer settings, in mp_config.cfg, there are three cvar variables that directly affect communication efficiency with the server:
- Snaps,
- Cl_MaxPackets,
- Com_MaxFPS.
SnapsSnaps refers to the number of 'snapshots' of information that are received from the server every second. Each snapshot contains the "game status" and it is the data-transfer equivalent to frame-rate.
Snaps should be set equal to the COD2 server's sv_fps setting (default 20). Regardless of how high you set your snaps setting, you will not be able to receive more than the rate at which the server runs which is defined by its sv_fps setting or by the cap. You can set your sv_fps 40 and play on a sv_fps 30 server without needing to adjust your snaps - it will run at 30. For efficiency, you should match your Snaps with sv_fps setting. If you have a slow connection you might need to set it lower (Snaps = 10 is the lowest value in the range).
Cl_MaxPacketsCl_MaxPackets is the highest amount of data packets that can be uploaded to the server by your computer every second. The higher this number is, you are telling more often the server where you are and what you are doing, so good for you. In Q3 Cl_MaxPackets 125 is maximum but in CoD2 maximum is 100. I think, that it's only question of scale, so after calculation the values for Q3 scale (Cl_MaxPackets 125) i recommend to change all the values proportionally, for CoD2 scale.
If you set this value too high, your ping - as calculated by the game - will start to rise or you will not able to connect to server. So you have to find an optimal value. With higher Cl_MaxPackets you will shoot exactly what you're aiming at.
Com_MaxFPSCoD2 is based on Q3 engine, so to see how FPS impacts on your jump length visit:
http://ucguides.savagehelp.com/Quake3/FAQFPSJumps.htmlThe only valid values of Com_MaxFPS are those which are equal to (1000/N) where N is an integer. Here are valid Com_MaxFPS:
1000/1 = 1000
1000/2 = 500
1000/3 = 333
1000/4 = 250
1000/5 = 200
1000/6 = 166
1000/7 = 142
1000/8 = 125
1000/9 = 111
1000/10 = 100
1000/11 = 90
1000/12 = 83
1000/13 = 76
1000/14 = 71
1000/15 = 66
1000/16 = 62
1000/17 = 58
1000/18 = 55
etc...
Cl_MaxPackets and Com_MaxFPSTo maximize the efficiency of your connection, Cl_maxpackets and Com_maxfps have to be chosen in such a way as to respect the relationship between data upload rate and framerate. Cl_MaxPackets should be equal to (Com_maxfps/N). For example (in Q3 scale): 125/1=125, 125/2 = 63, 125/3 = 42, 125/4 = 32, 125/5 = 25, but in CoD2 scale we've got: 100, 50, 33, 25, 20. Try to choose the largest values of Cl_MaxPackets and Com_MaxFPS that your connection will allow.
In practice: 1) Do a backup of your config_mp.cfg file.
2) During a game, try to change com_maxfps and find a constant value of your FPS. If you've set com_maxfps 125 and your FPS changes (fluctuates), it means that your system cannot keep up with that frame rate. Try a lower setting e.g. com_maxfps 111.
3) With known com_maxfps values, calculate cl_maxpackets values. Calculator:
http://www.funender.com/quake/articles/fps.html4) Type the following binds into your config_mp.cfg file using Notepad:
For example:bind KP_SLASH seta com_maxfps "250" // First value of MaxFPS (key on numeric pad: /)
bind KP_STAR seta com_maxfps "125" // Second value of MaxFPS (key on numeric pad: *)
bind KP_PGUP seta cl_maxpackets "100" // First value of MaxPackets (key on numeric pad: 9)
bind KP_UPARROW seta cl_maxpackets "75" // Second value of MaxPackets (key on numeric pad: 8)
bind KP_HOME seta cl_maxpackets "66" // Third value of MaxPackets (key on numeric pad: 7)
bind KP_LEFTARROW seta cl_maxpackets "50" // Fourth value of MaxPackets (key on numeric pad: 6)
bind KP_5 seta cl_maxpackets "33" // Fifth value of MaxPackets (key on numeric pad: 5)
bind KP_RIGHTARROW seta cl_maxpackets "25" // Sixth value of MaxPackets (key on numeric pad: 4)5) Turn on your "lagometer" in the game. This way you can tell if your connection can handle the extra flow due to increases in data rates. In your mp_config.cfg file find following settings:
seta cg_drawFPS "Simple"
seta cg_drawLagometer "1" Lagometer explanation:
http://www.eft-clan.net/printview.php?t=2101&start=06) Move around in the game and try out your 8 new binds. Try to change com_maxfps and cl_maxpackets and find the bind that keeps your ping and lag the smallest.