Quake II Config Tutorial

(By Wisdom)

Blurb of Wisdom | Current Feature | Previous Feature(s)

By Wisdumb

   Alright, I know Q2 is dying and all; even I'm getting a bit tired of the game. But recently, I decided to mess around with my config to try and customize some features. I ended up having a load of fun doing this, and I actually felt like a programmer trying to debug some junk. Well, I admit that these little customizations aren't that difficult to create, but anyway. Anyway, this tutorial will revolve mainly around the little features and "programs" I put into my own config, but I'll throw in some basics for those who don't have a clue.


What is a config?

    Well, in your baseq2 folder for you Quake II, there's is a file with the extension ".cfg" and what you want to do is open that with some text viewing program such as Notepad or Wordpad. You'll find that there is a long list of commands, and every individual one of these commands goes towards your Quake 2 settings. How bright the shadows are, how sensitive your mouse movement is, which button makes you walk forward, which button toggles the console--all of these features and much much more are determined by this little .cfg file. The beauty of it is that you can customize to your liking!!

    First thing's first: anything and everything you type in each line of your config will be read by Quake 2. The only way to nullify this effect is by putting two slashes "//" at the beginning of each command line. These two slashes basically tell Q2 to ignore the line and to skip on to the next. This is useful in that you can label your config for convenience. For instance, at the tippy top of my config, I put "//Wisdom's Config" just for the sake of having a title. I then divided my binds into various sections and labeled them accordingly--//Weapon Binds; //Hardware Settings; //Misc Settings. Anyway, you get the point.

    The basic operation of binding a key is to type: bind <key> "<command>"
So, if I wanted to make it so I could whip out my railgun by pressing the button "r," I would type:

bind r "use railgun"

    Likewise, if I wanted to jump everytime I pressed "5" on my keyboard, I would type:

bind 5 "+moveup"

(Keep in mind that you'll have to figure out how to refer to certain keys. For instance, the space bar is referred to as "space," not "space bar," and the 5 on your number pad is referred to as "kp_5")

Here is a list of basic commands:

use <weapon> use weapon
drop <weapon> drop weapon
+moveup jump
+movedown duck
+forward move forward
+back move backward
+moveleft strafe left
+moveright strafe right
messagemode chat to everyone in the server
messagemode2 chat only to those on the same team as you
say <message> display a binded message to everyone in the server
say_team <message> display a binded message to those on the same team as you

    You can create a chain of commands with a single command line by simply adding a ";" in between each line. So, if I wanted it that everytime I hit the space bar it will cause me to switch to a rocket launcher, drop a super shotgun, and say to everyone "Rice World OWNS you!" I would type:

bind space "use rocketlauncher; drop super shotgun; say Rice World OWNS you!"

    Makes things simpler, huh? This way you don't have to type out three separate lines.


    Ok, now you're not as wet behind the ears (I hope), so we'll move on to the more advanced stuff. When playing online, you know that you can experience connection problems such as packet loss or just the regular pain-up-the-ass lag. To view how your connection is, the programmers put in a little feature called a netgraph. When it's green and low, that's A-OK! But the higher the green is, the more lag you get. Also, there might be red stripes. The more red stripes you have, the more packet loss you have. Got it? Well, to toggle this netgraph, you can type in your console "netgraph 1" or "netgraph 0"--1 to turn it on, 0 to turn it off. But why bother with having to type in this long, tedious command when you can put it in your config? :) Simply type this:

bind n "netgraph 1"

    Yay! Now everytime you press "n" your netgraph will appear! Wait.... oh no, there's a problem. How do we make it disappear? Well, why don't we bind another key to make it disappear?

Let's do this: bind m "netgraph 0"

    Whew, now we can turn it on and off by pressing "n" and "m." This is exactly what I saw in Rice's config, and I thought it was neat. But then the thought occured to me that I don't have too many keys available for binding, and also laziness wanted me to find an even more efficient way to perform the task of toggling the netgraph.

    So.... What did I do? This is where things get a tad complicated and I'm going to digress. I'm introducing to you something called an alias. "What the heck is an alias? An alternate name?" Well, you can consider an alias to be a command that you name yourself. So, let's say that you have the worst time trying to remember the command "use rocketlauncher." But it's easy for you to remember the word "sex." What you can do is enter a new command line that reads: alias sex "use rocketlauncher"

    What this does is that everytime you want "use rocket launcher" in your config, you can replace the whole phrase with just "sex." So instead of....bind space "use rocket launcher", type....bind space "sex" Why stop there? You can also use aliases for everything else in your config! You can even bind a string of commands into one alias. For instance: alias hi "say hi; +moveup; +attack" Now everytime you have "hi" in a binded command line, pressing the binded key will cause you to say "hi," jump up, and fire your weapon! Hee! You can also activate aliases manually by typing the alias name in the console. In other words, type "hi" in your console, and you'll talk, jump, and fire. ^_^

    Ok, hope you swallowed all of that alright cuz here's where things get a teensie weensie more complicated. There's a special type of alias, too! With this type of alias you can still give it whatever name you want, but you just add a "+" in front of that name. Remember the movement keys? +forward, +moveup, +movedown, etc.... well the plus requires that you hold down the button to keep the command running. You wouldn't want it so that everytime you pushed a button, it would keep walking forward uncontrollably, right? You'd rather have it so that holding down the button keeps you walking forward, and letting go stops you. Well, the same thing goes with these special aliases. Remember our little netgraph project from above? Well, I want it so that everytime I press and hold down "n," it displays my netgraph. And when I let go, it'll make the netgraph disappear.

    So, what I'm going to do is make my own special alias for this called "+netg." What do I want this to do? Well, I want it to display my netgraph, right? So, I'm going to type:

alias +netg "netgraph 1"

    Now, the thing with these aliases, is that you need to give the second part of the command, for after you let go of the button. To do this, you use the same name for the alias, but this time you put a "-" before it. The second part of the command is that I want it to make my netgraph disappear when I let go of the button.. So, I add another command line that reads:

alias -netg "netgraph 0"

    There we go! Wait.... there's still something left to be done. An alias is a command line itself. Remember that each one needs to be binded to a key. So, let's bind it to "n"

You know how to do this: bind n "+netg"

    VOILA! Now everytime you press n, your netgraph will appear for as long as you hold the button. ^_^

    To double check, the command lines are as follow:

bind n "+netg"
alias +netg "netgraph 1"
alias -netg "netgraph 0"

    That wasn't so bad, right? Now, be creative, think of all the possibilities and customize your config. Take a gander at my features here for a few ideas on what you can do. You can d/l a copy of my config here.

Continue on to Page 2 -->

Blurb of Wisdom | Current Feature | Previous Feature(s)