Click here to edit subtitle


This page is devoted to the game of Quake:

Q3 Arena Server Configurator (Q3ASC) v4

Requirements: You must have a legal copy of Quake 3 Arena and it must be installed with a Maximum Install.

What it Does:

Q3ASC creates configuration files and desktop shortcuts for Q3 Arena Servers. You may create rotating gamestyles as well as rotating maps! Bots can be added to your server as well.

Now includes Remote Admin utilities!

First Setting up Q3ASC

When you first open Q3ASC it will prompt you to follow a few easy steps so you can get on with the killing.


First it will ask you to set the path to the Quake3 EXE. You can browse to do this. NOTE: If it doesn’t prompt you for this your path was already correct. Lucky YOU!

Next you will be asked to enter some personal information. This information will show up in Gamespy. After you fill it out, it will automatically update all pre-existing configs with your information and when you create a new config this info will be the default for the new server.

You will be prompted to scan your PAK files. If you hit "yes" there will be no turning back!!!! It will take 5-20 minutes depending on how many map files you have.

Q3ASC will warn you that these settings might not work until you restart the program. So RESTART IT.

Next - familiarize yourself with the interface

On the left you should see two different lists. The list located at the top left is Stored Configs. You can double click on any of the names on the list and the Config Control window will open showing all of the selected server’s settings. You can edit settings from here. Notice that at the top left of the Config Control window is the name of the config you are editing. You can also right click on the names in the list for more options.

These same rules apply to the Available Gamestyle list on the bottom left, except the window that opens on a double click here is the Gamestyles Control window.

Next - Select -|File| from the top menu

Here you can reset your default personal info and your quake3 path. But you should configure your main map list first. Select -|File|Maps|- from the top menu and check what maps are in your list. I have added a few maps for you already. You may add as many maps as you like. Just remember that if you attempt play a CTF game without using a CTF map, the server will halt!

Next - The GameStyles Control Window

The GameStyle Control Window contains a lot of the common server settings that you should already be used to seeing. The difference here however, is that you may assign a different GameStyle to each of the maps in your server's map list. This is located in the Config Control Window.

Last but not least, The Config Control Window

Here, you will put together maps and Gamestyles with server global settings to create the final configuration file to be run by your server.

Be Carefull with the Server Memory Allocation!

If you EVER see “recursive error after: Hunk_Alloc failed on”… or something similar (any malloc, etc…), you have set the memory allocation too small! 56 megabytes are required to run a Non-Dedicated server and you might get by with as little as 16 for a Dedicated server. I would recommend that, as a general rule, you never set this higher than half your computer’s physical memory.

You will have to experiment!


More Bots = More Memory

More Players = More Memory

Quake3 is guaranteed to fail if you set your server to 60 players and you do not have enough memory!


Set the Server Type, Connection Details, and Bandwidth control here. The most effective method of controlling server overloading is to turn down your Server's Framerate. You can test how much bandwidth your server will be using with the current settings if you press the Calculate Server Bandwidth Usage button.


Set player quantities here. You can also limit Minimum and Maximum pings for players.

Master Servers

This is the list of servers that your server will ping while running. ID software and GameSpy will always be pinged. If you do not want to attract players, set Server Type to LAN or add password.

Map Config

Create your maplist here. Each map may have a GameStyle assigned to it. A map may be duplicated in the list as many times as you like with different Styles. You are only limited to 25 maps in any one-server config. You can darg and drop from the Available Maps Window!!! Also - make sure the maps you select go with the mod you have selected!! (see below)


This is the information that will appear in GameSpy. Any values left blank will not appear in GameSpy at all. The information you entered when you first started Q3ASC should appear here.


There are two options for playing against bots on your server.

You can select the Bots you would like to battle with and make a custom list. You are limited to 12 Bots. Each Bot may be set to a different Skill level with this option.

Or you can select the Automatic Bots checkbox and you have a different choice. Here you pick how many bots there are and a global hardness level for all bots. These bots will hang out on your server and as humans join they will drop off one by one and then come back again as human players drop out. These will be random bot models.


Set the server memory allocation here. And.... Do you want to create a custom GameSpy Tab for just your servers? Enter a value (special code, clan shit, whatever) in this field and use it to create your own tab! Just create a new Tab in GameSpy with a filter like [Rule: key does contain "yourvalue"] where yourvalue is what you typed into Q3ASC. Export the Tab and send it to all your friends!


The Dropdown list will contain a list of the Mods found on your machine during the PAK file scan. You may select any Mod you want, just make sure the maps you select go with the mod!! You may load and save template files to record any special setting you have entered.


Saving the Config

Once you have the settings you desire select Save in "Server Configurations" to save the configuration. This will update the database entry and create a config file in with the same name.


This does basically the same thing as Saving the Config, but it will run the server after saving.

Creating a Shortcut

This will create a shortcut on the desktop for the currently displayed config. Once you have created a shortcut for a config you like, it is not necessary to run Q3ASC every time. You may create a separate shortcut for each config in the database.

New Configs

This will create a new database entry for the name you specify with all defaults. You may edit the settings to your liking.

Deleting Configs

The Current config will be permanently deleted from the database. The config file in the demoq3 directory will remain, however.

Remote Administration

You may send commands to a remote server and get information from a remote server with this utility (if you know the rcon password). You must know the server's IP address and port number to connect properly. Players may be kicked and bots may be added at any time. Commands may also be entered directly using the Console window. Just type in the command and press enter to send it to the remote server. YOU CANNOT USE THE REMOTE ADMIN UTILITY OR THE CONSOLE FOR A SERVER RUNNING ON THE SAME MACHINE AS Q3ASC!!!... a port conflict will occur and nothing will happen.

Thanks for trying my software! If you have some suggestions or commands you would like me to add, contact me at machanna@erols.com


Michael Hanna

aka - cOmEgEtSoMe!

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

<div align=center><font color="beige">Q3 Server Config Commands</font></div>


be_camptimeout 20
be_campprotect 0
be_campwarnmessage "%s - You have 5 seconds to move or be killed for
be_campdeathmessage "%s was killed for camping!"
be_campshuffle 100
be_limitspec 0
be_damagegauntlet 50
be_damagemgun 7
be_damagesgun 10
be_damagegrenade 100
be_damagegrenadesplash 100
be_damagerocket 100
be_damagerocketsplash 100
be_damagelgun 8
be_damagergun 100
be_damagepgun 20
be_damagepgunsplash 15
be_damagebfg 100
be_damagebfgsplash 100
be_splashrgrenade 150
be_splashrrocket 120
be_splashrplasma 20
be_splashrbfg 120
be_jumpvel 270
be_usecustomdamage 0
be_nopowerups 0
be_noholdables 0
be_noarmor 0
be_nohealth 0
be_spawnwithgaunt 1
be_spawnwithmg 50
be_spawnwithsg 0
be_spawnwithgl 0
be_spawnwithrl 0
be_spawnwithlg 0
be_spawnwithrg 0
be_spawnwithpg 0
be_spawnwithbfg 0
be_offhandhook 0
be_firedelaygaunt 400
be_firedelaymg 100
be_firedelaysg 1000
be_firedelaygl 800
be_firedelayrl 800
be_firedelaylg 50
be_firedelayrg 1500
be_firedelaypg 100
be_firedelaybfg 200
be_rocketspeed 900
be_bfgspeed 2000
be_grapplespeed 800
be_grappledragspeed 800
be_wepswitchdelay 200
be_fixstrafebug 0
be_smallhealth 5
be_mediumhealth 25
be_largehealth 50
be_megahealth 100
be_smallarmor 5
be_mediumarmor 50
be_largearmor 100
be_maxstats 100
be_maxammo 200
be_dropitems 1
be_nofalldamage 0
be_bodysstay 5000
be_startinghealth 125
be_startingarmor 0
be_grenadelife 2500
be_respawndelay 0
be_revengeprotect 0
be_revengetimeout 3
be_onlymapvoting 0
be_allowrmods 0
be_rmodpassword ""
be_nospawnmg 0
be_nospawnsg 0
be_nospawngl 0
be_nospawnrl 0
be_nospawnlg 0
be_nospawnrg 0
be_nospawnpg 0
be_nospawnbfg 0
be_maxsuicides 0
be_playerspeed 1
be_gauntweight 1
be_mgweight 1
be_sgweight 1
be_glweight 1
be_rlweight 1
be_lgweight 1
be_rgweight 1
be_pgweight 1
be_bfgweight 1
be_regenhealth 0
be_regenhealthtime 0
be_regenarmor 0
be_regenarmortime 0
be_regenammo 0
be_regenammotime 0
be_startingweap 2
be_runevampire 0
be_runeregen 0
be_runestrength 0
be_runeresist 0
be_rvampirefraction 0.5
be_rstrengthmod 1.5
be_rresistmod 0.5
be_rregeninc 5
be_pickupmsgvampire "You found the Vampire Rune!"
be_pickupmsgregen "You found the Rune of Regeneration"
be_pickupmsgstrength "You found the Rune of Strength"
be_pickupmsgresist "You found the Rune of Resistance"
be_respawnprotect 0
be_motd ""

Starting Server Commands for BFG room

sv_allowdownload 1
sv_pure 1
rconpassword muldoon
sv_maxrate 0

be_spawnquad 0
be_spawnwithquad 0
q_quadfactor 1500

ammo regen is



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

so if sum1 on ur net work was downloading

u would take all the internet packets

and they would get less

and a slower download

be_campprotect 0
be_limitspec 0
be_splashrgrenade 150
be_splashrrocket 120
be_splashrplasma 20
be_splashbfg 120
be_jumpvel 270
be_usecustomdamage 0
be_nopowerups 0
be_noholdables 0
be_noarmor 0
be_nohealth 0
be_offhandhook 1
be_firedelaygaunt 400
g_blueTeam Geezers  (actually Pagans)
g_redTeam Skroggs  (actually Stroggs)
sv_floodProtect 1
sv_maxPing 0
sv_minPing 0
sv_maxRate 0
sv_hostname "The **Viper** Lair"
dmflags 0
fraglimit 20
timelimit 20
sv_maxclients 8
g_maxGameClients 0
capturelimit 0

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

<div align=center><font color="beige">Q3 Server Tech Tips:</font></div>

This is where your gaming and hardware needs are met. Be all that you can be or get out of the game! This won't be a forum for techno-geeks to find more ways to impress their non-technical friends, it's for plain folk who need help to better their gaming experience. But don't blame us if you blow your machine sky high; we're offering tips, not the Bible on computers. The mailbag is alive and well - send in those questions to TechTips.
— by Love2Play

 Quake 3 Server 

We really have a special treat this time.  Scarab of well...Scarab , has given us the pleasure of sharing his Quake 3 Server setup guide with us.  There isn't a better one on the internet!  So gear up those cable and DSL connections for running your own Quake 3 server!

 Server preparation

Put this setting in your server.cfg file unless you're running a server side mod. I understand from several mod developers there are some issues with PURE SERVER which could cause problems if it's set to 1.
set sv_pure 1

Examples of Server Side Mods include Alliance FlagMatch and Matchmod. Please consult the mod documentation for details.

Setting up a server is very simple. Getting the server settings customized is a whole other story!!! It would be a whole lot easier if the folks who made the game gave us some detailed information. What you'll see here is a result of hours of testing and experimentation.

The easiest way to start up your server, is to use the menu when you start Quake 3. Choose MULTIPLAYER and click on CREATE at the bottom of your screen. Within 30 seconds, you'll have a server. You can then use the menu to select some custom settings, but this is very basic.

If you really don't want to mess with manually setting up the server config file, check out the Quake3Arena Server Configurator, it's an excellent way to use a gui front end to set up your server config file..

This is a new feature in the multiplayer setup screen. If the pure server option is "ON," then all clients must have the identical .pak file the server has. This was implemented to prevent cheating and hacking. Setting up a server with this off will enable any pak file configuration to enter the game. The .pak file is a very large compressed file that contains all of the games assets. Users can uncompress the file using the program WinZip.

But it has the potential in allowing some players to implement cheats available to them, I've seen them in practice, and they are cheats unless all players know it's available and have the equal opportunity to use it. Imagine having a radar screen on your HUD, and able to see where enemy players are behind walls and doors? You're chasing an enemy flag carrier, get to a door only to meet with an exploding rocket fired a second before the door even opened. Now it's a great tool if all the players have it, and the playing field is level.

Running sv_pure 1 protects you, the gamers, from hacked pack files and cheats that are capable via pack files. The sv_pure option works like this: if it's turned off, any pak file is visible that the client has; with sv_pure 1, however, only the pak files located on the game server are allowed on that particular server, so if you want your favorite HUD replacement available to you in game see if the server admin will load it to their baseq3 directory. Otherwise the custom HUD is rendered useless. However players with the HUD can still join and play. Since the latest point release you no longer will get kicked back to the main menu if you have other pak files; that was a bug in the code that id fixed.

One way to properly deal with this entire issue, is to make the server pure and make available to all players the special paks you will allow them to use. If you like a particular custom HUD and sound effects, put it on your web site for download. The other is to review and install submitted pak files from your player community. (side note: Please be aware, if you're an admin, you'll need to verify that the client pack files submitted to you are legit, and not pak file that may have a cheat in it.)

This topic will stir emotions in everyone playing the game. My personal feeling is I think ID's heart is in the right place. As an operator myself, it's important to me we minimize cheating. However, I also realize the need and desire to customize your client. There has to be a happy medium somewhere. Some very talented people have indeed designed some pretty cool HUD's and other add-ons. I hope we'll see a compromise in future updates. There has to be one. If not, we'll have a fragmented community with limited availability on servers depending on what group of players you belong to, pure vs non-pure.

The non-dedicated server is one on which you can play. For instance, a LAN or any home user could set up their own server and have friends join to play. Again, the easiest way is to just start up Q3A, choose Multiplayer from the menu, then find the CREATE button in the lower right. This is the simplest way to do it.

Now you can get fancy and set up all kinds of stuff with your server config file. But if you want to start a non-dedicated server from a windows shortcut, the command line looks basically like what I have below. Keep in mind, you'll need to use NotePad or another text file editor to create a server config file with all the settings you want. In this example, I've named it myserver.cfg
"C:Program FilesQuake III Arenaquake3.exe" +exec myserver.cfg

To customize your server, you'll need this config file. The quake server execution commands above will also include an exec of the specified config file. So it will load your settings for any type of game you've specified in the config. Geez, this all sounds so confusing!!!

Open an existing CTF.CFG file or make a new one in a text editor (like Notepad). I've included my Alliance CTF.CFG at my website for you to cut and paste, or adjust as necessary. // hash marks are commented/remarked lines. Simply remove the // marks if they are in front of a "set" command you want to enable. Otherwise, they are disabled if preceded by the hash marks.

Go through and make the appropriate changes for variables you want to enable or disable. NOTE: Some of the variables are for Alliance CTF mod only in this example and are noted so.

NOTE: You cannot play on your own system if you make it a dedicated server. It's "dedicated" to just serving up the game to incoming players.

The variable after the DEDICATED command determines if your server is broadcasted to the ID Master. 1=NO 2=YES If you want players to see your server on Gamespy, set this variable to 2

Free For All
quake3.exe +set dedicated 1 +set com_hunkmegs 16 +exec ffa.cfg

quake3.exe +set dedicated 1 +set com_hunkmegs 12 +exec tourney.cfg

Team Deathmatch
quake3.exe +set dedicated 1 +set com_hunkmegs 16 +exec teamplay.cfg

Capture The Flag
quake3.exe +set dedicated 1 +set com_hunkmegs 26 +exec ctf.cfg

If you are on a multi-homed server and the default IP is not what you want to use for your Quake 3 server, the net_ip command will need to be used. This must be set on the command line in the following form.
Usage: +set net_ip "youripaddressgoeshere"
Sample: quake3.exe +set dedicated 1 +set net_ip


Changing the default server port requires the net_port command be run on the command line. It is useful for running multiple servers on the same computer or making the server somewhat more private. The default port is 27960 and is incremented automatically by 1 if another server is started without a specified port.
Usage: +set net_port "portnumbergoeshere"
Sample: quake3.exe +set dedicated 1 +set net_port 27961

Server settings are only used only on the server and may be used at the console or command line. Command line usage requires a set before each command. For example: set sv_maxclients 16

Sets the maximum amount of clients that can connect to the server. The default setting is 8. Setting should be increased for large free for all, team deathmatch, or CTF maps. Usage: set sv_maxclients 16
Increase this number if you add private clients.

Sets the number of private clients who can connect on a full server. The private clients are included in the maxclients setting. So if maxclients is set to 8, and privateclients is set to 2, only 6 players can join to fill the server. The last 2 slots are reserved for privateclients (i.e., Admins, refs, server operators. Usage: set sv_privateclients 2

Sets a privateclient password on the server so only privateclients that know the password can connect to the server. Clients use the set privatepassword command in their config file to connect. The default is for no password required. Set to "" for no password. Better yet, eliminate the line item, or precede the line with // to remark it out. Usage: set sv_privatePassword "xxxx"

Sets the password for general player/public access. Players need to put SET PASSWORD xxxx in the client side config file to access the server. This is the general password for access, not the PrivateClient password setting. Usage: set g_password "xxxx"

Sets the server name that will show up in the master server list. The name must be enclosed in quotes if a space is in the name. Way too often this is left blank. Use this to tell people the name of your server. Usage: set sv_hostname "yourservernamehere"

Sets the primary master server to which your server reports. The default is master3.idsoftware.com and it is not recommended that this be changed. Additional master servers can be added with the sv_master2 through 5 command. The maximum number of masters that can be reported to is 5. Usage: set sv_master2 <master.domain.com>

Sets the maximum allowable rate a client may have set when connected to the server. The default is 0, which is no limit. A suggested setting is 10000 so server bandwidth is not used up by high speed clients, thus allowing modem players to have a smoother game. Usage: set sv_maxRate 10000

See top of this page for details. This controls crc/zip check of client pk3 files to make sure the pk3 file has not been modified for cheating or other purposes. Client pk3 files must match that of the server to connect. The default is set to 1, or on. Set to 0 to turn off check. Usage: set sv_pure 1

Generally, all game commands must be entered after the level loads either in the config file or on the command line/console. Exceptions include the g_gametype and g_motd command. The following are the most useful game commands for a dedicated server.
Note: These config commands must begin with the "set" command.

g_warmup - sets the amount of time in seconds that players may practice before the actual tournament match starts. The default is 20 seconds. This lets players disconnect and keeps one player who is first to connect from grabbing a flag or quad.
Usage: set g_warmup <#seconds>

g_friendlyFire - determines if players can damage their own teammates. Set to 1 to allow players to damage their own teammates. Set to 0 so players can not damage their own teammates. Setting has no effect for free-for-all or tournament modes. A setting of 1 is suggested for team deathmatch, while a setting of 0 is suggested for Capture The Flag. Especially if it's a public server.
Usage: set g_friendlyFire

g_gametype - controls the type of gameplay (free for all, tournament, team deathmatch, CTF). The default is 0, which is for free for all. Set to 1 for tournament 1 on 1 mode. (2 is Single Player) Set to 3 for team deathmatch mode. Set to 4 for CTF mode. Usage: set g_gametype 4

g_motd - sets the message that clients will see when they first connect to
your server. AVOID using punctuation marks of any kind, but keep the message in quotes.
Usage: set g_motd "Don't be lame just play the game"

g_log - sets the name of the server log file. The default is games.log and does not need to be modified unless running multiple dedicated servers on the same computer. Usage: set g_log <filename.ext>

g_quadfactor - used to set multiples of damage caused by the quad damage
powerup. The default is 3 times damage, with 1 being equal to no quad damage powerup. Decimals may be used (e.g. 0.25). Last time I checked, quad meant 4 right? Why is 3 the default?
Usage: set g_quadfactor <#>

g_syncronousclients - syncs all clients up to allow demo recording. The default is the more desired 0 which allows smoother net play. Set to 1 to allow client demo recording.
Usage: set g_syncronousclients 0

g_weaponsrespawn - used to set the number of seconds between the time a
weapon is picked up and the time it respawns. The default is 5 seconds in free for all and should only be modified if a free for all server has a large number of players on it, in which case lower it slightly. It is not recommend that it be set to 0 or modified for other game types. Turn on weapon stay if you want weapons to remain on the map and leave this command out.
Usage: set g_weaponrespawn <#seconds>

g_allowvote - enable players connected to the server to call for and vote
on changes including: map, map restart, kick, and g_gametype. The default
is 1, which is on. Set to 0 to turn off voting.
Usage: set g_allowvote 0

Quake 3 Server

Note: Also referred to as RCON if you want to control the server remotely.
Server console commands are used from the server console or the remote console.

status - shows the client number (num), score, ping, player name (name), client IP address (address), and port connected through (qport). Client number is used in conjunction with the kick command.
Server Console Usage: status
Client Console Usage: rconpassword xxxx status
(where xxxx is the actual password)

kick - removes a player from the server. Particularly useful for removing
disruptive players. To kick a player, first find the number (num)
associated with the player name via the status command.
Server Console Usage: kick playernumberhere
Client Console Usage: rconpassword xxxx kick playernumber
(where xxxx is the actual password)

rconpassword scarab kick 12
The player number 12 would have been the player identified with the status command. In this example, scarab is the password.

capturelimit - sets the number of flag captures that must be reached before the level ends and the next level starts in CTF. Setting capturelimit only has an effect if the server is in CTF mode. Usage: capturelimit <##>
Server Console Usage: capturelimit 8
Client Console Usage: rconpassword xxxx capturelimit 8
(where xxxx is the actual password)

fraglimit - sets the amount of frags that much be reached before the level ends and the next level starts. Setting fraglimit to 0 results in no fraglimit. Server Console Usage: fraglimit ##
Client Console Usage: rconpassword xxxx fraglimit 100
(where xxxx is the actual password)

timelimit - sets the number of minutes that must be reached before the level ends and the next level starts. Setting timelimit to 0 results in no fraglimit. Server Console Usage: timelimit <#min>
Client Console Usage: rconpassword xxxx timelimit 30
(where xxxx is the actual password)

rconpassword - sets remote console password so clients may change server settings without direct access to the server console. The default is set to none. Client can control the server by entering commands on the console with the format of \rconpassword mypass and then adding server commands after the \rcon command.
Usage: rconpassword <serverpassword> (then the command here)

rcon is the client level command to initiate function on the server. Put the command "set rconpassword xxxx", where xxxx is the password in your CLIENT SIDE config file. When the config file loads, theoretically the password is accepted if it matches the server setting and the client passes the check. At this point, you should be able to issue the rcon commands like rcon xxxx status, rcon xxxx kick 10. (where xxxx is the actual password)


Remote console, called RCON is the way a client can control the server. I control a server in Texas from Maryland with RCON. The rcon password is set on the server in the server config file. When you join the server as a client (player), you can have your client side config file enter the password and have rcon priviledges automatically, which I highly recommend.


WARNING: Otherwise, when you join the server and try to issue the initial rconpassword command at the console manually, if you do not include a / slash in front of the command line, the entire line you just typed will be broadcast to the entire field of players.

If you're an admin, I would strongly recommend you include the following command in your config to avoid sending the password to everyone on the server.

seta rconpassword "xxxxx" //the rcon password on the server

Include this line in both the server and client configs. When you enter the server to play, you will not need to issue the rconpassword command, you're logged in automatically. Otherwise, you might want to bind some of the commands below where a variable is not required.

\rconPassword XXXX (i.e., bind F10 rconpassword doerayme)

bind F11 rcon XXXX status (print IP's, player names and ID to console)

\rcon map_restart

\rcon map (mapname here)

\rcon vstr d4 //calls up the d4 map in the vstr rotation

\rcon timelimit 30

\rcon fraglimit XX //where XX is the new value

\rcon maxclients XX //where xx is the new value

\rcon kick (player's name or ID number of player to kick goes here)
The ID number of the player is found when you have already done an rcon status


Until there's a Q3A Admin Utility developed, you're stuck with the built in features of Q3A (yawn). In the server config file, you must include this line to enable banning:
set g_filterban 1

Once this variable is set, you can ban IP addresses from the rcon.

\rcon addip //adds this IP address to ban list

\rcon addip 289.292.0 //bans the entire class c subnet
This command bans everyone in the 289.292.0.XXX network. Effective for banning problem players who have a dynamic IP address. Yes, you probably can ban the entire subnet, but you'll loose a lot of potential players. It's up to you.

\rcon removeip //removes this IP from the ban list

\rcon g_banips //shows the IP ban list in console

Final word, I have the following in my autoexec.cfg file:
seta rconpassword scarabrocks
bind F10 rcon status
bind F11 rconpassword scarabrocks //in case set command was not read when I connected


Advanced users can create configuration (or .cfg) files that will execute many commands at once. One application for this is in creating a multiplayer game where the game cycles to the next arena listed in the "config" file and sets a new fraglimit for that arena. An example config file is listed below. To create this or a similar config file, you will simply need to create a new text file, copy everything listed below, save it, then rename it to FFA.cfg (or whatever name you choose). You should place these files in your \baseq3 directory or the appropriate mod directory depending on the game.

IMPORTANT: To start the rotation, you need to have the +vstr m1 in the server startup command line.

An example of a Windows Shortcut to start a non-dedicated server, and to load up my custom server config file called MYDM.CFG, which contains a map rotation:

"C:Program FilesQuake III Arenaquake3.exe" +exec mydm.cfg +vstr m1

Another example, this time a CTF server, dedicated.
"C:Program FilesQuake III Arenaquake3.exe" +set dedicated 1 +exec ctf.cfg +vstr m1

The "+vstr m1" is explained below. It's simply the first variable in my map rotation scheme which tells Quake to run Map Q3dm1, with a fraglimit of 10.


//This config file cycles through all the maps in the DM game. Free For All mode is gametype 0

set g_gametype 0

set m1 "fraglimit 10; map q3dm1; set nextmap vstr m2"
set m2 "fraglimit 10; map q3dm2 ; set nextmap vstr m3"
set m3 "fraglimit 15; map q3dm3 ; set nextmap vstr m4"
set m4 "fraglimit 10; map q3tourney1 ; set nextmap vstr m5"
set m5 "fraglimit 15; map q3dm4 ; set nextmap vstr m6"
set m6 "fraglimit 15; map q3dm5 ; set nextmap vstr m7"
set m7 "fraglimit 15; map q3dm6 ; set nextmap vstr m8"
set m8 "fraglimit 10; map q3tourney2 ; set nextmap vstr m9"
set m9 "fraglimit 20; map q3dm7 ; set nextmap vstr m10"
set m10 "fraglimit 20; map q3dm8 ; set nextmap vstr m11"
set m11 "fraglimit 20; map q3dm9 ; set nextmap vstr m12"
set m12 "fraglimit 10; map q3tourney3 ; set nextmap vstr m13"
set m13 "fraglimit 15; map q3dm10 ; set nextmap vstr m14"
set m14 "fraglimit 20; map q3dm11 ; set nextmap vstr m15"
set m15 "fraglimit 20; map q3dm12 ; set nextmap vstr m16"
set m16 "fraglimit 10; map q3tourney4 ; set nextmap vstr m17"
set m17 "fraglimit 15; map q3dm13 ; set nextmap vstr m18"
set m18 "fraglimit 20; map q3dm14 ; set nextmap vstr m19"
set m19 "fraglimit 20; map q3dm15 ; set nextmap vstr m20"
set m20 "fraglimit 10; map q3tourney5 ; set nextmap vstr m21"
set m21 "fraglimit 15; map q3dm16 ; set nextmap vstr m22"
set m22 "fraglimit 15; map q3dm17 ; set nextmap vstr m23"
set m23 "fraglimit 15; map q3dm18 ; set nextmap vstr m24"
set m24 "fraglimit 15; map q3dm19 ; set nextmap vstr m25"
set m25 "fraglimit 10; map q3tourney6 ; set nextmap vstr m1"


Other game types you could specify are:

0 Free For All
1 Tournament 1 on 1
2 Single Player
3 Team Deathmatch
4 Capture the Flag

But some maps will not play in CTF mode. Check your mod readme instructions for more particular details.

The com_hunkmegs command must be set on the command line and will not work if executed in a config file. com_hunkmegs - allocates a certain amount of memory for map and item loading.

The command com_hunkmegs is used to increase or decrease the size of memory used by the game. By default it is set to 56 which allows the game to run on computers with 64 megs of ram. If your system has more than 64 MB of RAM, you can adjust this value to allow for the loading of more unique models.

For example: If you have a machine with 256 megs of RAM you can use the command com_hunkmegs 128 to allocate more memory to the program. You would do this by accessing the game console (press the ~ key), and typing in: com_hunkmegs 128 (substitute the amount of memory that you would like to dedicate for the "128" in the example above). NOTE: You can only allocate up to 3/4 of your total system memory before you may experience problems with your computer system. The default of 56 is required for the client but is overkill for a dedicated server, and thus wasting precious server memory. For general use free for all, tournament maps, and team deathmatch, a com_hunkmegs setting of 16 is sufficient. Capture The Flag requires a minimum com_hunkmegs setting of 26 with the included maps. NOTE: user made or future map releases may require a higher setting.

If you receive an ERROR: Hunk_Alloc failed then try increasing the com_hunkmegs setting in increments of 2 until the map successfully loads. Command-Line Usage:
+set com_hunkmegs <##>
Example: quake3.exe +set dedicated 2 +set com_hunkmegs 128


Wrap up

In short - the simple end to all this is:

1.  Create a .bat file to launch your dedicated server containing the command parameters as shown earlier.  Easy way? Make a shortcut to Quake3.exe on your desktop and edit the command line.  Then you have a simple double-click icon and away your dedicated server goes!

2.  Make a server.cfg file.  This is whatever.cfg you want to call it.  You open a new Notepad and put the commands and settings as explained in this guide.  It tells your server what rules to use when it runs.

Final Note:  Please read this guide, bookmark Scarab and use it well to run your server.  There is nothing worse than a server that is run poorly and crashes all the time.  Scarab has a great guide to Server Admin etiquette as well.  Look it over.

As always, remember to ask those questions and fight for the right to have your e-mail question aired on TechTips. Or visit our Forums for schmoozing and knowledge sharing. 

// Hud Display Options
seta cg_drawammowarning "1"    //warning comes up when you are low on ammo
seta cg_drawcrosshair "1"            //turns on your crosshair
seta cg_drawcrosshairnames "1" //lets you ID player names in HUD
seta crosshairhealth "1"             //puts your health near the crosshairs
seta cg_gun "1"                    // weapon removed from site, use hud to see weapon selection
seta cg_lagometer "0"            //toggle turns on your netgraph if set to 1 in the corner
seta cg_thirdperson "0"          //toggle turns on 3rd person viewpoint
seta cl_noprint "0"                //toggle console messages on/off, only team messages come thru
seta cg_drawfps "0"                //toggle for drawing your FPS on the HUD
seta cg_drawtimer "0"              //toggle for notifying you have how much time left in map
seta cg_show2d "1"                 // show 2d items on hud and display
seta cg_draw3dicons "1"          //change to zero if you want simple graphics of weaps
seta cg_drawattacker "1"         //who's shooting me in the ass?

// Miscellaneous Options
seta cg_autoswitch "0"     //zero is do NOT switch to weapon I pick up, I choose the weap
seta cg_brasstime "0"        // enter 1 to see bullets flying out of the machine gun
seta cg_gibs "0"               //gibs are cool to see, but unnecessary, clog the pipe, zero is gibs off
seta r_smp "0"                 //toggle the use of multi processor acceleration code, huh?

// Player Preferences
seta handicap "100"          //many say I'm handicapped  :)
seta model "visor/red"       //model and color chosen
seta fov "100"                   //90 or 100 is good for Field of Vision, prefer 100 though
seta maxfps "0"                //sets maximum FPS, used by modem player mostly
seta com_maxfps "0"
seta cl_run "1"                  // run all the time, no walking or you'll get shot!!  hehe

// Railgun Options, limits what you see in splash effect of the rail shot
// These settings MINIMIZE the railgun visual effects, less lag I think.
seta cg_railtrailtime "400"
seta color "4"                           //sets color of rail shot to red
seta r_railcorewidth "1"
seta r_segmentlength "1"
seta r_railwidth "1"
//Other colors for rail are blue/green/cyan/red/magenta/yellow/white respectively1/2/3/4/5/6/7

// Network Options
seta cg_nopredict "0"        // keep at Zero, do not change
seta cl_maxpackets "35"  // I have cable connection, but limit packets to 35
seta rate "10000"              // good for cable modem connection speed, go lower on dialup

// Sound and other player options
seta s_loadas8bit "1"
seta s_volume "0.7"
seta s_khz "22"
seta m_forward "0.25"
seta m_pitch "0.022"       //pitch and roll of your player movements
seta m_side "0.25"
seta m_yaw "0.022"
seta freelook "1"                      // freelook for mouse enabled
seta r_allowExtensions "1"
seta r_ext_compiled_vertex_array "1"
seta r_swapInterval "0"
seta snd "sarge"                       // Visor Sounds
seta crosshairsize "24"            // Crosshair Size (default 24)
seta viewsize "100"                  // % of screen shown
seta cg_drawKiller "1"             // Show Last Killer
seta cg_drawStatus "1"
seta in_mididevice "0"               //keep music off, listen to team mates and play the game :)
seta in_midichannel "0"
seta in_midiport "0"
seta in_midi "0"


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

<div align=center><font color="beige">Custom Bot Commands</font></div>

You delete out the before this sent skin....pk3 file.
Now in one block it is the skin and bot.
     consol command: /addbot skrogg 9999.05
                     ("9999" -no bot icon; ".01" - ".05" -difficult level)
                     (funname SKROGG**Viper**)
//edit bot chat:
  open skin-bot-klesk-skrogg.pk3 file therein - botfiles\botsskrogg_t.c
which the file open text editor program(Q2/Q3 cfgGen) and edit you lieke. The
form given.