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)."