The q2servers FAQ

Part 2: Server Setup

Everything you need to know about the various features of the server. Please note that some features are specific to the mods you are using, mods can have different ways to do the same thing. All methods described here are for the stock (unmodified) Quake 2 game code for v3.19.

  1. How do you enable custom map cycling?
  2. Does downloading work through the server like Quakeworld?
  3. How do you ban users?
  4. How do enable the server to keep logs of the server console output?
  5. How do you enable frag logs?
  6. How do you enable the server to show a welcome message or a MOTD?
  7. How do you do remote administration? How do you use "rcon?"
  8. How do you password protect a server?
  9. How do you disable password protection for a server?
  10. How do you create extra 'rules' that display in Gamespy?
  11. How do keep people from flooding (or spamming?)

Q: How do you enable custom map cycling?

A: Note that this method only works for v3.15+ servers using the original game code from id and mods that use the same system. Consult your mod documentation to see if it can and how it rotate maps.

There is a cvar called sv_maplist which you can set to the maps, seperated with a space, you want rotated. For instance, if you want to rotate between maps q2dm1, q2dm2, base1 and match1, you would set sv_maplist with:

set sv_maplist "q2dm1 q2dm2 base1 match1"

Q: Does downloading work through the server like Quakeworld?

A: Yes. It is almost identical to the system used in Quakeworld.

To enable it, set the cvar allow_download to 1. To disable, set it to 0.

For example, to allow downloads you can use this command in the console:

set allow_download 1

Also, as in Quakeworld, you can specify if you only want certain types of files downloaded or not. As in above, setting an option to 1 enables it, setting it to 0 disables it.

allow_download_players
Toggles the download of plug-in player models (PPMs), including skins

allow_download_models
Toggles the download of other models

allow_download_sounds
Toggles the download of sounds

allow_download_maps
Toggles the download of maps (including .env files)

Note that it will not matter if you set any of the four above settings on or off if you have allow_download set to 0.

Q: How do you ban users?

A: Note that this method only works for v3.15+ servers using the original game code from id and mods that use the same system. Consult your mod documentation to see if how to ban players.

To ban players, you first need to compile a list of IP addresses or filter masks. To find a player's IP address, type status in the console while they are online on your server. If that player is on a dynamic IP address, you may need to use a filter mask instead. ie, if the player's IP is 127.0.0.1, the filter mask usable for the domain would be 127.0.0.

Next, you can add each ip address or filter mask by using the sv addip command.

sv addip 127.0.0.1
sv addip 127.0.0

If you want to remove an IP or filter mask from the list, use the sv removeip command.

sv removeip 127.0.0.1
sv removeip 127.0.0

If you want to save your list to a file, type sv writeip. Quake 2 will write a listip.cfg file into your current working directory.

Finally, if you want the addresses on this list to be banned from the server, set the cvar filterban to 1. If you want the reverse effect, and only let the addresses listed on, set the cvar filterban to 0.

Q: How do enable the server to keep logs of the server console output?

A: Set the logfile cvar to either 1, 2, or 3. Quake 2 will create a qconsole.log file which mirrors all output generated by the console.

Setting logfile to 1 will cause Quake 2 to update the file at various times and at shutdown, writing to the file infrequently and minimizing disk activity. With logfile set to 2, the log file will be updated continuously. If set to 3, the log will be updated continuously and will not overwrite any existing qconsole.log files.

Q: How do you enable frag logs?

A: This feature is not implemented in Quake 2 as of v3.19. There are mods that can record frag logs, one mod that can is GSLog Mod, located at http://www.planetquake.com/gslogmod. Other mods can also records frag logs, some follow the GSLog standard while others follow Quakeworld's method.

Q: How do you enable the server to show a welcome message or a MOTD?

A: There is no way to display a welcome message or a MOTD (message of the day) without creating a mod for the server. Some existing mods do have this feature, one mod that can is Lithium II, found at http://www.planetquake.com/lithium.

Q: How do you do remote administration? How do you use "rcon?"

A: Come up with a clever password that no one can think of. Enter this command into the console, replacing 'your_password' with your password:

set rcon_password 'your_password'

To access the server, launch your client, connect to your server, and type into your client:

set rcon_password 'your_password'

Now, to send commands to the server's console, replace 'command' with your command and type:

rcon 'command'

Or, you can bypass setting the rcon_password in your client, and just type

rcon 'your_password' 'command'

but this method is a bit tedious when you want to enter more than one command.

With rcon, you can send any command available to a server's console, except for rcon_password. The changing of maps, timelimits, and other variables remotely are usually done over rcon.

Q: How do you password protect a server?

A: Password protection works very similarly to the system used on Quakeworld. First, select a password, and give this password to the folks you want to play on the server.

Enter this password into your server with the 'password' cvar by typing in the console:

set password 'your password'

Clients that wish to connect will need to type the same command into their consoles:

set password 'your password'

before they connect with the server. Note that you cannot use the word none as a password, check the next question to see why.

Q: How do you disable password protection for a server?

A: For v3.19+, simply just set the server's password to none. Like this:

set password none

This will reset the password field, setting the value to null and allowing anyone to connect.

Q: How do you create extra 'rules' that display in Gamespy?

A: It is done with the set command.

It's simply done. All you need to do is create a new variable with the set command like this:

set admin "Stress" s

Notice the s. This is a flag which tells the server that this is a server information field, and to pass along this variable as if it was a publically displayed rule. You must have this s to show that the variable is to be displayed. These publically displayed rules can also be seen by typing serverinfo in the console. Just to note: To set user­specific information (for clients), use the u flag instead.

Q: How do you keep people from flooding (or spamming)?

A: Flooding is the phoenomona of people sending an extravagant number of chat messages at once. This behavior is sometimes erroroneously called spamming, as spamming is a term for unsolicited commercial messages.

Note that this method only works for v3.15+ servers using the original game code from id and mods that use the same system. Consult your mod documentation to see if flood protection is offered and how it works.

As of v3.15, there are three new cvar settings used to control flooding. These are:

flood_msgs
Max. number of messages a person can send in the time specified in flood_persecond
flood_persecond
The max. amount of time a person can send the amount of messages specified in flood_msgs.
flood_waitdelay
Amount of time someone cannot send any messages after exceeding the limit.

For example, if someone decides to send more than the amount of messages specified in flood_msgs in the timespan specified in flood_persecond, this person will not be able to send any more messages for the time allotted in flood_waitdelay.

© 1998 Kevin Lee. All Rights Reserved.