The q2servers FAQ

Part 1: Server Setup

Here are the basics to setting up your own server, from hardware to software.

  1. What are the minimum requirements for a Quake 2 Server?
  2. What hardware should I use?
  3. What OS can I use?
  4. Which OS should I use?
  5. Where can I find the latest Quake 2 executable?
  6. How do you setup a dedicated server in Win95 or NT?
  7. How do you set up a dedicated server on Linux, or on Solaris?
  8. Can I enter console commands via the command line?
  9. What settings can I use?
  10. Bitflags?!? What do I do with dmflags?
  11. Is there a way to save settings to a file? How do I use .cfg files?
  12. Can I have my Quake server on a port different than the default port (27910)? Can I have more than one port?
  13. How to I list my server on the Master Servers? How do I get my server listed on Gamespy?
  14. How do I use mods or patches?
  15. Where do I put new skins, maps or models?

Q: What are the minimum requirements for a Quake 2 Server?

A: This depends on the max amount of players you want on the server. There is no set recommended specifications, but you need at the very least a 486. A high-end Pentium CPU or any flavor of the Pentium II CPU is recommended . More CPU horsepower is required for more players. RAM should be at the very least 16 megs, with a recommended amount of 1 meg per player.

Requirements also depend on the map(s) being played, as some maps need more horsepower than others.

Last, but not least, you need a good steady connection to the Internet. This means a digital connection, like a ISDN, DSL, T1, T3, or OC-12 connection. If you don't know what most of those connections are, best not set a server up quite yet. Remember, each player requires about 2-3k of bandwidth.

Q: What hardware should I use?

A: For CPUs, your best bet would be a Pentium III processor. Pentium II and Celeron processors are great as well, it's recommended you get at least a high-end Pentium processor (200mhz or more). As the server is FPU intensive, it is recommended an Intel processor be used, instead of one of the many clones out there. A Cyrix processor (6x86 or MII) and the AMD K5 will handle half the number of players a comparable Intel CPU can handle. The AMD K6 however is a better processor than the rest of the other x86 clones and may be fast enough for some, but it is not close to a comparable Intel CPU.

A good network card is needed, it should be a PCI card. 3Com PCI cards good, so are cards based on DEC's Tulip chipset.

If you have access to these machines, there are Sparc and DEC Alpha versions of the Quake 2 dedicated server. If you want to use some real muscle, one of these high-end machines will do nicely. If you're interested in running a high-capacity server, one of these machines is a necessity.

Q: What OS can I use?

A: You can either use any 32-bit flavor of Windows (Windows 95, 98, NT). Quake 2 has also been ported to Linux, Solaris (dedicated server only), Windows NT DEC Alpha, and Linux DEC Alpha. FreeBSD also works, using Linux emulation. Ports to other systems like Rhapsody (MacOS) and other Unix platforms are being planned.

Q: Which OS should I use?

A: Windows 95 or 98 should not be used, or used only on a temporary basis. NT is good, but its security concerns and lack of native remote administration may be a concern. NT Workstation has shown to be a good alternative to NT Server if you don't need NT Server's extra features.

Linux has been a favorite of server admins who know how to use this user-unfriendly system because of its versatility and efficiency. However, the TCP/IP stack included with Linux is not the best available. FreeBSD, another UNIX clone, has shown to be a good alternative with better TCP/IP handling, but it is a OS with a smaller userbase and thus a smaller user support base. It can run Linux programs through emulation, and also reported to be a bit more difficult to install than the popular Linux distributions such as RedHat or Slackware.

Q: Where can I find the latest Quake 2 server executables?

A: Latest Q2 patches are located at: ftp://ftp.idsoftware.com/idstuff/quake2, and are mirrored at ftp://ftp.cdrom.com/pub/quake2/official

Q: How do you set up a dedicated server on Win95 or NT?

A: The easiest way is to just run the install program off the CD. Then download and install the latest executable for Win32. (The filename for the latest setup package for Win32 is q2-320-x86.exe. If you want to get the q2dm1-q2dm8 deathmatch maps as well and all the other extras, download q2-320-x86-full.exe.

Then run the game with:

quake2 +set dedicated 1 +set deathmatch 1

Q: How do you set up a dedicated server on Linux, or on Solaris?

A: Here's a step-by-step guide to set one up manually (manually is the only way possible with UNIX):

  1. Create a Quake 2 directory. Call it anything you want, calling it quake2 is recommended. Create another directory under that, called baseq2.

  2. In the CD's /install/data/baseq2/ directory, copy the pak0.pak file into your baseq2 directory. (or, if you have the pak0.pak file somewhere else on your computer, you can create a symbolic link to that file in the baseq2 directory).

  3. Grab the latest Linux Quake 2 executable, found at ftp://ftp.idsoftware.com/idstuff/quake2/unix/. Grab the archive which has the name that best describes what your system is. If you want the full release with the deathmatch maps and all the other extras, download the archive marked with full.

  4. Ungzip and untar (or un-RPM) the file. The quake2 executable in your quake2 directory, and the game program file (gamei386.so, gamesparc.so, etc.) in your quake2/baseq2 directory.

  5. Change your working directory to quake2, then type in at the prompt:
    quake2 +set dedicated 1

Q: Can I enter console commands via the command line?

A: Yes. Just preface the console command with a plus sign "+". For instance, to send the command "map base2" through the command line, type:

quake2 +map base2

Q: What game settings can I use?

A: Here are some settings:

dmflags
A bitflag that controls gameplay options

fraglimit
Number of frags until the next map is loaded

timelimit
Time before map end

maxclients
Maximum players and observers

hostname
Name of server

deathmatch
Set to 1 if you want to play deathmatch

game
What mod directory you want to use

port
What port you want the server on

dedicated
Start a dedicated server if set to 1

You can set all the settings (or cvars, short for console variables) from two places. Either in the command line by using the parameter:

+set 'settingname' 'settingvalue'

Or by typing in the console:

set 'settingname' 'settingvalue'

Note that some settings cannot be changed in the console, but only on the command line. These settings are said to be "write protected" when you try to change them in the console.

Q: Bitflags?!? What do I do with dmflags??

A: The dmflags setting uses bitflags to control specific rules on the server. Each rule has a number, which is a power of 2. For the rules you want to implement, you add their numbers together, and enter that as the dmflags value.

An easy way to get your dmflags configured is to go to menu, select multiplayer then select Start Network Server, select deathmatch flags, and you'll see a screen full of options. Set these up to what you want, start the game, then type dmflags at console, it'll return a number. Use this number with dmflags to custom configure your own game.

Q: Is there a way to save settings to a file? How do I use .cfg files?

A: As in Quake, Quake 2 can execute a list of console commands saved to a text file. Usually, these files have the file extension .cfg, although the extension can be anything as long as the file is an ASCII text file.

.cfg files contain a list of console commands, very similar to DOS' .bat files or Unix script files. They are also very useful to set your server without manually entering them or using a long command line every time you need to start or restart.

First off, ignore the config.cfg file which pops up automatically every time you run quake2. Quake 2 will not automatically run config.cfg or autoexec.cfg when you first run it in dedicated server mode. Create your own .cfg file, naming it server.cfg is recommended. In this file, fill it with all the commands you would usually enter in the console. For example, here is a sample server.cfg which is an edited form of the one I use on my server, Senseless (quake.oz.net):

// Senseless @ quake.oz.net
set deathmatch 1
set hostname "Senseless Q2 DM (Lithium-flavored)"
set maxclients 12
set public 1
set timelimit 20
set fraglimit 40
setmaster q2master.planetquake.com
set dmflags 16404
set rcon_password "$#&%#@%*$?%@#"
// no, that is not my real password
map q2dm1

To have Quake 2 execute one of these .cfg files, the command in the console is:

exec '.cfg file'

and to execute it right after Quake 2 loads, the command line parameter is:

+exec '.cfg file'

Also note that in a .cfg file, anything right of two consecutive slashes (//) is considered a comment and is ignored by the program. Either new line (return) or a semi-colon (;) can seperate each command. And if you wish to set a certain map to be the first map played, the map command should be the last command of the file.

Q: Can I have my Quake server on port different than the default port (27910)? Can I have more than one port?

A: You certainly can. Add this to your command line:

+set port 'port_number'

Note that this setting cannot be changed in the console. Also, you can set different ports up (for example, one port could have different settings than another) on one machine as long as the port is set to different ports.

Q: How do I list my servers on the Master Servers? How do I get my server listed on Gamespy?

A: All you need to do is to set the public setting to 1. You do so by typing this into the console:

set public 1

Also, you can specify which master server you want your server to be listed on. Quake 2 automatically pings id's master server if public is set to 1. You can specify to use other servers (like q2master.planetquake.com) by using the command:

setmaster 'master server addr'

You can also specify more than once master server by seperating each address with a space. To get your server listed in Gamespy, make sure you have q2master.planetquake.com as one of the additional master server listed with the setmaster command.

Q: How do I use mods or patches?

A: Basically, install the mod in a subdirectory of the Quake 2 directory. Then start the server with the +set game command line parameter.

In your quake2 directory, create a subdirectory. This directory is where you place your program data file (called gamex86.dll for Win32, gamei386.so for Linux, gamesparc.so for Solaris Sparc, etc.) and any other relevant files (see your mod's install instructions). To start a game using this mod, use this command line parameter.

+set game 'your mod dir'

Q: Where do I put new skins, models, maps, etc?

A: Don't worry about skins or models. Quake 2 does not need these files on the server for clients to use. However, if you you want your patrons to be able download the files via the server, you need to place certain types of files in certain directories.

  • Map files can be placed in the baseq2/maps directory.
  • Male skins can be placed in the quake2/baseq2/players/male directory.
  • Female skins can be placed in the quake2/baseq2/players/female directory.
  • Cyborg skins can be placed in the quake2/baseq2/players/cyborg directory.
  • Plugin Player Models can be placed in their own directory, named quake2/baseq2/players/[model name]. For example, the Crackwhore PPM skins, geometry/models, custom sounds, etc. uses the directory name crackhor, and is placed in the quake2/baseq2/players/crakhor directory.

If any of the above directories do not exist on your server, go ahead and create it.

© 1998 Kevin Lee. All Rights Reserved.