############################################################################################
#
# Do not modify this file!  Instead, create two files in the same directory this file is in.
#     settings_custom.cfg
#         Actual gameplay settings
#     server_info.cfg
#         The server name, network setup, etc.
#
# You only need to put in these two files what is different from here.  Also,
# settings_custom.cfg will override server_info.cfg
#
############################################################################################

# special settings useful for dedicated servers

############################################################################################
#
# Network interface setup
#
############################################################################################

# if you are running the server on a machine with no fixed IP address, but have a dynamic DNS 
# address that always resolves to your machine's IP, uncomment the following line and enter the 
# correct dynamic DNS name. This will help the master and the clients to remember your server 
# even after its IP changed.

#SERVER_DNS someserver.dyndns.org

# SERVER_IP can be set to the IPs you want the server to listen on. Usually, you can
# leave this setting alone; it's designed for the case that you have multiple network cards
# and want to make the server listen only to one, for example because you want to run many
# servers on that machine, each listening on a different network card but on the same port.
# 
# Special values are:
#   ANY     opens one socket listening to all IPs ( this was the only available
#           option for 0.2.7.1 and before ). You need one entry of this form if 
#           your server is to appear on the LAN browsers.
#   ALL     opens one socket for each IP. ( equivalent to typing your hostname  )
#   ONEOF   only one socket is opened after this keyword.
#   RELAXED will consider the initialization as successful if at least one 
#           socket was opened. 
# IGNOREERRORS will continue despite fatal errors like DNS lookup failures and
#           attempts to bind to IPs not owned by the local machine.

# You can also specify a hostname instead of an IP. In that case, every IP that 
# the hostname is known under will get its own socket. 
# You can modify the port to listen on by adding an offset to the current port after a colon.
# If you bind your server to multiple IPs, only one of them ( the first from which the connection 
# to the master server succeeds ) will be made public by the master server. 

# If your settings of SERVER_IP fails to initialize, "ANY" is tried instead, if that fails, 
# "ALL" is tried.

# examples:

# default: bind to one generic socket on one port.
SERVER_IP ANY

# bind to all available sockets on the default port
#SERVER_IP ALL

# only bind to the loopback interface on the default port (this
# server will only be visible on your own machine)
#SERVER_IP 127.0.0.1

# bind to all local IPs with one socket each ( for the internet traffic )
# and open another socket listening to no specific IP on the next port 
# ( to catch LAN server browser broadcasts ). Relies on a thoroughly
# configured hosts file that maps your hostname to all IPs your computer
# has.
# SERVER_IP ALL ANY:1

# the settings for my CVS test servers. armagetron.kicks-ass.net will resolve to the
# current dynamic IP of my server. Additionally, a broadcast listening socket is created.
# use this (adapted to your IP, of course), maybe without the ANY:1 part, 
# if you want your own sever to appear on your internet server list.
#SERVER_IP armagetron.kicks-ass.net ANY:1

# hypothetical server setup: bind to the first of the listed IPs available.
# This is for running multiple servers with the same config that should bind to
# different IPs instead of to different ports.
#SERVER_IP ONEOF ip1 ip2 ip2 ip3 ip4 ...

# same as above, but open three servers per IP before going to the next.
#SERVER_IP ONEOF ip1:0 ip1:1 ip1:2 ip2:0 ip2:1 ip2:2 ....

# the port the server listens on

SERVER_PORT 4534

MAX_IN_RATE 8          # network bandwidth limitation, incoming ( useless right now )
MAX_OUT_RATE 8         # per client network bandwidth limitation

DEDICATED_IDLE 0     # if you run a dedicated server and set this
                     # value to something greater than zero, the server will quit after
                     # running that many hours in an idle moment (to avoid hitting a
                     # cpulimit or server stability issues)

DEDICATED_FPS 40                # maximum simulation steps per second the dedicated server will perform
DEDICATED_FPS_IDLE_FACTOR 2.0   # number of times per frame the server should check whether simulation can be done if no network input is coming

############################################################################################
#
# Authentication
#
############################################################################################

# if you compiled your server with authentication enabled, you can uncomment the following line:
# SINCLUDE settings_authentication.cfg

############################################################################################
#
# Public information
#
############################################################################################

TALK_TO_MASTER 0     # set this to 1 if you want this server to be known
                     # on the internet

# the message of the day sent to connecting clients. use \n to break it into
# several lines. A \ before the newline lets you write the message in multiple
# lines.

MESSAGE_OF_DAY

# example:
# MESSAGE_OF_DAY Line1\nLine2\n\
Line3

# if the clients support it, the message of the day is displayed as a modal message. Nothing 
# but the message is displayed. These two variables control the title and the time it is
# displayed at most:

MESSAGE_OF_DAY_TIMEOUT 60
TITLE_OF_DAY Message of the Day

# messages displayed between rounds on the console and in big letters,
# same rules for multi-line messages as MESSAGE_OF_DAY:
ROUND_CONSOLE_MESSAGE
ROUND_CENTER_MESSAGE

# URL associated with this server. Maximal length: 75 characters.

URL http://www.armagetronad.net

# the server name as it appears in the server browser.

SERVER_NAME Unnamed Server

# a short description of the options you set, or server policies. Has no effect
# on gameplay, it will only be displayed in the server browser.
# Maximal length: 240 characters (but keep in mind longer descriptions make
# your server look bad in the browser, and they increase your displayed ping.)

SERVER_OPTIONS All settings at default values.

# default language
LANGUAGE_FIRST American English
# fallback language
LANGUAGE_SECOND American English

############################################################################################
#
# Politics: Voting and Spam protection
#
############################################################################################

# Per round, per player limit on the number of shuffle messages displayed. A negative or zero value disables this check.
SHUFFLE_SPAM_MESSAGES_PER_ROUND 3

SPAM_PROTECTION_REPEAT 5.0 # minimum time between identical chat messages.

SPAM_PROTECTION 4.0        # minimum average time between chat messages in seconds so they are not considered spamming. Increase for more spam protection.
SPAM_PROTECTION_VOTE 50.0              # Extra factor for SPAM_PROTECTION for votes. Increase for more spam protection.
SPAM_PROTECTION_CHAT .3                # Extra factor for SPAM_PROTECTION for chat messages. Increase for more spam protection.
SPAM_PENALTY 0.0                       # spam penalty to add on spam detection. This makes repeated spams extra painful.
SPAM_AUTOKICK 14.0                     # spam protection value that causes someone to get instantly kicked
SPAM_AUTOKICK_COUNT 3                  # minimal number of spam warnings before someone is kicked for spam.
SPAM_MAXLEN 80                         # maximal length of chat message

# prefix spam

PREFIX_SPAM_ENABLE 1                             # Should spam prefix checking be enabled? Set to 1 to enable, 0 to disable.
PREFIX_SPAM_START_COLOR_MULTIPLIER 1.5           # If a prefix begins with a color code it will have this multiplier applied to its score.
PREFIX_SPAM_LENGTH_MULTIPLIER 1.2                # Multiplier applied to prefix length when calculating prefix spam score.
PREFIX_SPAM_NUMBER_COLOR_CODES_MULTIPLIER 1.2    # Multiplier applied to the number of color codes in prefix when calculating prefix spam score.
PREFIX_SPAM_NUMBER_KNOWN_PREFIXES_MULTIPLIER 1.0 # Multiplier applied to the number of known spam prefixes when calculating prefix spam score.
PREFIX_SPAM_REQUIRED_SCORE 10.0                  # The required prefix spam score a prefix must have for it to be considered spam.
PREFIX_SPAM_TIMEOUT_MULTIPLIER 15.0              # Multiplier applied to time calculation to determine how long a known prefix is remembered.

# shouting. 0 means the default chat is /team chat, 1 makes the default chat
# /shout chat, but only for those with the right to shout, while 2 makes
# the default chat /shout and overrides the access level restrictions.

DEFAULT_SHOUT_SPECTATOR 1     # default chat mode for spectators.
DEFAULT_SHOUT_PLAYER 1        # default chat mode for players

# voting

ALLOW_VOTING 1           # allow voting?
MAX_VOTES 5              # maximum number of concurrent votes
MAX_VOTES_PER_VOTER 2    # maximum number of concurrent votes per voter
ALLOW_VOTING_SPECTATOR 0 # allow voting for spectators
VOTING_BIAS 0            # number of virtual voters opposing every change
VOTING_PRIVACY 1         # level of secrecy of the votes. 2 makes the vote as secret as possible, -2 makes it fully public. 
VOTING_SPAM_ISSUE 1      # spam level for issuing a vote
VOTING_SPAM_REJECT 5     # spam level for issuing a vote that gets rejected
VOTING_MATURITY 300      # minimum time in seconds a player needs to be online with the same name before he can issue votes

MIN_VOTERS 3             # number of voters that need to be online to enable voting

VOTING_TIMEOUT 60        # base number of seconds before a vote times out
VOTING_TIMEOUT_PER_VOTER 15 # additional number of seconds before a vote times out for every voter present
VOTING_START_DECAY 60    # number of seconds after that the non-voters start to get ignored
VOTING_DECAY 60          # one non-voter is ignored every time this many seconds pass
						 # note: if DECAY < TIMEOUT or START_DECAY < TIMEOUT, votes that get ignored by everyone may be accepted.

VOTING_SPAM_ISSUE 1.0    # The spam level of issuing a vote.
VOTING_SPAM_REJECT 5.0   # The spam level of getting your vote rejected.
VOTING_KICK_MINHARM 0    # Minimum number of other harmful votes (kicks, suspensions) before a menu-issued kick vote really kicks. Before that, it just suspends.
VOTING_KICK_TIME 300     # Minimum time in seconds between kick votes against the same player.
VOTING_HARM_TIME 180     # Minimum time in seconds between harmful votes against the same player.
VOTING_SUSPEND_ROUNDS 5  # Number of rounds "/vote suspend" suspends for.

CONSOLE_DECORATE_ID 1    # Decorates every line of console output with the client ID
CONSOLE_DECORATE_IP 0    # Decorates every line of console output with the client IP


SINCLUDE server_info.cfg
# ping flood response DOS protection: if pings from a single machine are requested more often than this,
# they are not answered. Setting the last item to a negative value disables the system.
PING_FLOOD_TIME_10  1.0   # Minimum time for 10 ping packets to arrive.
PING_FLOOD_TIME_20  4.0   # Minimum time for 20 ping packets to arrive.
PING_FLOOD_TIME_50  20.0  # Minimum time for 50 ping packets to arrive.
PING_FLOOD_TIME_100 100.0 # Minimum time for 100 ping packets to arrive.
PING_FLOOD_GLOBAL   .1    # The same times, multiplied by this value, count for all pings from all machines. Negative values disable global flood protection.
CONNECTION_FLOOD_SENSITIVITY .01 # The times PING_FLOOD_TIME_X, multiplied by this value, count for all incoming messages from clients not connected already. A flood here activates turtle mode. Negative values disable global flood protection.
CONNECTION_LIMIT 5        # Maximum number of packets from unknown peers to handle at one 
ANTI_SPOOF 0              # If set to 1, checks connecting clients for spoofed IPs are done. Only clients passing a connectivity test are allowed in. This is done in turtle mode automatically, but may be useful to have on at all times.


# default settings for MOVE/KICK(_TO)

# default kick reason given for the KICK console command
#DEFAULT_KICK_REASON

# default redirection kick/move reason given for the KICK/MOVE_TO console commands
#DEFAULT_KICK_TO_REASON

DEFAULT_KICK_TO_SERVER    # default server to kick/move to (IP or hostname)
DEFAULT_KICK_TO_PORT 4534 # default port of the server to kick/move to

# Minimal play time requirements. Clients starting from 0.2.8.3 record the play time
# in three categories: total play time (all games count), online play time (games on
# a server count) and team play time (only online games with teammates count).
# With the following settings, you can keep players lacking experience in these
# categories out of the game. Players not meeting the requirements will be forced
# to spectate.

MIN_PLAY_TIME_TOTAL  0.0 # required total play time in minutes
MIN_PLAY_TIME_ONLINE 0.0 # required online play time in minutes
MIN_PLAY_TIME_TEAM   0.0 # required team play time in minutes

############################################################################################
#
# Game settings
#
############################################################################################

# cycle physics
CYCLE_RUBBER_MINDISTANCE_LEGACY 1   # extra factor for minimal distance to walls enforced by the rubber code, active when peers with the rip bug are connected

# single player settings, active while only one client is connected.
# Either SP_MIN_PLAYERS or SP_TEAMS_MIN must be bigger than 1, otherwise there will
# be no opponent and no meaningful rounds. SP_TEAM_BALANCE_WITH_AIS needs to stay enabled,
# too.

SP_EXPLOSION_RADIUS 4               # blast radius of cycle explosions
SP_WALLS_LENGTH -1                  # cycle trail length
SP_WALLS_STAY_UP_DELAY 8            # cycle trail stay up this long after the cycle's destruction
SP_TEAM_BALANCE_ON_QUIT 0           # balance teams if a member quits?
SP_TEAM_BALANCE_WITH_AIS 1          # balance teams with AI players?
SP_TEAM_MAX_IMBALANCE 1             # maximum team imbalance
SP_TEAM_MAX_PLAYERS 1               # maximum number of players per team ( Don't change, it's meaningless in SP mode anyway. The only effect would be a bug when the second player connects. )
SP_TEAM_MIN_PLAYERS 1               # minimum number of players per team
SP_TEAMS_MAX 16                     # maximum number of teams
SP_TEAMS_MIN 1                      # minimum number of teams
SP_WIN_ZONE_MIN_ROUND_TIME 1000000  # minimum time ( seconds ) the round has to be going on before the instant win zone is activated
SP_WIN_ZONE_MIN_LAST_DEATH 1000000  # minimum time ( seconds ) since the last interesting event ( player death ) before the instant win zone is activated
SP_FINISH_TYPE 1                    # what happens if all human players are dead? 0 for almost immediate round restart, 1 for slow round restart, 2 to let the remaining AIs fight in fast forward mode, 3 to let the AIs fight on normally
SP_GAME_TYPE 1                      # 1 for normal duel, 0 for freestyle ( round only ends when everyone is dead )
SP_SIZE_FACTOR -3                   # arena size factor; increase this by two to double the arena size
SP_SPEED_FACTOR 0                   # cycle speed factor increase this by two to double the speed
SP_AUTO_IQ 0                        # flag indicating whether the IQ of the AIs should be automatically adapted to the player strength
SP_AUTO_AIS 0                       # flag indicating whether the number of AIs should be automatically adapted to the player strength
SP_AI_IQ 50                         # IQ of the AIs
SP_MIN_PLAYERS 4                    # minimum number of players; missing humans are filled up with AIs
SP_NUM_AIS 0                        # minimum number of AIs

# the same settings, active when more than one client is connected

EXPLOSION_RADIUS 4                  # blast radius of cycle explosions
WALLS_LENGTH -1                     # cycle trail length
WALLS_STAY_UP_DELAY 8               # cycle trail stay up this long after the cycle's destruction
TEAM_BALANCE_ON_QUIT 1              # balance teams if a member quits?
TEAM_BALANCE_WITH_AIS 1             # balance teams with AI players? ( set it to 0 to disable AIs completely )
TEAM_MAX_IMBALANCE 1                # maximum team imbalance
TEAM_MAX_PLAYERS 5                  # maximum number of players per team ( set it to 1 to disable teams )
TEAM_MIN_PLAYERS 1                  # minimum number of players per team
TEAMS_MAX 16                        # maximum number of teams
TEAMS_MIN 1                         # minimum number of teams
WIN_ZONE_MIN_ROUND_TIME 60          # minimum time ( seconds ) the round has to be going on before the instant win zone is activated
WIN_ZONE_MIN_LAST_DEATH 30          # minimum time ( seconds ) since the last interesting event ( player death ) before the instant win zone is activated
FINISH_TYPE 2                       # what happens if all human players are dead? 0 for almost immediate round restart, 1 for slow round restart, 2 to let the remaining AIs fight in fast forward mode, 3 to let the AIs fight on normally
GAME_TYPE 1                         # 1 for normal duel, 0 for freestyle ( round only ends when everyone is dead )
SIZE_FACTOR 0                       # arena size factor; increase this by two to double the arena size
SPEED_FACTOR 0                      # cycle speed factor increase this by two to double the speed
AUTO_IQ 0                           # flag indicating whether the IQ of the AIs should be automatically adapted to the player strength
AUTO_AIS 0                          # flag indicating whether the number of AIs should be automatically adapted to the player strength
AUTO_TEAM 1                         # flag indicating whether players should be put into a team automatically
ALLOW_TEAM_CHANGE 1                 # flag indicating whether players should be allowed to join/leave teams
AI_IQ 50                            # IQ of the AIs
MIN_PLAYERS 0                       # minimum number of players; missing humans are filled up with AIs
NUM_AIS 0                           # minimum number of AIs

# team name
ALLOW_TEAM_NAME_COLOR 1             # allow teams to be named after a color
ALLOW_TEAM_NAME_PLAYER 1            # allow teams to be named after the leading player

# team name options. Effective if ALLOW_TEAM_NAME_PLAYER is set to 0.
# the defaults refer to localized language strings, but custom strings are also possible

TEAM_NAME_1 $team_name_blue   # name of team 1
TEAM_NAME_2 $team_name_gold   # name of team 2
TEAM_NAME_3 $team_name_red    # name of team 3
TEAM_NAME_4 $team_name_green  # name of team 4
TEAM_NAME_5 $team_name_violet # name of team 5
TEAM_NAME_6 $team_name_ugly   # name of team 6
TEAM_NAME_7 $team_name_white  # name of team 7
TEAM_NAME_8 $team_name_black  # name of team 8

# team color options. Effective if ALLOW_TEAM_NAME_PLAYER is set to 0.

TEAM_RED_1    4 # red portion of team 1's color
TEAM_RED_2   15 # red portion of team 2's color
TEAM_RED_3   15 # red portion of team 3's color
TEAM_RED_4    4 # red portion of team 4's color
TEAM_RED_5   15 # red portion of team 5's color
TEAM_RED_6    4 # red portion of team 6's color
TEAM_RED_7   15 # red portion of team 7's color
TEAM_RED_8    7 # red portion of team 8's color

TEAM_GREEN_1  8 # green portion of team 1's color
TEAM_GREEN_2 15 # green portion of team 2's color
TEAM_GREEN_3  4 # green portion of team 3's color
TEAM_GREEN_4 15 # green portion of team 4's color
TEAM_GREEN_5  4 # green portion of team 5's color
TEAM_GREEN_6 15 # green portion of team 6's color
TEAM_GREEN_7 15 # green portion of team 7's color
TEAM_GREEN_8  7 # green portion of team 8's color

TEAM_BLUE_1  15 # blue portion of team 1's color
TEAM_BLUE_2   4 # blue portion of team 2's color
TEAM_BLUE_3   4 # blue portion of team 3's color
TEAM_BLUE_4   4 # blue portion of team 4's color
TEAM_BLUE_5  15 # blue portion of team 5's color
TEAM_BLUE_6  15 # blue portion of team 6's color
TEAM_BLUE_7  15 # blue portion of team 7's color
TEAM_BLUE_8   7 # blue portion of team 8's color

# Help stuff

# This is a message that will be displayed if someone uses the /help chat
# command without arguments:

HELP_INTRODUCTORY_BLURB

# to add your own help topics you can use the following command:

# ADD_HELP_TOPIC <identifier> "short description" "help\ntext\nthat\ncan\nspan\nmany\nlines"

# the quotes are required if you want to use spaces.
# if the identifier contains underscores (_) it will be treated as a
# sub-identifier. For example, if you have an identifier "rules" and an
# identifier "rules_swearing", the last one will not appear on the listing
# you get with a plain "/help", but it will be at the bottom of the text
# you get with /help rules. You can nest them as deeply as you want, but
# remember that the player who seeks help has to type your identifiers...

# to get rid of a help command (either in scripts of if it was added by
# accident you can use

# REMOVE_HELP_TOPIC <identifier>

#TEAM_ALLOW_SHUFFLE_UP 0            # if set to 1, players are allowed to change their position in the team as they wish. If 0, they only can drop in rank.
TEAM_CENTER_IS_BOSS 1               # if set to 1, the center player is the team's boss. If at 0, it's the player who is on that team longest.

############################################################################################
#
# Scripting
#
############################################################################################

# Scripts are fed the ladderlog on stdin (and need to read it) and their
# stdout output is interpreted as console input on the server. Environment
# variables are set so the script knows all about the server configuration at
# time of launch.

# SPAWN_SCRIPT         Spawns an external script from a scripts/ subdirectory on the data path.
# RESPAWN_SCRIPT       Spawns an external script from a scripts/ subdirectory on the data path if no already running instance is found.
# FORCE_RESPAWN_SCRIPT Spawns an external script from a scripts/ subdirectory on the data path after killing the other possibly running instance.
# KILL_SCRIPT          Kills a script. Argument must match the SPAWN_SCRIPT argument.
# LIST_SCRIPTS         Lists active scripts.
# SCRIPT_ENV           Set custom environment variables for scripts. Usage: SCRIPT_ENV <variable name> <value>

# The commands above are only available on Unix.

LADDERLOG_GAME_TIME_INTERVAL -1     # write a line to ladderlog.txt indicating how "old" the current game is at most every n seconds. Negative values disable this feature.
WAIT_FOR_EXTERNAL_SCRIPT 0          # set to 1 if you want the server to sleep between rounds until it is set back to 0 or
WAIT_FOR_EXTERNAL_SCRIPT_TIMEOUT 3  # seconds



############################################################################################
#
# Debugging (only available if compiled for debug)
#
############################################################################################

# Debugging a game on a dedicated server can be tricky since you don't have a
# representation of the world handy in visual form. Therefore, the game offers
# to log all cycle movements in text files for easy processing in a display
# tool ( plain gnuplot is often enough ). The files' names are the player
# name with appended _sync for the network sync turn positions, _step for
# dumps of every timestep and _turn for all turns. All topology police
# posterior wall collision events are logged in _topology.
# Activate this crude debugging help by uncommenting the following line:
# DEBUG_GNUPLOT 1

############################################################################################
#
# For Master Server
#
############################################################################################

MASTER_PORT 4533                    # port the master server should listen on
MASTER_IDLE 2.0                     # after this many hours, the master server process quits and gets restarted by the script
MASTER_SAVE_INTERVAL 300.0          # interval in seconds between saves of the server list
MASTER_QUERY_INTERVAL 10.0          # time in seconds between query packets sent out

############################################################################################
#
# Shooting / Self Destruct / Zombies
#
############################################################################################

# The braking reservoir used for shooting goes from 1.0 (Full) to 0.0 (Empty)
# All of the shot thresholds are calculated from the amount of reservoir used
# To disable shooting, set SHOT_THRESH to 1.0

SHOT_THRESH 2              # Amount of brake reservoir that will make a shot, > 1.0 to disable shooting, 0.001 will enable shooting
SHOT_DISCARD_TIME 0.3      # Time in seconds to hold off shooting between shots
SHOT_START_DIST 1.0        # Starting distance of a shot from the cycle
SHOT_VELOCITY_MULT 1.8     # Cycle velocity is multiplied by this to calculate shot velocity
SHOT_RADIUS_MIN 0.7        # Minimum radius for a shot (As if minimum reservoir was used)
SHOT_RADIUS_MAX 5.0        # Maximum radius for a shot (Full reservoir used)
SHOT_ROT_MIN 2.0           # Minimum rotation for a shot (As if minimum reservoir was used)
SHOT_ROT_MAX 10.0          # Maximum rotation for a shot (Full reservoir used)
SHOT_EXPLOSION 0           # 0 for no explosion, 1 for explosion centered at cycle, 2 for explosion centered on shot

MEGA_SHOT_THRESH 2         # Amount of brake reservoir that will make a megashot, > 1.0 to disable, 0.98 is normal to enable this
MEGA_SHOT_MULT 0.3         # Radius and rotation calculated for a normal shot, then multipled by this for mega
MEGA_SHOT_DIR 3            # Number of directions to shoot around cycle, 0 to disable the shots (cycle explosion still works)
MEGA_SHOT_EXPLOSION 1      # 0 for no explosion, 1 for explosion centered at cycle, 2 for explosion centered on each shot, 3 for both

SHOT_KILL_SELF 0           # (0,1) if set to 1, your own shot kills you or your team
SHOT_KILL_VANISH 1         # (0,1) if set to 1, shot vanishes after killing someone
DEATH_SHOT 1               # (0,1) if set to 1 and you were in the middle of a shot, releases it after you die
SHOT_COLLISION 0           # (0,1) if set to 1, shots collide with each other - WARNING, this is very buggy

SELF_DESTRUCT 0            # (0,1) if set to 1, creates a blast zone when you die
SELF_DESTRUCT_RADIUS 18    # Radius of the self destruct zone at the largest
SELF_DESTRUCT_ROT 7        # Rotation of the self destruct zone
SELF_DESTRUCT_RISE 5       # Rise speed of the self destruct zone - 0 to start at largest
SELF_DESTRUCT_FALL 2       # Fall speed of the self destruct zone - 0 to leave there
SELF_DESTRUCT_VANISH 1     # (0,1) if set to 1, self destruct zone vanishes quickly after a kill

SHOT_SEEK_UPDATE_TIME 0.5  # The time in seconds that seeking shot directions are updated (zombies)

ZOMBIE_ZONE 0              # (0,1) if set to 1, killed players create a zombie zone
ZOMBIE_ZONE_RADIUS 6       # Final radius of the zombie zone
ZOMBIE_ZONE_ROT 2          # Speed of rotation
ZOMBIE_ZONE_RISE 0.4       # Rise speed of the zombie zone
ZOMBIE_ZONE_FALL 0         # Fall speed of the zombie zone, 0 for zombies that don't diminish
ZOMBIE_ZONE_VANISH 0       # (0,1) If 1, zombie will vanish after killing someone other than his killer
ZOMBIE_ZONE_SPEED 12       # Speed of the zombie zone
ZOMBIE_ZONE_SHOOT 1.0      # If > 0, shots will kill of zombies, 1 to decrease zombie size by shot size, > 1 to decrease zombie faster

SCORE_SHOT 1               # points you gain for shooting someone
SCORE_SHOT_SUICIDE 0       # points you gain for shooting yourself
SCORE_DEATH_SHOT 1         # points you gain for shooting someone with your death shot
SCORE_SELF_DESTRUCT 1      # points you gain for blasting someone with your self destruct blast
SCORE_ZOMBIE_ZONE_REVENGE 1 # points you gain for getting your killer with your zombie zone
SCORE_ZOMBIE_ZONE 0        # points you gain for getting anyone but your killer with your zombie zone

SHOT_WALL_BOUNCE 0         # (0,1) 1: shots can bounce off walls, 0: shots do not bounce off walls
SHOT_KILL_INVULNERABLE 1   # (0,1) 1: Shots kill invulnerable cycles, 0: Shots do not kill invulnerable cycles 

############################################################################################
#
# Capture the Flag / Ball / Goal
#
############################################################################################

BASE_RESPAWN 0             # (0,1) if set to 1, any fortress / goal / flag base will respawn the team that owns it if a team player enters it
BASE_ENEMY_RESPAWN 0       # (0,1) if set to 1, any fortress / goal / flag base will respawn the team that owns it if an enemy player enters it

BASE_RESPAWN_REMIND_TIME -1 # if positive, sends out the respawn reminder message every (value) seconds to team members.

BASE_ENEMY_KILL 0          # (0,1) if set to 1, any fortress / goal / flag base will kill the enemy if they enter it, usually set to 1 for ball games

SCORE_FLAG 3               # points you gain for capturing a flag and returning it to your base
SCORE_GOAL 1               # points you gain for shooting a goal

FLAG_REQUIRED_HOME 1       # (0,1) if set to 1, all your team's flags are required to be at home position before you can score
FLAG_DROP_HOME 0           # (0,1) if set to 1, when a player drops a flag it gets sent home instead of staying where dropped

FLAG_DROP_TIME -1          # if positive, enables player to drop flag by chatting "/drop". value is the number of seconds they can't pick up the flag afterwards, 2-3 recommended.

FLAG_HOLD_TIME -1          # time in seconds that the player can hold the flag before it is returned home, -1 to disable
FLAG_CHAT_BLINK_TIME -1    # time in seconds that the chat triangle above a player with a flag will blink, -1 to disable

FLAG_BLINK_TIME 1.5        # time in seconds between flag blinking over player with the flag, -1 to disable
FLAG_BLINK_ON_TIME 0.3     # time in seconds that flag is on in a blink (not recommended to set this below 0.1)
FLAG_BLINK_START 0.2       # percentage of the flag radius to start the flag blink at
FLAG_BLINK_END 1.0         # percentage of the flag radius to end the flag blink at
FLAG_BLINK_ESTIMATE_POSITION 0.6 # 0 to start the flag blink at the current player position, 1 to start the flag blink where the player would be at the end of the blink at current speed and direction
FLAG_BLINK_TRACK_TIME -1   # if set above zero, this tracks the cycle position and speed at the rate defined by this setting.  it is not recommended to set this below 0.1 for lag reasons.


FLAG_TEAM 1                # (0,1) Flags have team ownership? 1: Yes, 0: No
FLAG_HOLD_SCORE_TIME -1    # Time you must hold a flag in order to score points, (-1 dissabled)
FLAG_HOLD_SCORE 1          # Score received for holding a flag.
FLAG_HOME_RANDOMNESS_X -1  # How far the flag can be put back from the original x position (when respawned)
FLAG_HOME_RANDOMNESS_Y -1  # How far the flag can be put back from the original y position (when respawned)
FLAG_COLOR_R -1            # The red color component of a flag (0-15) (-1 disabled)
FLAG_COLOR_G -1            # The green color component of a flag (0-15) (-1 disabled)
FLAG_COLOR_B -1            # The blue color component of a flag (0-15) (-1 disabled)
SCORE_FLAG 1               # Score received for returning a flag to the base
MIN_FLAGS_HOME 0           # Minimum number of flags that must be home in order to return a flag
FLAG_CONQUEST_WINS_ROUND 0 # (0,1) Successfully returning a flag to a home ends round? 1: Yes, 0: No

############################################################################################
#
# StyBall
#
############################################################################################
GOAL_ROUND_END 1           # (0,1) Scoring goal ends the round? 1: Yes, 0: No
BALLS_INTERACT 0           # (0,1) Can balls bounce off one another? 1: Yes, 0: No
BALLS_BOUNCE_ON_CYCLE_WALLS 0 # (0,1) Can balls bounce off cycle walls? 1: Yes, 0: No
BALL_TEAM_MODE 0           # (0,1) Is the ball only able to be controlled by one team? 1: Yes, 0: No
BALL_KILLS 0               # (0,1) Can balls kill players? 1: Yes, 0: No
BALL_SPEED_DECAY 0         # Rate at which ball slows down
BALL_CYCLE_ACCEL_BOOST 0   # how much speed is added to a ball when it gets touch be a cycle
BALL_AUTORESPAWN 1         # (0,1) Auto respawn ball? 1: Yes, 0: No

############################################################################################
#
# Target Zone
#
############################################################################################

TARGET_LIFETIME -1         # Time in seconds before the zone vanished. -1 for infinite
TARGET_SURVIVE_TIME 10     # Time in sec before the zone vanished once a player entered. -1 for infinite
TARGET_INITIAL_SCORE 10    # Score for the first player entering the zone
TARGET_SCORE_DEPLETE 2     # Score suppress to the zone score each time a player entered
TARGET_DECLARE_WINNER 1    # (0,1) Last target zone is a winzone? 1: Yes, 0: No

############################################################################################
#
# King of the Hill
#
############################################################################################

KOH_SCORE 1                # Score received for staying in a king of the hill zone for KOH_SCORE_TIME
KOH_SCORE_TIME 5           # Length of time a player must stay in a king of the hill zone to be awarded points

############################################################################################
#
# Racing
#
############################################################################################

SCORE_RACE 10         # Amount of score to receive

RACE_TIMER_ENABLED 0  # Enables the racing mode and its settings
RACE_CHANCES 0        # The number of chances players receive to complete; respawns at original spawn point after death

RACE_RECORDS_LOAD 1   # If set to 0, records will not load.
RACE_RECORDS_SAVE 1   # If set to 0, records will not save.

RACE_SCORE_DEPLETE 1  # By the number of points SCORE_RACE drops after each racer's finish
RACE_POINTS_TYPE 1    # The way players receive points for finishing the race
                      # 0 - player should receive points depending on SCORE_RACE_FINISH
                      # 1 - player should receive points depending on RACE_SCORE_DEPLETE

RACE_LOG_LOGIN 0      # If set to 1, only racers are allowed to log their times if they had logged in
RACE_LOG_TIME 0       # If set to 1, messages will appear after each finish.                      # Message contains their finish, time of finish and seconds behind the first racer
RACE_LOG_UNFINISHED 0 # If set to 1, logs the players that have not played or not finished by giving them time of -1 as UNDONE.

RACE_END_DELAY 60     # Number of seconds before the end of round

RACE_SMART_TIMER 0          # Set to 1 to enable the smart timer
RACE_SMART_TIMER_NUM 3      # Number of top records to get times to get the average countdown
RACE_SMART_TIMER_FACTOR 1.2 # The countdown factor for the smart timer

RACE_UNSAFE_ANGLES_KILL 0   # If set to 1, kills unsafe racers which is applied from RACE_SAFE_ANGLES if set
#RACE_SAFE_ANGLES <angle>,<angle>      # These are the list of angles in degrees and are identified as safe.
                                       # If -1 is used, then all angles are safe and any angle to follow
                                       # afterwards are considered as unsafe.
                                       #
                                       # Example 1 (safe angles)  : 0,45,90,135,180,225,270,315
                                       # If players turn in one of these directions, then they are considered safe
                                       #
                                       # Example 2 (unsafe angles): -1,180
                                       # If players turn into the angle 180, then they are considered unsafe

RACE_LAPS 1                    # Number of laps to complete to finish the race

RACE_CHECKPOINT_LAPS 1         # If set to 1, clears all completed checkpoints after each lap. 0 does nothing.
RACE_CHECKPOINT_COUNTDOWN 70   # The number of seconds each player receives for their individual countdown
RACE_CHECKPOINT_REQUIRE_HIT 0  # The requirement for racers to hit all checkpoints:0
                               # 0 - nothing
                               # 1 - MUST hit but not in order
                               # 2 - MUST hit in order of checkpoint ids

RACE_FINISH_KILL 1     # Kill the players as soon they finish the race
RACE_FINISH_COLLAPSE 1 # Collapse all active zones from the grid

RACE_IDLE_KILL 0      # Kills racers that have become idle
RACE_IDLE_WARNINGS 1  # The number of warnings to tell players they are idle
RACE_IDLE_SPEED 30    # Players travelling at <= RACE_IDLE_SPEED will identify them as "idle" and send warnings before killing them
RACE_IDLE_TIME 5      # Race idle timeout before warnings and them kill them

RACE_NUM_RANKS_SHOW_START 3 # The number of records to show from "Top Records" at the start of round
RACE_NUM_RANKS_SHOW_END 3   # The number of records to show from "Top Records" at the end of round

RACE_RANKS_SHOW_START 1 # Show recorded times with rank based from shortest to longest seconds at the start of round
                        # 0 - do nothing
                        # 1 - show the top RACE_NUM_RANKS_SHOW_START as the round finishes
                        # 2 - show the relative positions of players (above, CURRENT, below)

RACE_RANKS_SHOW_END 2   # Show recorded times with rank based from shortest to longest seconds at the end of round
                        # 0 - do nothing
                        # 1 - show the top RACE_NUM_RANKS_SHOW_END as the round finishes
                        # 2 - show the relative positions of players (above, CURRENT, below)

RACE_RANK_HEADER_LENGTH 8         # The adjustable length/width of characters for the header "Rank" title
RACE_RANK_HEADER_PLAYER_LENGTH 16 # The adjustable legnth/width of characters for the header "Player" title
RACE_RANK_HEADER_TIME_LENGTH 0    # The adjustable length/width of characters for the header "Time" title

RACE_RANK_HEADER_ORDER 1          # The order in which the header "Rank" appears
RACE_RANK_HEADER_PLAYER_ORDER 2   # The order in which the header "Player" appears
RACE_RANK_HEADER_TIME_ORDER 3     # The order in which the header "Time" appears

RACE_RANK_SHOW_LENGTH 7           # The allowed length to show in the ranks of players
RACE_RANK_SHOW_PLAYER_LENGTH 15   # The allowed length to show the players' name

############################################################################################
#
# Rubberzone
#
############################################################################################

SCORE_RUBBERZONE -1       # Score received for dieing on a rubberzone


# put your own config settings in this file

SINCLUDE settings_custom.cfg

############################################################################################
#                       EXPERT SECTION
# The settings in this section sometimes have obscure effects and you
# sometimes need to know how the settings are used in the code to predict
# the effects of changes.
# They're unsupported, undocumented (apart from what you see in this file)
# and may change meaning from release to release.
############################################################################################

# if something interesting is going to happen to a game object not more
# than MAX_SIMULATE_AHEAD seconds from the time it should be simulated to,
# simulate it up to the interesting bit, not only the scheduled time.
MAX_SIMULATE_AHEAD .1

# should cycle walls be predicted? This prevents the dreaded rubber-less death if
# active, but may cause other odd artifacts. Experimental, use with care.
# Enable it if you have high lag compensation settings.
PREDICT_WALLS 1
