LAGGG..

by HamburgerHill

 

I'm certainly not an expert, in anyway, concerning 'fixing lag problems in Wolfenstein'... but this is the most useful information (so far), that I found - on the subject.   Here are some things that can improve gameplay and reduce lag in 'Wolfenstein'.
 
1. Game Settings 
 
in 'wolfconfig_mp.cfg' file (in the Wolfenstein '\main' directory).
 
This 'Connection Tweaks' page is from 'Quake III' game... it uses the same 'net commands' as Wolfenstein (which is the Quake Engine as well).   There is good information for understanding FPS and 'Lagometer Results'.    http://ucguides.savagehelp.com/Quake3/connection.html
 
A Quote from the above web page:
 
cg_lagometer Set this to 1 to monitor your connection - The first line is related to your graphics card updating displayed frames in time with received gameworld updates from the server. It will be blue if frames are being rendered in time with the world updates. If it has a lot of yellow then gameworld updates are not being displayed and are being dropped. In this case reduce your snaps or tweak your visual settings to raise your average framerate so it is always above your snaps setting. Another option is to increase cl_timenudge by a very small value, note that if you are using a negative value for cl_timenudge the first line of the graph may be mostly yellow. See cl_timenudge section for more information.

The second line is similar to the Quake2 netgraph in that green means packets are being received okay, yellow that capping is causing your client to reject packets and red that the packet was lost. In the case of yellow increase your rate or try lowering your snaps. If you have a lot of red then change ISP or server. If you have to play on the server or use the ISP then make sure that your cl_packetdup is set to 1 and try adjusting snaps and cl_maxpackets to compensate for the lost packets.
 
After reading this (and other stuff on the web page) - you can adjust your settings to keep the Lagometer happy.
 
For Example:

I've found that lowering snaps to 10 on weekend nights is better (when packet loss is worst)... and it keeps the bottom part of lagometer green.    Sometimes, I  can set snaps to 20 ('in the morning' - or on 'low ping' servers).   You can use this following 'comm.cfg' config file (that I use to adjust game settings) and adjust your settings for 'when you change servers' or 'the time of day your playing'(internet quality).

 
in 'wolfconfig_mp.cfg' file 'add' or 'edit' yellow 'text': // Lite Blue: 'key function' comments only..do not add.
 
bind INS "vstr PACK" // Packetdup 'On' or 'Off'
bind PGDN "vstr RD" // Rate Up
bind PGUP "vstr RU" // Rate Down
bind HOME "vstr SU" // Snaps Up
bind END "vstr SD" // Snaps Down
bind KP_HOME "vstr FU" // Desired Frame Rate Up
bind KP_LEFTARROW "vstr FD" // Desired Frame Rate Down
bind KP_UPARROW "vstr MU" // Maxpackets Up
bind KP_5 "vstr MD" // Maxpackets Down
bind KP_PGUP "vstr TU" // Timenudge Up
bind KP_RIGHTARROW "vstr TD" // Timenudge Down
bind KP_ENTER "vstr com" // Turns On 'FPS' and Lagometer
bind KP_PLUS "exec comm.cfg" // Loads 'comm.cfg' file.. in order to make settings
 
comm.cfg file - copy yellow lines below, paste and save as comm.cfg into the Wolfenstein '\main' directory
 
set com1 "set cg_lagometer 1;set com vstr com2;set cg_drawFPS 1"
set com2 "set cg_lagometer 0;set com vstr com1;set cg_drawFPS 0"
set com "vstr com1"
set cg_lagometer 1
set cg_drawFPS 1
//Snaps Selection
set SU15 "set snaps 15;wait;set SU vstr SU20;wait;set SD vstr SD10;wait;echo Snaps 15"
set SU20 "set snaps 20;wait;set SU vstr SU25;wait;set SD vstr SD15;wait;echo Snaps 20"
set SU25 "set snaps 25;wait;set SU vstr SU30;wait;set SD vstr SD20;wait;echo Snaps 25"
set SU30 "set snaps 30;wait;set SU vstr SU35;wait;set SD vstr SD25;wait;echo Snaps 30"
set SU35 "set snaps 35;wait;set SU vstr SU40;wait;set SD vstr SD30;wait;echo Snaps 35"
set SU40 "set snaps 40;wait;set SU vstr SU40;wait;set SD vstr SD35;wait;echo Snaps 40"
set SU "vstr SU25"
set SD35 "set snaps 35;wait;set SD vstr SD30;wait;set SU vstr SU40;wait;echo Snaps 35"
set SD30 "set snaps 30;wait;set SD vstr SD25;wait;set SU vstr SU35;wait;echo Snaps 30"
set SD25 "set snaps 25;wait;set SD vstr SD20;wait;set SU vstr SU30;wait;echo Snaps 25"
set SD20 "set snaps 20;wait;set SD vstr SD15;wait;set SU vstr SU25;wait;echo Snaps 20"
set SD15 "set snaps 15;wait;set SD vstr SD10;wait;set SU vstr SU20;wait;echo Snaps 15"
set SD10 "set snaps 10;wait;set SD vstr SD10;wait;set SU vstr SU15;wait;echo Snaps 10"
set SD "vstr SD25"
//Rate Selection
set RU8000 "set rate 8000;wait;set RU vstr RU9000;wait;set RD vstr RD7000;wait;echo Rate 8000"
set RU9000 "set rate 9000;wait;set RU vstr RU10000;wait;set RD vstr RD8000;wait;echo Rate 9000"
set RU10000 "set rate 10000;wait;set RU vstr RU15000;wait;set RD vstr RD9000;wait;echo Rate 10000"
set RU15000 "set rate 15000;wait;set RU vstr RU20000;wait;set RD vstr RD10000;wait;echo Rate 15000"
set RU20000 "set rate 20000;wait;set RU vstr RU25000;wait;set RD vstr RD15000;wait;echo Rate 20000"
set RU25000 "set rate 25000;wait;set RU vstr RU25000;wait;set RD vstr RD20000;wait;echo Rate 25000"
set RU "vstr RU10000"
set RD20000 "set rate 20000;wait;set RD vstr RD15000;wait;set RU vstr RU25000;wait;echo Rate 20000"
set RD15000 "set rate 15000;wait;set RD vstr RD10000;wait;set RU vstr RU20000;wait;echo Rate 15000"
set RD10000 "set rate 10000;wait;set RD vstr RD9000;wait;set RU vstr RU15000;wait;echo Rate 10000"
set RD9000 "set rate 9000;wait;set RD vstr RD8000;wait;set RU vstr RU10000;wait;echo Rate 9000"
set RD8000 "set rate 8000;wait;set RD vstr RD7000;wait;set RU vstr RU9000;wait;echo Rate 8000"
set RD7000 "set rate 7000;wait;set RD vstr RD7000;wait;set RU vstr RU8000;wait;echo Rate 7000"
set RD "vstr RD10000"
//FPS Selection
set FU50 "set com_maxfps 50;wait;set FU vstr FU60;wait;set FD vstr FD40;wait;echo FPS 50"
set FU60 "set com_maxfps 60;wait;set FU vstr FU70;wait;set FD vstr FD50;wait;echo FPS 60"
set FU70 "set com_maxfps 70;wait;set FU vstr FU80;wait;set FD vstr FD60;wait;echo FPS 70"
set FU80 "set com_maxfps 80;wait;set FU vstr FU90;wait;set FD vstr FD70;wait;echo FPS 80"
set FU90 "set com_maxfps 90;wait;set FU vstr FU100;wait;set FD vstr FD80;wait;echo FPS 90"
set FU100 "set com_maxfps 100;wait;set FU vstr FU100;wait;set FD vstr FD90;wait;echo FPS 100"
set FU "vstr FU70"
set FD90 "set com_maxfps 90;wait;set FD vstr FD80;wait;set FU vstr FU100;wait;echo FPS 90"
set FD80 "set com_maxfps 80;wait;set FD vstr FD70;wait;set FU vstr FU90;wait;echo FPS 80"
set FD70 "set com_maxfps 70;wait;set FD vstr FD60;wait;set FU vstr FU80;wait;echo FPS 70"
set FD60 "set com_maxfps 60;wait;set FD vstr FD50;wait;set FU vstr FU70;wait;echo FPS 60"
set FD50 "set com_maxfps 50;wait;set FD vstr FD40;wait;set FU vstr FU60;wait;echo FPS 50"
set FD40 "set com_maxfps 40;wait;set FD vstr FD40;wait;set FU vstr FU50;wait;echo FPS 40"
set FD "vstr FD70"
//Maxpackets Selection
set MU40 "set cl_maxpackets 40;wait;set MU vstr MU50;wait;set MD vstr MD30;wait;echo Maxpackets 40"
set MU50 "set cl_maxpackets 50;wait;set MU vstr MU60;wait;set MD vstr MD40;wait;echo Maxpackets 50"
set MU60 "set cl_maxpackets 60;wait;set MU vstr MU70;wait;set MD vstr MD50;wait;echo Maxpackets 60"
set MU70 "set cl_maxpackets 70;wait;set MU vstr MU80;wait;set MD vstr MD60;wait;echo Maxpackets 70"
set MU80 "set cl_maxpackets 80;wait;set MU vstr MU90;wait;set MD vstr MD70;wait;echo Maxpackets 80"
set MU90 "set cl_maxpackets 90;wait;set MU vstr MU90;wait;set MD vstr MD80;wait;echo Maxpackets 90"
set MU "vstr MU60"
set MD80 "set cl_maxpackets 80;wait;set MD vstr MD70;wait;set MU vstr MU90;wait;echo Maxpackets 80"
set MD70 "set cl_maxpackets 70;wait;set MD vstr MD60;wait;set MU vstr MU80;wait;echo Maxpackets 70"
set MD60 "set cl_maxpackets 60;wait;set MD vstr MD50;wait;set MU vstr MU70;wait;echo Maxpackets 60"
set MD50 "set cl_maxpackets 50;wait;set MD vstr MD40;wait;set MU vstr MU60;wait;echo Maxpackets 50"
set MD40 "set cl_maxpackets 40;wait;set MD vstr MD30;wait;set MU vstr MU50;wait;echo Maxpackets 40"
set MD30 "set cl_maxpackets 30;wait;set MD vstr MD30;wait;set MU vstr MU40;wait;echo Maxpackets 30"
set MD "vstr MD60"
//Packetdup Selection
set Pack1 "set cl_packetdup 1;wait;set Pack vstr Pack2;wait;echo Packetdup 1"
set Pack2 "set cl_packetdup 0;wait;set Pack vstr Pack1;wait;echo Packetdup 0"
set Pack "vstr Pack1"
//Timenudge Selection
set TU-10 "set cl_timenudge -10;wait;set TU vstr TU-5;wait;set TD vstr TD-15;wait;echo Timenudge -10"
set TU-5 "set cl_timenudge -5;wait;set TU vstr TU0;wait;set TD vstr TD-10;wait;echo Timenudge -5"
set TU0 "set cl_timenudge 0;wait;set TU vstr TU5;wait;set TD vstr TD-5;wait;echo Timenudge 0"
set TU5 "set cl_timenudge 5;wait;set TU vstr TU10;wait;set TD vstr TD0;wait;echo Timenudge 5"
set TU10 "set cl_timenudge 10;wait;set TU vstr TU15;wait;set TD vstr TD5;wait;echo Timenudge 10"
set TU15 "set cl_timenudge 15;wait;set TU vstr TU15;wait;set TD vstr TD10;wait;echo Timenudge 15"
set TU "vstr TU5"
set TD10 "set cl_timenudge 10;wait;set TD vstr TD5;wait;set TU vstr TU15;wait;echo Timenudge 10"
set TD5 "set cl_timenudge 5;wait;set TD vstr TD0;wait;set TU vstr TU10;wait;echo Timenudge 5"
set TD0 "set cl_timenudge 0;wait;set TD vstr TD-5;wait;set TU vstr TU5;wait;echo Timenudge 0"
set TD-5 "set cl_timenudge -5;wait;set TD vstr TD-10;wait;set TU vstr TU0;wait;echo Timenudge -5"
set TD-10 "set cl_timenudge -10;wait;set TD vstr TD-15;wait;set TU vstr TU-5;wait;echo Timenudge -10"
set TD-15 "set cl_timenudge -15;wait;set TD vstr TD-15;wait;set TU vstr TU-10;wait;echo Timenudge -15"
set TD "vstr TD5"
 
 
2. Internet Connection
 
You can also change your 'Windows - Operating System' settings for the Internet - Network Connection Settings.    Although the following  'Introduction to TCP/IP Web Page' is from a 'Counter-Strike' page... it has good information concerning your 'Windows' settings for all types of 'Multiplayer Games' in general.   
 
 
For example - I found that a lower 'MTU' setting improves the game sometimes.   Your ping will probably get higher - but, your 'gameplay information' is sent to the server more frequently with smaller MTU packets of 278 to 576... rather than 1500 (Cable Default Setting).    Many serious 'Clans'... tinker with these and other settings mentioned on the above web page.
 
A Quote from the same web page:

"The crucial issue with MTU size is that the larger the MTU setting, the more data is buffered on the computer before being sent, and so the client sends packets less frequently, which is bad, since until a packet is sent to the server, the actions taken by the player represented by the data in that packet have not yet occured in the game (since the server doesn't know about them)."

You can go to 'Speed Guide.net' page http://www.speedguide.net/ and download TCP/IP Optimizer - to change any settings.   If your not sure - it's best not to make any adjustments here (do at your own risk)!   I've had no problems yet (using TCP/IP Optimizer  with Windows XP).
 
Hope this can help some!