Click here to edit subtitle

This page is devoted to the game of Quake:

Q3 Tips:

Quake Commands con't:  Q3 Tips

Effectively adds local lag to try to make sure you interpolate instead of extrapolate (try 100 for a really laggy server)

/cl_timenudge (value)

negative values create predictive leading

Are ya tired of getting your butt waxed on our server? Want to do something about it?
Then listen up 'cause Smelly is gonna help you poor peeps out.

Do the following things in this order
1. If you have dial-up internet access find another server closer to you because I can't help you.
2. If cable or dsl then you need to tweek your settings.
To see what you need to change go to www.dslreports.com, the tools page, and test your connection.Read and follow the instructions exactlyand do what they tell you to do.
3. PING is king in this game so work for the lowest one you can get.
4. FPS [frames per second] is important and the more the better up to 125 fps.
5. Use a mouse and keyboard.
6. Practice, practice, and more practice.

If this is helpful to anyone let me know. 
In addition to smellys ideas type in the following in the console.

1. /cl_maxpackets 60
2. /cl_snaps 40
3. /cg_smoothclients 1

Dear SPARKY & SMELLY, I stand corrected, a P3 doesnt have a memory controller hub, but I was close, actually the same function chipset as the P4's memory controller hub. For the sake of discussion, I will speculate your 700mhz P3 sits on an Intel 440BX motherboard. That before mentioned chipset is called the northbridge. The northbridge connects tha ram, cpu, and 2X AGP video card slot all together. The cpu and ram have 100mhz
highways, 2X agp has 66mhz highway. Then the northbridge has a highway to the southbridge, which has highway's to the harddrive, usb port(s), and all pci slots.
The highway between the northbridge and southbridge is limited to 33mhz. Plus,all LAN traffic has to be shared on these highways. This sharing crowds system bandwidth a lot. If you are using an usb dsl modem, 33mhz on its highway is a slow-down . This is what I was trying to relate to you about too many bytes on the (corrected term) northbridge. On a P4 motherboard, the highways are much faster. Plus, the usb port has its own dedicated highway, no sharing! That is the reason I wanted a cable modem that plugged into my P4 usb port. Intel has replaced the "bridge" metaphor with the "hub" metaphor, signaling the end of shared bandwitdth and the emergence of specialized hi-speed turnpikes dedicated to device-specific traffic. This really sped performance up, and increased system bandwidth. On a P4 mobo, the cpu and ram have 400mhz freeways, the 4X agp slot has a 133mhz speed to the memory controller hub. From the memory controller hub to the I/O controller hub the speed is 66mhz. The P4 memory also has two hi-speed highways dedicated to traffic between the memory controller, and those ram sticks. All this P4 mobo design makes it an excellent choice for a Q3 game server!!     !!!
I bet you were wondering when I would get that in!! HEHE...!! Of course, you probably are aware of all of this.
P4 motherboards have gone up to 533mhz, then 800mhz, even faster highways. Dual channel DDR system ram.
And I wonder, what will they come up with next, and so on and on?? Its all very fascinating to me. Nuff said. 

Fragzilla, I dont want to intrude but why are you using such a small case and weak power supply? You wont have to worrie about anything if you spend just $50 on a cheap case like this one. And it looks pretty good for a pre modded.
Manufacturer: ARTEC
420 W Power supply
Color: Black
Stylish Face Panel with Bright LED.
SECC Steel Chassis.
USB 2.0 and Headphone jack on Front Panel.
Ideal Full Tower Capacity for Gamer / Computing Entertainment.
Stylish Large Side Window w/ 80mm Air Vent, Blade Fan Grill w/ Filter.
Tri-color LED Blade Fan Grill w/ Filter (side panel)
2 X Transparent Colored Temperature-Control Fans ( rear ).
Specifications Back to Top
Case Type Mid Tower Full size Steel Chassis Case
Dimension (WxHxD) 200 x 430 x 450 mm
Cooling System 80x80x25mm Silent Fans
(2x Temp-Control Fans in rear)
(1x Tri-Color Fan on side panel)
Drive Bay - Front Accessible - Internal 10 Drive Bay
4 x 5.25" (External)
2 x 3.5" (External)
4 x 3.5" (Internal)

Material 1.0mm SECC Steel Chassis
Colors ARTEC868WS (Silver with Window side Panel)
ARTEC868WB (Black with Window side Panel)
Expansion Slots 7
Power Supply 420W,ATX 12V
Weight 7.7 Kgs
Support Motherboard Standard ATX, TX, Xenon (PIII Core) /Pentium 4 Ready

<P align=center><IMG style="WIDTH: 600px; HEIGHT: 50px" height=78 src="http://www.viper-sniper.com/Main/barsnake.gif" border=0></P>

<div align=center><font color="beige">The Quake ToolKit utility</font></div>

The Quake ToolKit utility is a simple,
but very effective and multifunctional
utility designed to give Q3A players, mappers
and server administrators easy access to very
useful tools. The ToolKit is basically a
collection of small tools. Features include:
Tool for easy .arena file creating, Shell
for Q3Map and Q3Map2: Allows you to configure
the compiler and compile maps through a
graphical interface, Easy to use tool to
create new bots, Random Team Generator:
Randomly Generates two teams from a list
of players, Wizard for easy compiling of
RoQ video files, Server Configuration:
Basic server setup utility. Great for
setting up lan games, Quake 3 player
profile manager, Customizable Skins,
Easy access to all tools and Q3Radiant
through taskbar trayicon, and Now with
support for RTCW.

How to make seamless tiled textures using Photoshop 6 - by r3tina

This is going to be my first tutorial ever, so I hope it's any good. To get it started I'll explain what I'm about to do in this tutorial. Ever since I started mapping I wanted to make my own textures, because I felt limited by using the standard id textures, or even other artist's texturepacks. Now, I know I'm not a particularly good artist (I can draw a bit, but that's all) so I had to resort to photosourced textures.

The biggest problem I encountered was the fact that photos are never tileable, so you have to make them seamless by hand. I know there are automated plugins available for Photoshop which (try) to take this, sometimes hard, work out of your hands, but I've never had good results with them. So, I tried to find a method which wasn't too much work, but gives good results. One thing you probably need to know is that I had never worked with Photoshop. All my previous texturework (mostly editing of existing textures) I did in Paint Shop Pro, so that was something which made it harder for me. I'm still glad I took the time to learn Photoshop a bit though.

The reason I decided on writing this tutorial is that I searched a long time on the Internet for a similar tutorial, but every one I found was either to complicated or simply not clear enough. I hope I've done better :-)

The window in question. Click image to check tileability. 
The image after the offset filter has been used.
If you select point A first (with ALT-click), then click point B, the contents of point A gets copied to point B. This also sets a vector for future clones, so if you now click point D, the contents of point C gets copied to it. This enables you to 'paint' entire areas dynamically.
The final tileable texture. Click to check the tileability. 
OK, on to the works. I'll start with an image of a window in a metal wall, which I've cut out of a photograph. Now, this image isn't too bad when it comes to tiling but if we look at it closely we see a color difference on the seams. This will not do, of course...

Making an image tileable consists basically of 2 steps. First, you need to discover where the image has seams. "That's rather obvious", I hear you say, "at the edges". Of course, at the edges, but it's difficult to see those seams, right? Photoshop 6 has a handy tool which let you shift an image, while wrapping it 'around the corner', so to speak. This tool is called the offset filter and can be found under Filters -> Other. The use of this filter is very easy, just fill in the number of pixels you want the image to shift, while selecting the 'wrap around' radio button. I normally shift the image half its width and height, so that's 128 pixels for a 256x256 texture. There's no reason why you can't use other values, but you need to shift the image back to its original state (if you use an image with details, this doesn't apply for things like brick walls) so you have to remember the shift value you used.

OK, when you've used the offset filter the seams are clearly visible, and, more important, they are easy to edit away. This takes us to the second step, for which we will use the Clone Stamp Tool, which can be found in the toolbox. The nice thing about this tool is that it lets you clone an area of your image to another location, but in a way that's far more flexible than just 'copy-pasting' areas.

The way it works might seem a bit vague at the start (it was for me, anyway), but after you get used to the way it works it's great.

What you need to do first is select an area, or more precisely, a point, where you want to copy from. You do this by pressing the left ALT key and click on the point you want. Next, you click on the area you want to copy to. When you click, the area you selected (the size of which is determined by your current brush size) is copied on top of the place you clicked.

What this also does is setting a relative distance between the from- and to-location. Now, what this means is that if you clicked on a spot which is 20 pixels up and 20 pixels right of the place you marked as 'from', every time you click on a spot a section, which is 20 pixels down and 20 pixels left of it, gets copied onto this spot. Check the image if this seems a bit vague.

What makes this so useful is that you now can paint the darker areas brighter, by copying pieces of the light areas to the darker areas. Because the difference is very small this can be quite hard, so what I did was set the Opacity of the clone tool to 50%, which causes the underlying image to shine through. Now, with a bit of trial and error you can do away with that ugly color seam.

The same goes for the horizontal line you can see in the second image. This is caused by a ridge in the metal. What I did was simply remove the ridge, which causes one section to be a bit wider than the rest. I could've chosen a better way (by removing the ridge entirely from the image and either resizing the image or filling the missing pixels by using small columns in each section), but it's sufficient for this tutorial.

The last thing you need to do now is undo the offset, by using the offset filter again but now with the opposite of what you used the first time (which is exactly the same in this case, since the image is 256x256 and I used half that number, 128, for the offset).

Paint Shop Pro 7 basically has the same functionality in the form of the Clone Brush, which works through the same principles. PSP doesn't have an offset filter though, but the same effect can be achieved by some cutting and pasting.

<P align=center><IMG style="WIDTH: 600px; HEIGHT: 50px" height=78 src="http://www.viper-sniper.com/Main/barsnake.gif" border=0></P>

<div align=center><font color="beige">Q3 Tweak Commands:</font></div>

•  There are a few more interesting things you can do with Quake 3. Did you know that there is in fact a secret development level hidden in Quake 3? Granted, it is crap beyond belief (all it is is a little box with no weapon pick ups - all you have is a guantlet and machine gun) but is was only used for testing anyway. To enable this level (?) just type "map test_bigbox" (minus the quotes) into the console. Joy.

•  The next tip is far better. Remember when you fought Anarki and saw his name in different colours? Well it is also possible for your name to have the same. To enable this, open your Quake 3 config (in the baseq3 folder - use wordpad) and find the line "seta name". Right, before your name type ^x where x is a number between 1 and 10. For example, type: ^4Brisk to get Brisk displayed in a blue font. You can also do this for every letter (eg. ^4B^2R^7I^5S^1K) to get multi colured text - It may not make you a better player but it sure does look nice!!! Save your changes and enjoy. If you don't like the colours you picked then you can simply change them in the PLAYER section of the SETUP setting.

Chances are that If you have a graphics card that uses the PCI BUS, you bought it because you have an older computer without a AGP slot. However, many computer manufacturers now build there computers with intergrated sound / video cards attached to the motherboard (basicaly as a way of cutting the costs of production) Because of this, it is impossible to upgrade to state of the art graphics cards as there is no AGP slot available. Whats more, the intergrated cards are usually built around older hardware (such as the ATI RAGE PRO). If you don't get a new motherboard, then PCI is the only solution.

However, it is unwise to install your new PCI graphics card if you have not completely disabled your built - in one first. To do this, first shut down your computer and enter the SETUP. Now, go to ADVANCED CHIPSET and see if you can locate " ONBOARD AGP/PCI CHIP". If it is there, then set this to DISABLED. If it is not there, then first look for it in the other SETUP options and try to see if there is anything closely resembling it. If not, then the only other solution is to flash upgrade your BIOS (Basic Input / Output Socket). This is incredibly risky and only should be attempted if you really need to do it and you know what you are doing. Visit your computer manufacturers website first to find out if you can update your BIOS or failing that try to find the manufacturer of your motherboard and visit their site. As a last resort, you can visit the BIOS manufacturers website ( usually American Megatrends, Award or Phoenix ) to try and find it their but this could be a long and potentially fruitless experience. Once again only do this if you simply must do it and find out how to do it first. After all, if you mess up your BIOS - You mess up your computer potentially irrepairably. You are warned!!

If you have got this far without any problems then well done!!! It is plain sailing from now on. Right, start up your PC and go to SETTINGS. Next go to CONTROL PANEL and then ADD / REMOVE PROGRAMS. You should then try to find your graphics hardware display driver (such as ATI MACH64 on an ATI RAGE PRO). This should be uninstalled. You will now need to delete the registry entries left over from your previous card - back up your registrt first, and then search for words likely to be used by your adapter - delete any entries that were from your old display adapter. Be careful when doing this, because if you delete any important entries needed by windows, you may stop your computer from fuctioning properly. That is why backing up before working with it is so essential.

Finally, install your graphics card if it isn't already and install the drivers for it. You will now find a much more stable system which crashes less and is faster than before. It's good to tweak isn't it?

•  There are many self made macros around the internet (such as the ability to make your own zoom scale), but I think that the replay editor is the best. This macro allows you to speed up, slow down, and pause your demos or replays for hours of fun! To do this, you will need to add the following commands into your autoexec.cfg:

set demfastf "timescale 1.8;echo Fast-Forward"
set demsuperff "timescale 3;echo Super-Fast-Forward"
set demslowmo "timescale .5;echo Slow-Mo"
set dempause "timescale .000000000000000001;echo Pause"
set demnormal "timescale 1;echo Normal"
bind kp_leftarrow "vstr demfastf"
bind kp_pgup "vstr demslowmo"
bind kp_home "vstr dempause"
bind kp_uparrow "vstr demnormal"
bind kp_rightarrow "vstr demsuperff"
timescale 1

•  Once you get used to managing macros, you can change which bind you want for the relevent command. These are the arangements which I find the easiest to use for me, but don't forget to change them if the bind is already taken by another function (such as zooming in for example) Happy editing!

"bot_nochat" - Basicaly, this command lets you turn off those automated taunts that the bots say constantly. I presume there will be a minor framerate increase but I am not sure. Once you tire of the taunts set this to 1.

"cg_centertime" - This command lets you limit how long the "you fragged <playername>" message appears when you frag someone. The default setting is 3, but the recommended setting is 1. Setting this command to 0 means no message is displayed. This command works only is server side only.

"cg_drawAttacker" - Displays the opponent's name when you face them. Useful for TDM or CTF, but a hinderence to your visibity. Optimal setting is disabled.

"cg_drawRewards" - Displays rewards earned in the current battle (excellent, impressive etc...). Optimal setting is disabled.

"cg_draw3dIcons" - When turned on, all icons in the HUD will be displayed in 3D. Optimal setting is disabled.

"cg_drawGun" - This command let's you toggle between displaying, or not displaying the gun. Many people like to have a gun on screen at all times as it helps distinguish which weapon you currently have selected. Disabling gives the advantage of not having a gun blocking your view. Especialy helpful when using the railgun. Framerate is also noticably higher with this disabled.

"cg_gibs" - When activated, characters will "gib" (blow into pieces) with a particulaly viscious shot. "com_blood" must be activated for this to take effect. This looks pretty, and can be satisfying but can slow down gameplay in large scale deathmatches. When turned off, FPS gain is around 1 - 5 FPS depending on the amount of action going on.

"cg_marks" - With this enabled, every time a player shoots at the scenary, a mark is left behind. These marks will stay for approximataly 20 seconds. Because of this, noticable framerate loss occurs in large scale deathmatches. Optimal setting is disabled.

"cg_brassTime" - With this enabled, when a gun is fired, the shells ejected are thrown and discarded in the air for added realism. Optimal setting is disabled.

"cg_bobup / cg_bobroll / cg_bobpitch" - These 3 settings are used to create a more realistic walk or run for your character. For example, when you are slowly walking in a crouch position, you will shuffle side to side to give your character more realistic movement. The default for all settings is 0.0025 but I prefer to turn these settings to 0 as its gives a more fluid movement and prevents possible motion sickness ;-)

"cg_fov" - This setting lets you widen or shrink your viewing area or field of vision. The default is 90 but feel free to increase this slightly for a sly advantage (I wouldn't put it over 110 though as the image looks trippy). Unfortunately, because of the larger viewing area, the CPU is under more stress so bear in mind you may get a slightly lower framerate.

"cg_shadows" - There are 3 shadow modes - 1, 2, and 3. 1 creates round, unrealistic shadows under the feet of all characters. 2 creates incredibly lifelike shadows, but at a huge performance hit. 3 creates suitably lifelike shadows but again at the cost of some performance. For setting 2, you must ensure your graphics card supports hardware stencil buffing, and r_stencilbits must be set to 8 at the console. The optimal setting is 0 (no shadows)

"cg_simpleItems" - With this on, all items and pickups will be displayed in 2D rather than 3D. This is especially helpful for people with slower machines as it can give noticable framerate increase.

"com_blood" - Displays blood when a character is shot with this turned on. Additionaly, characters create a small gib when hit hard at the cost of no performance. Keep this setting on and turn "cg_gibs" off.

"com_blindlyLoadDLLs" - If you use the Speed Dll's, you may get the warning message telling you that it is unsafe to use them. This message is quite anoying, as it pops up when you load and finish a level. Set this to 1 to disable the warning.

"com_hunkmegs" - Only of use if you have more than 64 MB RAM. This setting alocates more system memory to Quake 3 for player models. If you have 128 MB RAM, set this to 96; if you have 96 MB RAM, set this to 64; if you have 192 MB RAM set this to 128; and finaly if you have 256 MB RAM, then set this to 170. You could try higher numbers but your system could become unstable.

"r_picmip" - This accounts for overall texture and image quality, with 0 being the best, and higher numbers being progressively worse. This setting is a major player in having a high and consistant framerate. A setting of 1 is suitable for most computers as it ensures excellent image quality with a solid, consistant framerate. Interestingly, many people prefer to use a setting of 5 as it improves visibity between players and background textures, as well as makes weapons such as the LG easier to use.

"r_drawsun" - This setting I believe creates shadows in relation to where thet are towards the sunlight. Of course, you will need shadows enabled. I do not think there is a drop in FPS so if you like shadows on, then set this to enabled.

"r_gamma" - Brightens/Darkens the screen. This setting varys according to the brightness on your monitor. Default is 1 but this can be set lower to darken image (eg: 0.79010) or it can be increased to brighten the image (eg: 1.10000). Experiment to find the optimal amount.

"r_mapOverBrightBits" - This is a setting which controls how bright the scenary, textures and objects are. Lately, I have found this is the best way to achieve optimal image quality. This setting defaults at 2 but I would recommend setting this to 3. Secondly, lower the r_gamma setting to 0.82000 and start a new game. You should either find it too bright or too dark - adjust the gamma accordingly. I have found that setting this setting to 3 results in far more clarity and detail in the textures.

"r_intensity" - As the name suggests this setting intensifies the whole image. Default is 1 and this is recommended for most users. If you play in picmip 5 mode, set this to around 1.4 to make the characters stand out more against the background.

"r_finish" - This is the "Sync every frame" command in the game options. It Improves response between the keyboard/mouse and the onscreen action. You set this to 1 to stop occasional input frustration. However, you may experience slight framerate loss.

"r_railWidth / r_railCoreWidth / r_railSegmentLength" - These settings adjust the way the railgun blast looks. There are so many possible configurations but here is my personal favourite:

seta r_railWidth "3"
seta r_railCoreWidth "3"
seta r_railSegmentLength "1024"

Thanks to VyP3rR.

"r_roundImagesDown" - Smoothes and rounds textures when they need to be resized producing slightly inferior visuals. Default is recommended. (Please note: q3dm16 will crash to the desktop if this setting is less than 1)

"r_swapInterval" - Enabling this setting eliminates the slight screen ripping that appears when your framerate exceeds your monitors refresh rate. Bear in mind that although the FPS loss is not large, I found there to be a slight  lag between mouse/keyboard to the on screen action. Bear in mind that if you have disabled vsync externaly (perhaps through your graphics drivers tools facilty) then this setting is bypassed.

"r_detailTextures" - This is enabled by default and produces more detailed textures if available by that particular texture. With this disabled, you get slight framerate increase.

"r_colorbits" - Choose between rendering colours in 16 BIT or 32 BIT. 32 BIT colour renders 16.7 million individual colours compared to 16 BIT's 65,000 but can be a large burdon on computer resources. Optimal setting is 16 BIT for framerate and 32 BIT for visuals. Be aware that your video hardware must support 32 BIT colour for you to use it.

"r_texturebits" - Similar to colourbits. However, if you run at high resolutions (1024x768 or above) this can cause texture corruption in 32 BIT colour mode. You must also have a card that supports 32 BIT colour. Optimal setting is 16 BIT for framerate and 32 BIT for visuals. Be aware that your video hardware must support 32 BIT colour for you to use it.

"r_dynamicLight" - With this enabled, the flare from a weapon projectile will illuminate  the surrounding area creating added realism. Be aware that enabling this results in noticable framerate loss.

"r_vertexLight" - When enabled, textures use no additional lightmaps for lighting effects. On a slow machine, this will speed things up considerably but the result is inferior visuals. Other benefits of enabling vertex lighting include better visibilty between players and textures, especialy when using r_picmip 5.

"r_lodBias" - Produces more rounded images in the character model, objects, and pickups the lower this setting is. Through benchmarking, I have found that the default (0) is the best balance between framerate and image quality. I could see no noticable visual improvement when setting this into the low minuses (the valid range is -2 to 2) but the framerate was lower. Recommended setting is 0 (default)

"r_smp" - If you have two CPU's, Windows NT or 2000, and have a graphics card AND  driver which supports SMP, then you can benefit from a more sustained Framerate, which may also be noticeably higher. The default of course is 0, but if your system fulfils the above requirements then ensure you set this to 1.

"r_subDivisions" - This is a texture setting which when set low, produces a better image with more curves and less graphical inacuracies. The maximum setting I would recommend is around 100  depending on the map. I like this set at 4 but feel free to experiment for the best comprimise between image quality and framerate.

"r_lodCurveError" - This setting determines how close you have to be towards a texture  before it clips and loses its curves. I recommend a setting between 400 - 800 depending on the power of your machine.

"r_stencilBits" - This is a hardware dependent graphical setting which creates more realistic textures. Be sure to set this to 8 if your graphics card has a hardware stencil buffer. Be aware that the screen may darken with this enabled. Be sure to alter the gamma accordingly.

"s_musicVolume" - Self explanatary. Bear in mind that turning off the music doesn't result in such a noticably higher framerate as in Quake 2, though the optimal setting is still disabled

"s_loadas8bit" - With this set to 1, all the sounds in the game will be forced to be played with half the available sound memory. This increases framerate somewhat.

"sv_pure" - Controls whether the game should be played in pure (as the developer intended) or unpure (which means that certain mods can be used).

"vm_cgame / vm_game / vm_ui" - These settings MUST be set to 0 for the speed dll's to function correctly. If any of these are set to 1 in your config, then you are losing performance, so change them immediately.

1.25+ new console commands:

"cg_scorePlums" - This controls whether the "scoreplum" floats above your victim when they are fragged. Not really a necessity so set this to 0.

"cg_smoothClients" - When g_smoothClients is enabled on the server and you enable cg_smoothClients then players in your view will be predicted and will appear more smooth even if they are on a bad network connection (LPB's should love this feature when playing laggy HPB's). However small prediction errors might appear.

"pmove_fixed" - Think of this as ID's answer to the 125Hz mod. Basicaly, with this enabled, all players will move at the same frequency (which can be changed using the pmove_msec variable) regardless of the clients framerate. The advantages include even jump physics and movement for all players. The downside is some people have found slight stuttering with this enabled (although through my experience, it is negible). If you are playing online, the server must have first enabled this option before you can use it.

"pmove_msec" - Sets the time in milliseconds between two advances of the player physics. Default is 8.

"r_inGameVideo" - This feature lets you view small pre-recorded videos that the map maker created to be viewed in game. This has only been implemented in Team Arena maps as I write this, but no doubt standard Q3A levels will be including such features imminently. Be aware that enabling this can have a large impact on framerate, so te optimal setting is to disable.

"s_doppler" - A neat sound feature, which produces a "dopplar" effect when a projectile from a rocket sweaps past you. Disabling gives a minor framerate increase, but I like the effect and thus keep it enabled.

"headmodel" - changes only the head of the model to another model. Example: If you are playing as the Grunt model, /headmodel "sarge" will stick Sarge's head on Grunt's body. Selecting a new model will load both the model and its matching head.

"team_model" - changes to a model that will only be used during team game play.

"team_headmodel" - changes head model to a head that will only be used during team game play.

Internet connection commands:

"cg_lagometer" - This is a very useful utility which lets you monitor your connection on-line. With this enabled while you are playing on-line you will see 2 bouncing lines. The first line displays the conjunction between your graphics card updating the frames in sync with the gameworld updates recieved from the server. Idealy, this should be a straight blue line. If it has bouncing yellow spikes then your display will stutter and be more difficult to view. To combat this, first ensure you have followed my tweaking techniques and then change your snaps setting. Usually, this means lowering it by until your screen is stable and you have a nice flowing blue line in your lagometer.

The second line shows if packets are being recieved from the server. This should be green. If it is yellow or red, try increasing your rate or try lowering your snaps. If this does not help, you may be on a bad server so try another. The height of the line is dependent on your current ping.

"cl_timenudge" - This interesting setting is identical to the pushlatency setting in Half-Life. This is very user determined and impossible to judge for every machine and every connection. I find this setting works well if you set the cl_timenudge setting to around -30 the ping you currently have with the server. If you don't like the way it affects your timing, then leave it at default (0). Use this command in conjunction with the lagometer for best results.

"rate" - This setting controls packets to ensure a good connection. If you have an ISDN modem (128K) then this can be set to around 8000. If you have a 56K modem then this should be around 3000-4500 depending on your connection speed. If you are on a LAN or have ADSL modem, then this can be around 24000 or perhaps even higher. Experimentation is required to find the optimal setting.

"snaps" - This is possibly the most important setting for getting a good connection. As everyone knows, in Quake 2, your gameworld updates depended on your current FPS so slower computers were at a disadvantage. Now, in Quake 3, your snaps setting determines how many updates you recieve from the server. 56K modems should have a setting of around 20. ISDN modems (128K) should be around 40 as should any other fast connection devices (LAN, T1 etc....). Remember to read my cg_lagometer section for tips on "snaps".

"cl_packetdups" - As the name suggests, this setting is used to send multiple packets to compensate for lost packet drops. This setting should be set at 1 unless you have a VERY good connection in which case set this to 0. Use the lagometer to decide on which setting to use.

"cl_maxPackets" - This setting puts a limit on the maximum amount of packets that can be sent to the server via the client. This setting is useful for people with slower modems. The default setting is 30 (comparable to a 56K modem), but lower this if you have a 33.6K modem or less, and higher this setting if you have an ISDN or higher modem.

"com_maxFPS" - This command limits your maximum FPS. Why you would want to do this? 2 reasons. Firstly, because it will help stop the server from having lag confusion when your frame rate has a sudden rise or fall. Run a timedemo, collect your average FPS and use that as the limit for when you play on-line.

Another important aspect of this setting is that your framerate determines how high you can jump. This is why getting the max_FPS setting right is so important. Have a play around until you find a figure that allows you to make the DM13 MH jump. Once you have one (try to get it as high as it can go) stick with it.

Unfortunately, playing online could make achieving maximum height tricky once again. Personaly, I found that setting com_maxFPS to 83 offline and 63 online the best solution for making those long, tricky jumps. Of course, this may be totaly different for your machine so play around.

"cg_deferPlayers" - A nice simple setting. With this set to 1, new player skins will only be loaded when you are either fragged or when you look at the scoreboard. With this set to 0, new player models are loaded as soon as a new player joins the server. I like this set to 1 as the screen could stutter at a potentialy crucial time meaning frustration.

"cg_predictItems" - This setting determines whether the server or the client decides on whether a weapon has being collected. A setting of 1 means the client decides, and a setting of 0 means the server decides. Setting it to 1 (default)  makes gameplay flow quicker for HPB's, but can cause confusion as to whether the item was picked up or not. Setting it to 0 means the server will always decide, reducing the chance of errors, but this can cause slight ldelay after the item has been picked up. I keep this set at 0 to prevent any unneccessary confusion.

"cg_forceModel" - If you want to use only the same model or skin throughout, then set this to 1. Every character (human, or bot) will have the same character model as yourself. However, if you are using a custom model with a large polycount, this can hinder performance slightly. Default is 0.

• Recording a demo:

To record a demo, firstly start either a single player game, or a multi player game against others. Now, open the console and type "g_syncronousClients 1" (minus the quotes). This will ensure that all the players are set up correctly in sync so that the demo records and plays back correctly. Please note that this may impact FPS, but this setting is required for a demo to be recorded.

Now, when you are ready, type "record <demoname>" where <demoname> is the name you wish to call the demo. Now the demo is recording. To stop the demo, type "stoprecord" into the console.

You can now select your demo from the demo menu on the start screen.

• Recording tips:

It is all very well using the console commands to start and stop a demo, but it is quite unpractical and fiddley. It is far better to create keyboard binds used exclusively for starting and stoping demos. To create the binds, place these commands into the config:

bind F5 "record"
bind F6 "stoprecord"

Of course, you can use different keys instead, but I find these the easiest to use and remember.

• Playing back a demo: