Choosing the right configuration for your game can make a big difference in the quality of your gameplay. You can change a handful of game settings via the ingame menus, but to unlock the game's full potential, you must learn to take advantage of the game's console. To activate the console, press shift + tilde (~) on your keyboard while ingame. The console view will scroll down from the top. To dismiss it, press shift + tilde again.
You can enter commands into the console one per line. The console supports basic tab completion. Typing a portion of a command when no alternate commands exist with the same prefix execute that command - so for example, typing \qui or \qui gon automatically executes "\quit" instead. You can scroll back a ways using the page up / page down keys. The up / down arrow keys go back in your command history. Multiple commands can be run on a single line by separating them with a semicolon (";")
\quit - quits the game completely
\disconnect - disconnects you from the current server
\serverstatus (optional IP) - prints to the console a summary of the server's status, including a full list of connected players. (The ingame scoreboard is limited to 20 players)
\connect IP - connect to the specified server
\kill - self-kill. One of the most vital commands in CTF - see the notes in Speed
\set varname value - sets a variable named "varname" to the value "value". For built-in game variables, you can also just do \varname value, or just \varname to print out both the current and default values.
\vstr varname - executes the string contents of the variable "varname" as a console command
Binds are how you execute commands in-game without opening the console. Instead, you "bind" a key to a specific command, which executes when you press that key. For example, in the vanilla configuration, "W" is bound to "+forward". You can create your own binds by running the command \bind key command in the console.
Config files are files stored in your game's data folders which you can manually execute using the console or a bind. Some config files are automatically executed by the game every time it's launched. The file "jampconfig.cfg" is both executed on every launch and also rewritten on every exit. It saves the state of all "archived" variables, as well as all of your assigned binds. The file "autoexec.cfg" is not written, but is executed on every launch. You can manually execute any .cfg file in the console by typing \exec file.cfg.
Optimizing Your Config
\snaps 40 - allows you to receive at most 40 frames per second from servers.
\rate 25000 - allows you to receive more bytes per second from servers. 25000 is the maximum value you can set.
\cl_maxpackets 100 - makes your client send at most 100 position updates per second to the server. 100 is the maximum value you can set. The actual number is also limited by your actual FPS (not max FPS).
\com_maxfps 125 - increases the frame-rate of the game to at most 125. Getting a solid 125fps ingame is the best for strafe jumping due to how the game rounds your speed.
\cg_fov 97 - increases your field of view, allowing you to see more around you at once. 97 is the highest value possible without a third party mod. With an unlocking mod, using 120 instead is popular.
\cg_autoswitch 0 - disables automatic weapon switching. It can be unpredictable and is almost never what you want to happen.
\cg_drawRadar 0 - disables drawing of the radar in the right side of the screen. It has very limited range and is virtually useless.
\cg_rendertotexturefx 0 - disables the big distortion effect when force push / pull are activated.
\cg_runpitch 0 - disables the bobbing up and down effect that you see when walking. Makes it easier to aim.
\cg_drawCrosshair -8 - changes the crosshair to a red dot, which makes it a bit easier to aim.
\cg_drawFPS 1 - draws how many frames per second the game is drawing at. For the best strafing and smoothness, keep this at 125 if possible.
\cg_drawTeamOverlay 1 - displays your teammates' health, and on some maps, position, in the upper right corner of your screen.
\cg_drawTimer 1 - draws the remaining time in the game
\cg_forceModel 1 - forces all players to be the same model as you. If you choose \model Reelo (the fat guy), they may seem easier to see and shoot.
\cg_lagometer 1 - draws a lagometer on the right side of your screen.
\cg_simpleItems 1 - uses 2d icons to show weapons / ammo / boon instead of the 3d models. Makes them easier to see.
\cl_yawspeed 18000 - makes you spin very fast when you press your +left bind. Useful for doing saber katas, since your blades will pass through enemies far more times and do a lot more damage.
\name "^6^^0ghetto^7te^6h" - lets you customize your in-game name. Use the special sequence "^0" through "^7" to add colors to your name. On many servers, "^0" (black) only works if preceeded with another ^ (so "^^0").
\r_fullscreen 1 - sets the game to run in fullscreen at 1920x1080 resolution. This is the native resolution of a 1080p monitor. You should change it to match your monitor's resolution.
\r_gamma 2 - sets the "gamma" (or overall brightness) of the game. The default is 1. Using 2 lets you see things at a more even brightness, which helps see players hiding in dark areas.
\r_vertexLight 2 - disables most of the dynamic lighting on the maps (which eat FPS). Using 2 still enables flag glow, while 1 disables all of the dynamic lighting.
\cg_drawGun 0 - disables drawing the gun on the screen when in first person. Allows you to see slightly more of the world - you can still determine which gun is selected by using the little icons at the bottom when you switch weapons.
\cg_hudfiles 1 - disables the graphical HUD and replaces it with a simpler, text only version. Clears up more screen space so you can see more, and is easier to read at a quick glance.
\cg_drawAttacker 0 - disables the 2d picture of the person who's shooting you from popping up.
When changing the game's variables, always keep a backup of your jampconfig.cfg file. The game has a maximum size that this file can be, and if it exceeds that size, it will instead reset to the defaults, which will wipe away all of your changes.
Force Change Configs
Force change configs are a way to quickly change your force configuration while in-game, without having to go through the menus (which takes a long time). To set them up, first go through the menus and select each configuration you want to save. Copy out the value of the "forcepowers" variable after each change. Then, set a bind to both set the variable, and execute "\kill", which will make it take effect. Attached at the end of the page are sample configuration files that I use, including jampconfig.cfg and my force change configs. They also include re-binding of the movement keys to automatically apply team heal and team energize to teammates when they are nearby. The features is very useful in PUG matches, but less useful in public games (where you might lose force due to automatically healing bots).