// Servers have the ability to run multiple gametypes, known as "factories." You should not add gameplay related
// cvars in the server config: they may get overwritten by the factory. For creating your own sets of gameplay rules,
// create a file ending in ".factories" inside baseq3/scripts, and refer to "Creating custom gametypes" in the
// server_readme.txt file.

// Be aware that factories can override any cvar, including ones specified in this config file.

set sv_hostname "SERVERNAME"
set sv_tags "" // Comma delimited field of server tags to show in server browser.
               // Will automatically include gametype and some gameplay modifications.
               // ex. "crouch slide, classic, space"
set sv_mapPoolFile "mappool.txt"  // Map pool that the server will use. See default mapcycle.txt for format.
                                  // Built in map pools: mappool.txt, mappool_ca.txt, mappool_ctf.txt, mappool_duel.txt,
                                  //                     mappool_ffa.txt, mappool_race.txt, mappool_tdm.txt
set g_accessFile "access.txt"      // Used to determine which 64-bit Steam IDs have admin access, or are banned.

set sv_maxClients "16"     // How many players can connect at once.
set g_password ""          // Set a server-wide password, and stop all users from connecting without it.
set sv_privateClients "0"  // Reserve slots that can be used with sv_privatePassword.
set sv_privatePassword ""  // Password to use in conjunction with sv_privateClients.
set com_hunkMegs "60"      // May need to be increased for additional players.

// Flood protection will increment everytime the user sends a client command, ex. dropweapon, changing name, color
// model, or chatting. Set g_floodprot_maxcount to 0 to disable completely, but this will allow uncontrolled spam.
set sv_floodprotect "10"       // Kick the player when they reach x commands, decreases by 1 every second
set g_floodprot_maxcount "10"  // Kick the player when their userinfo flood counter reaches this level.
set g_floodprot_decay "1000"   // Decrease the userinfo flood counter by 1 this often, in milliseconds.

// Add the below values for which callvotes should be DISABLED:
// map              1
// map_restart      2
// nextmap          4
// gametype         8 (ex: "/callvote map campgrounds" will be allowed, but "/callvote map campgrounds ca" will fail)
// kick             16
// timelimit        32
// fraglimit        64
// shuffle          128
// teamsize         256
// cointoss/random  512
// loadouts         1024
// end-game voting  2048
// ammo (global)    4096
// timers (item)    8192
set g_voteFlags "0"
set g_allowVote "1"        // Turn off all votes
set g_voteDelay "0"        // Delay allowing votes for x milliseconds after map load.
set g_voteLimit "0"        // Limit users to x votes per map.
set g_allowVoteMidGame "0" // Don't allow callvotes once the map has started
set g_allowSpecVote "0"    // Allow spectators to call votes

set sv_warmupReadyPercentage "0.51"  // Ratio of players that must be ready before the match starts.
set g_warmupDelay "15"               // Wait x seconds before allowing match to start to allow all players to connect.
set g_warmupReadyDelay "0"           // Force the game to start after x seconds after someone readies up.
set g_warmupReadyDelayAction "1"     // Set to 1 to force players to spectator after g_warmupReady Delay, 2 to force ready up.

set g_inactivity "0"  // Kick players who are inactive for x amount of seconds.
set g_alltalk "0"     // 0: Limit voice comms to teams during match
                      // 1: Allow all players to talk to each other always
                      // 2: 1+ send back your own voice to yourself for testing

// System settings

// Uncomment and set below to use (server.cfg will override commandline!)
// set net_strict "1"    // Quit out immediately if we can't bind the IP and port.
// set net_ip ""         // Which IP to bind to. Blank will bind to all interfaces.
// set net_port "55555"  // Which UDP port to bind to. Blank will start at 27960 and keep going up, if net_strict is 0.
set sv_serverType "2"    // 0 = Offline, 1 = LAN, 2 = Internet
set sv_master "1"        // Whether the server should respond to queries. Disable this to stop server from appearing in browser.
                         // (This will affect the LAN browser!)

set sv_fps "40" // Change how many frames the server runs per second. WARNING: Has not been tested extensively, and
                // will have a direct impact on CPU and network usage!

// Exit the server if idle (not running a map) for a specified time. This will allow it to automatically restart
// in the case of a game error or other problem. A value of "1" is recommended, but not default, when you are running
// the server detached from the terminal.

set sv_idleExit "120"

// Enable remote console, provided through ZeroMQ. See zmq_rcon.py for simple client.
// ZMQ rcon binds on a separate port from the game server, and uses TCP. It must differ from the stats port if used.
// Rcon can not be enabled or disabled after launch, nor can the IP and port change. Password can, however.

// Uncomment and set below to use (server.cfg will override commandline!)
set zmq_rcon_enable "1"
// set zmq_rcon_ip ""
// set zmq_rcon_port "28960"
set zmq_rcon_password "ADMINPASSWORD"

// Enable ZeroMQ stats socket. This will not be much use without a client listening.
// See zmq_stats_verbose.py for example connect and stats printing.
// If not specified, the stats socket will default to the same IP and port as the game server, but on TCP.

// Uncomment and set below to use (server.cfg will override commandline!)
// set zmq_stats_enable "1"
// set zmq_stats_ip ""
// set zmq_stats_port ""
// set zmq_stats_password ""

// The server will run serverstartup when it finishes initializing, so start a random map from the map pool.
set serverstartup "startRandomMap"
// Or, start a map of your choosing (factory is required)
// set serverstartup "map campgrounds ffa"