Quake 3 Private Server With Bots

I'm trying to get the right combination of settings for my server so that I can do the following:

  • Start 7 bots (works fine)
  • Allow up to 4 humans to join (works fine)
  • Require password for all humans (not working)

Here are the relevant settings:

//set Maximum number of clients - we have overhead of 7 bots included here
sv_maxclients 11
sv_privateClients 4
sv_privatePassword "******"

What appears to be happening is that 4 of the bots fill the private slots, because when I view the server in my Favorites list, it says "3/7" participants.

If I make ALL of the slots private, (max 11, private 11) it shows "0/0" participants (though all my bots join) and I get "SERVER IS FULL" message.

Any guidance on the right settings?


UPDATE: Full Server Config and Version Info

Server Config:

//set Gametype to 4 for Capture the Flag Mode
g_gametype 4

//Capture The Flag settings below
//set timelimit. Timelimit of 30 is default for CTF. Set to 0 for no limit.
timelimit 30
//set frag capture limit before level changes. Set to 0 for no limit (Default: 8)
//capturelimit 8
//turn on friendly fire. Friendlyfire off is default for CTF. 1=on
//g_friendlyFire 0

//set host name that shows up in server list. Change below to your server name preference and remove the //
sv_hostname "My CTF Server"

//set message of the day that players see while connecting to the server. Must be set before level loads. Change below to your message of the day preference and remove the //
//g_motd "Happy Capturing!"

//set Maximum number of clients - we have overhead of 7 bots included here
sv_maxclients 11
g_needpass 1
g_password "*******"

//set remote console password used by client
rconpassword "*******"

//set max allowable rate for a client. 8000 to 10000 recommended. Max: 25000 (Default: 0)
sv_maxRate 10000

//turn on/off pak cheat check. 1=on, 0=off (Default: 1)
sv_pure 0

//Set map selection, cycle order, and start first map for Capture The Flag
set d1 "devmap q3ctf1 ; set nextmap vstr d2"
set d2 "devmap q3ctf2 ; set nextmap vstr d3"
set d3 "devmap q3ctf3 ; set nextmap vstr d4"
set d4 "devmap q3ctf4 ; set nextmap vstr d5"
set d5 "devmap q3ctf5 ; set nextmap vstr d1"
vstr d1

//set voting. 1=on, 0=off (Default: 1)
g_allowvote 1

//set power multiples for quad damage (Default: 3)
g_quadfactor 4

//syncronous clients is necessary to allow client demo recording.  Setting to 1 allows recording but play is not smooth and is not recommended for normal use. (Default: 0)
g_syncronousClients 0

// add bots
addbot uriel 3 blue 50 Uriel
addbot anarki 3 blue 50 Anarki
addbot bitterman 3 blue 50 Bitterman
addbot lucy 3 blue 50 Lucy

addbot sorlag 3 red 50 Sorlag
addbot grunt 3 red 50 Grunt
addbot xaero 3 red 50 Xaero

// fun
give all

Version Info: Q3 1.32b linux-i386 Nov 14 2002


Instead of using private/reserved slots, what you're probably wanting is a server password.

Try:

g_needpass 1
g_password "myquake3arenaserverrocks"

instead of your sv_privateClients/sv_privatePassword lines. This would make it so that all human clients connecting would need to know the password. I think that entering the password to join the server is part of the GUI and the user will be prompted for it automatically.

If you're sure you want to use private slots, I believe if you've got sv_privatePassword set, and all the slots left are private slots, you'll have to pull the console down and type:

/password "myprivatepassword"

before connecting to the server. You could also put this in a config or on the command line instead. (on the command line it would be +set password myprivatepassword)