The server configuration is all in one file: the ‘gamemod’ file located at config/gamemod.txt
. Apart from empty lines and comments, which are lines that begin with a semicolon ‘;’, every line is a command followed by a value, separated by a space or a tab. The commands and their effect is described in this document.
These are settings that don’t affect the gameplay at all.
server_name
max_players
welcome_message
info_message
sayadmin_enabled
sayadmin_comment
server_password
tournament
save_stats
idlekick_time
idlekick_playerlimit
server_port
server_ip
private_server
join_start
join_end
server_name
Range | any string |
---|---|
Default | Anonymous host
|
The server name is shown to players in the server list on the web and in Outgun. You should put in something to identify this server, and tell as much else as you can fit. How much fits on Outgun’s server list depends on the player’s resolution, at minimum it’s only 33 characters. The web list currently shows up to 128 characters. This setting replaces the file hostname.txt
used in Outgun versions before 1.0.
max_players
Range | an even number between 2 and 32 |
---|---|
Default | the -maxp command line parameter, or 16
|
The maximum number of players accepted to the server at once. If set, this overrides the -maxp
setting given on command line.
welcome_message
Range | any string |
---|---|
Default | none |
These lines will be sent to each player when they enter the server. You can use multiple lines, but remember to start each line with the command welcome_message
. Long lines (over 79 characters) will be wrapped to multiple lines.
info_message
Range | any string |
---|---|
Default | none |
These lines will be sent to a player when they enter the /info
console command. You can tell how and when to contact you, or some more information about your server. You can use multiple lines, but remember to start each line with the command info_message
. Long lines (over 79 characters) will be wrapped to multiple lines.
sayadmin_enabled
Range | 1 to enable, 0 to disable |
---|---|
Default | 0 |
This enables the /sayadmin
console command to the players so that they can leave you messages. They will be saved to log/sayadmin.log
.
sayadmin_comment
Range | any string |
---|---|
Default | none |
This setting only has effect when sayadmin_enabled is set to 1. This message will be shown in the /help
screen on the /sayadmin
line. It is intended for you to give a preference of what to send using /sayadmin
, for example which languages are acceptable. Longer than 29 characters will force the line to be wrapped.
server_password
Range | up to 15 characters |
---|---|
Default | none |
If the server password is set, only players who know the password can enter the server.
tournament
Range | 1 to enable, 0 to disable |
---|---|
Default | 1 |
If this is set, the server sends scoring information to the ranking master server, when players who are logged in play on the server. Disabling this will slightly decrease the amount of traffic the server creates, but it will still authenticate the players with master server. That can’t be disabled, and there should be no need for it.
save_stats
Range | number of players, 1 or more, or 0 to disable |
---|---|
Default | 0 |
If this is set non-zero, the server saves game statistics after each round to the server_stats
directory, provided that there are at least as many players as this number. Set save_stats
to 1, and you get lots of statistics with just one player; set it greater and only meaningful statistics are written.
idlekick_time
Range | seconds, 10 or more, or 0 to disable |
---|---|
Default | 120 |
If enabled, players that are idle (don’t move or shoot) for the given amount of seconds are automatically kicked off the server. This check is only active when the number of players reaches idlekick_playerlimit
. There is an automatic warning to the players when they’re 60, 30, 15 and 5 seconds away from being kicked.
idlekick_playerlimit
Range | 1 to 32 |
---|---|
Default | 4 |
This setting is used to limit the application of idlekick_time
. When there are less players on the server than the set number, they can’t get kicked for being idle. This makes sense because players may want to stay on the server waiting for more players to appear, not playing before that happens. These players do no real harm to the game if this limit is set no higher than 4, because if one of three players is idle, the other two can always change teams so that they are against each other. Even though one of the players can score by killing the idle player, it doesn’t affect the team score and regardless of players being idle or not, tournament scoring is disabled until there are four players on the server.
server_port
Range | 1 to 65535 |
---|---|
Default | 25000 |
The UDP port the server is run in. If you want to run multiple servers at once, you have to set a different port for each server. This setting cannot be changed when the server is running, with the server monitor “reload settings” command or otherwise. This setting can be overridden with the command line argument -port
. For servers started in the client, the setting on the local server menu overrides these.
server_ip
Range | a valid IP address |
---|---|
Default | autodetected |
The server IP address that is sent to the master server for server listing purposes. Do not specify a port here, use server_port
for that. Only use this (or the corresponding command line parameter) if your server doesn’t appear on the master list without. To determine what to put here, check whatismyip.com which will hopefully show your public IP address. If sending the server to master still fails, check log/master.log
to see what the master server thinks your address is. This setting cannot be changed when the server is running, with the server monitor “reload settings” command or otherwise. This setting can be overridden with the command line argument -ip
. For servers started in the client, the setting on the local server menu overrides these.
private_server
Range | 1 to enable, 0 to disable |
---|---|
Default | 0 |
If enabled, the server will not be posted on the master list. Use it if you don’t want random players entering the server. This setting cannot be changed when the server is running, with the server monitor “reload settings” command or otherwise. This setting can be overridden on the command line by using -priv
or -public
. For servers started in the client, the setting on the local server menu overrides these.
join_start
Range | seconds, 0 to 86399 |
---|---|
Default | 0 |
The time when the server starts accepting players, in seconds after midnight. If join_start
is set to a different value than join_end
, players can only join in the time between them, or if there already are players on the server.
join_end
Range | seconds, 0 to 86399 |
---|---|
Default | 0 |
The time when the server stops accepting players, in seconds after midnight. If join_start
is set to a different value than join_end
, players can only join in the time between them, or if there already are players on the server.
These settings allow you to configure a web site with Outgun.
server_website
Range | a valid URL |
---|---|
Default | none |
This should be the URL to a page related to your server. The URL is sent to the server list on WWW, and there’ll be a link, so that users can click on the server to see more info. The page linked to might be a static page including what you couldn’t squeeze into the info_message
, or something else. Use the rest of these settings to make the page a dynamic one.
web_server
Range | a valid host name or IP address |
---|---|
Default | none |
To create a data link from your server to your web page, using web_server
, web_script
, web_auth
, and web_refresh
, see the separate page of instructions online.
web_script
Range | a valid part-URL |
---|---|
Default | none |
To create a data link from your server to your web page, using web_server
, web_script
, web_auth
, and web_refresh
, see the separate page of instructions online.
web_auth
Range | string:string |
---|---|
Default | none |
To create a data link from your server to your web page, using web_server
, web_script
, web_auth
, and web_refresh
, see the separate page of instructions online.
web_refresh
Range | minutes, 1– |
---|---|
Default | 2 |
To create a data link from your server to your web page, using web_server
, web_script
, web_auth
, and web_refresh
, see the separate page of instructions online.
These settings choose which maps are played in which order, and control map voting.
map
Range | a map name without path or .txt |
---|---|
Default | none |
If you want your server to use only a subset of maps you have in the maps directory, or if your want to determine the rotation order exactly, you must use the map command. Add a map command for each map you want to use. For example, to use the maps maps/hassakka.txt
and maps/tutorial.txt
, add the lines:
map hassakka
map tutorial
If you want the maps to appear in the exact order the map commands are given, remember to set random_maprot
either 0 or 2.
If there aren’t any map
commands in the gamemod, Outgun will use all maps in the maps directory. Unless the order is randomized, they will be played in the file system order which often depends on the order in which the map files were created.
random_maprot
Range | 0 to disable, 1 to enable, 2 to randomize first map only |
---|---|
Default | 0 |
If random_maprot
is set 1, the server will randomize the order maps are played in, each time the server is started. If either 0 or 2, the maps always appear in the same order. The setting 2 randomizes the first map to be played when the server starts, but the map order is the same.
vote_block_time
Range | minutes, 0– |
---|---|
Default | 0 |
This setting is useful if players are disturbing the game by constantly voting for mapchange. If this is set non-zero, the map can’t be changed for that amount of minutes at the start of each round, except if all the players vote for that.
require_specific_map_vote
Range | 1 to enable, 0 to disable |
---|---|
Default | 0 |
If enabled, players must vote for a specific map to have their map exit votes effective.
These are miscellaneous gameplay tweaking settings, that don’t fall into the categories of powerups or physics.
capture_limit
win_score_difference
time_limit
extra_time
sudden_death
game_end_delay
flag_return_delay
lock_team_flags
lock_wild_flags
capture_on_team_flag
capture_on_wild_flag
balance_teams
friendly_fire
friendly_deathbringer
respawn_time
waiting_time_deathbringer
respawn_balancing_time
rocket_damage
capture_limit
Range | number of captures, 0 = no limit |
---|---|
Default | 8 |
This is the amount of captures needed to win the game. If it’s set 0, the game only ends when the time_limit
runs out.
win_score_difference
Range | 1– |
---|---|
Default | 1 |
This is the score difference needed to win the game after reaching the capture_limit
. The game only ends when one team has reached capture_limit
captures, if the other team has at most capture_limit
- win_score_difference
captures. Otherwise it’s continued until there is a score difference of win_score_difference
.
time_limit
Range | minutes, 0 = no limit |
---|---|
Default | 0 |
If time_limit
is set to a non-zero value, the game will end after that amount of minutes. This behavior can be modified using the extra_time
and sudden_death
options below.
extra_time
Range | minutes, 0– |
---|---|
Default | 0 |
This setting only has effect when time_limit
is non-zero. When the time runs out, and the game is tied (both teams have the same score), the time is extended by this amount of minutes. The effect is modified by the sudden_death
setting below.
sudden_death
Range | 1 to enable, 0 to disable |
---|---|
Default | 0 |
This setting modifies the behavior of extra_time
above. If sudden_death
is enabled, the extra time is terminated early if either team scores. If extra_time
is set zero and sudden death is enabled, the extra time is infinite, to be terminated when a team scores.
game_end_delay
Range | seconds, 0– |
---|---|
Default | 5 |
This sets the delay between game rounds. It offers players a chance to look at the previous round’s scores, and (automatically) download the next map if they don’t have it already.
flag_return_delay
Range | seconds, real number 0– |
---|---|
Default | 1.0 |
When a flag is dropped, it can be returned only after this delay.
lock_team_flags
Range | 1 to enable, 0 to disable |
---|---|
Default | 0 |
If enabled, the red and blue flags can’t be moved. If both the team and wild flags are locked, all the flags are removed. This setting has no effect unless the map has all three kinds of flags.
lock_wild_flags
Range | 1 to enable, 0 to disable |
---|---|
Default | 0 |
If enabled, the wild flags can’t be moved. If both the team and wild flags are locked, all the flags are removed. This setting has no effect unless the map has all three kinds of flags.
capture_on_team_flag
Range | 1 to enable, 0 to disable |
---|---|
Default | 1 |
If enabled, players can capture the enemy and wild flags on their team flag that is in its original position. If the team flags are locked and can not be captured on, all the flags are removed. This setting has no effect unless the map has all three kinds of flags.
capture_on_wild_flag
Range | 1 to enable, 0 to disable |
---|---|
Default | 0 |
If enabled, players can capture the enemy and wild flags on a wild flag that is in its original position. If the wild flags are locked and can not be captured on, they are removed. This setting has no effect unless the map has all three kinds of flags.
balance_teams
Range | no , balance or shuffle
|
---|---|
Default | no
|
This setting can be used to balance and optionally shuffle the teams when the round starts. If it’s set to balance
, some players from the larger team are moved to the smaller team. On shuffle
, all players are randomly allocated a team, so that the teams are in balance. In the default setting of no balancing, teams are retained as they were at the end of last round.
friendly_fire
Range | multiplier, real number 0–, or percentage |
---|---|
Default | 0 |
If set non-zero, the players’ shots will damage and kill their teammates. The base damage done is the regular rocket_damage
multiplied by this value. Generally, this should be disabled (or small) on a public server to avoid grief from players that attack teammates deliberately. The value can also be represented as a percentage, so that e.g. 0.5 and 50% have the same effect.
friendly_deathbringer
Range | multiplier, real number 0–, or percentage |
---|---|
Default | 0 |
If set non-zero, the players’ deathbringer explosions will damage and kill their teammates. The deathbringer effect time is the regular pup_deathbringer_time
multiplied by this value. Generally, this should be disabled (or small) on a public server to avoid grief from players that attack teammates deliberately. The value can also be represented as a percentage, so that e.g. 0.5 and 50% have the same effect.
respawn_time
Range | seconds, real number 0– |
---|---|
Default | 2.0 |
When a player is killed, they will stay dead for this period.
waiting_time_deathbringer
Range | seconds, real number 0– |
---|---|
Default | 4.0 |
When a player dies using a deathbringer, or commits suicide, they will have this time added to their normal respawn_time
.
respawn_balancing_time
Range | seconds, real number 0– |
---|---|
Default | 0.0 |
When a player in the larger team dies, a time based on this number and the team size difference is added to their normal respawn_time
. The exact formula to determine the time added is respawn_balancing_time * (larger team size - smaller team size) / smaller team size
. This means that if one team is twice the size of the smaller one, this number is used as is. Similarly, if a team is 50% larger (e.g. 3 vs. 2), half of this number is added to the waiting time of all the players in the larger team.
rocket_damage
Range | amount of health, 0– |
---|---|
Default | 70 |
This sets how much health is lost by a normal rocket. Because of health regeneration, setting it to small values easily makes it impossible to kill others, but do experiment.
These settings affect how powerup items appear and their effect.
pups_min
pups_max
pups_respawn_time
pup_add_time
pup_max_time
pups_drop_at_death
pups_player_max
pup_weapon_max
pup_health_bonus
pup_power_damage
pup_deathbringer_time
pup_deathbringer_switch
pup_shadow_invisibility
pup_shield_one_hit
pup_chance_shield
pup_chance_turbo
pup_chance_shadow
pup_chance_power
pup_chance_weapon
pup_chance_megahealth
pup_chance_deathbringer
pups_min
Range | 0 to 32, or 0% to any % |
---|---|
Default | 20% |
The minimum number of powerups in the game. A percentage is interpreted as a fraction of map size in rooms. That is, 50% means 18 powerups in a 6×6 sized map (6×6×50%=18) and 2 powerups in a 2×2 sized map (2×2×50%=2). 200% would mean 72 and 8 powerups, respectively, but note that there is a hard maximum of 32 powerups.
If there are more players in the game than there would be powerups according to this minimum, there will be as many powerups as there are players. If you want to disable this flexibility, set pups_max
to the same amount as pups_min
. This setting is always limited by the pups_max
setting: If pups_max
calculated in a given map is smaller than pups_min
, there will be pups_max
powerups.
pups_max
Range | 0 to 32, or 0% to any % |
---|---|
Default | 80% |
The maximum number of powerups in the game. A percentage is interpreted as a fraction of map size in rooms. That is, 50% means 18 powerups in a 6×6 sized map (6×6×50%=18) and 2 powerups in a 2×2 sized map (2×2×50%=2). 200% would mean 72 and 8 powerups, respectively, but note that there is a hard maximum of 32 powerups.
See the notes in pups_min
above.
pups_respawn_time
Range | seconds, 0– |
---|---|
Default | 25 |
This is the time that a powerup remains out of the game after being picked up by a player. If set to 0, it will instantly spawn somewhere when picked up.
pup_add_time
Range | seconds, 1– |
---|---|
Default | 40 |
When a player picks up a turbo, power, or shadow powerup, they will have the powerup for the time set by this setting. If they had some time left already, this time is added to the old time. The pup_max_time
setting below controls how much time can be accumulated this way.
pup_max_time
Range | seconds, 1– |
---|---|
Default | 100 |
This is the limit to how much powerup time a player can collect from turbo, power or shadow powerups. If this is set to the same as or less than pup_add_time
, no accumulation is possible and the player’s powerup time just resets to this value whenever they pick up a powerup.
pups_drop_at_death
Range | 1 to enable, 0 to disable |
---|---|
Default | 0 |
If this is enabled, when a player with powerups dies, one of their powerups is dropped for other players to pick up. This only happens when the powerup has most of its time left.
pups_player_max
Range | 1– |
---|---|
Default | no limit |
This is the maximum number of distinct powerups a player can have at once. When an additional powerup is picked up, one of the player’s powerups is removed to make room, in this order of priority:
pup_weapon_max
Range | 1 to 9 |
---|---|
Default | 9 |
This is the maximum weapon level a player can have.
pup_health_bonus
Range | amount of health/energy, 1– |
---|---|
Default | 160 |
This sets how much health and energy combined a player gets when picking up a megahealth powerup.
pup_power_damage
Range | multiplier, real number 0– |
---|---|
Default | 2.0 |
The rocket_damage
value is multiplied by this value for rockets shot with the ‘power’ powerup.
pup_deathbringer_time
Range | seconds, real number 0– |
---|---|
Default | 5.0 |
This is the time how long a player will be (on average) under the influence of a deathbringer explosion. During this time the player is paralyzed (can’t move or shoot) and constantly loses health. Changing this time also affects the total health consumed by a deathbringer shot. Changing this to something like 20 seconds will make every deathbringer hit fatal.
pup_deathbringer_switch
Range | 1 to enable, 0 to disable |
---|---|
Default | 1 |
If this is enabled, players can get rid of deathbringer powerups they picked up by picking up another one. If this is disabled, picking up more than one deathbringer makes no difference.
pup_shadow_invisibility
Range | 1 to enable, 0 to disable |
---|---|
Default | 0 |
If this is enabled, a player with the shadow powerup becomes completely invisible to enemies in a few seconds. The disabled setting makes all shadow players show a little. Having the invisibility enabled makes shadow a much more powerful powerup, so adjusting pup_chance_shadow
might be in order.
pup_shield_one_hit
Range | 1 to enable, 0 to disable |
---|---|
Default | 0 |
If this is enabled, a player with the shield powerup can only sustain one hit before the shield wears off. On the other hand, the hit doesn’t take any energy from the player. This setting is a way to make the shield powerup considerably less powerful.
pup_chance_shield
Range | a number relative to other pup_chance settings, 0–
|
---|---|
Default | 16 |
When a powerup is created in the game, its chance of being a shield powerup is this number divided by the total of all pup_chance
settings. In the default configuration, the total is 100 so each number represents a percentage of chance.
pup_chance_turbo
Range | a number relative to other pup_chance settings, 0–
|
---|---|
Default | 14 |
When a powerup is created in the game, its chance of being a turbo powerup is this number divided by the total of all pup_chance
settings. In the default configuration, the total is 100 so each number represents a percentage of chance.
pup_chance_shadow
Range | a number relative to other pup_chance settings, 0–
|
---|---|
Default | 14 |
When a powerup is created in the game, its chance of being a shadow powerup is this number divided by the total of all pup_chance
settings. In the default configuration, the total is 100 so each number represents a percentage of chance.
pup_chance_power
Range | a number relative to other pup_chance settings, 0–
|
---|---|
Default | 14 |
When a powerup is created in the game, its chance of being a ‘power’ powerup is this number divided by the total of all pup_chance
settings. In the default configuration, the total is 100 so each number represents a percentage of chance.
pup_chance_weapon
Range | a number relative to other pup_chance settings, 0–
|
---|---|
Default | 18 |
When a powerup is created in the game, its chance of being a weapon powerup is this number divided by the total of all pup_chance
settings. In the default configuration, the total is 100 so each number represents a percentage of chance.
pup_chance_megahealth
Range | a number relative to other pup_chance settings, 0–
|
---|---|
Default | 13 |
When a powerup is created in the game, its chance of being a megahealth powerup is this number divided total of all pup_chance
settings. In the default configuration, the total is 100 so each number represents a percentage of chance.
pup_chance_deathbringer
Range | a number relative to other pup_chance settings, 0–
|
---|---|
Default | 11 |
When a powerup is created in the game, its chance of being a deathbringer powerup is this number divided total of all pup_chance
settings. In the default configuration, the total is 100 so each number represents a percentage of chance.
Changing the physics generally requires guessing, and there are no guidelines to give. Just try different combinations if you want to change it.
To control the maximum speed, you can use the following formula to determine the other values, or to calculate the maximum speed (in the same unit as in Outgun 0.5.0, where the default running speed is 22) from them:
maximum speed = (acceleration
-friction
) /drag
.
friction
drag
acceleration
brake_acceleration
turn_acceleration
run_acceleration
turbo_acceleration
flag_acceleration
player_collisions
rocket_speed
friction
Range | real number |
---|---|
Default | 0.20 |
Friction represents the constant component of speed loss. The meaningful range is between 0 and the maximum acceleration.
drag
Range | real number |
---|---|
Default | 0.16 |
Drag represents the component of speed loss that’s proportional to current speed. The meaningful range is between 0 and 1.
acceleration
Range | real number |
---|---|
Default | 2.60 |
This is the basic amount of acceleration, which is used when walking without turbo.
brake_acceleration
Range | multiplier, real number 0.01– |
---|---|
Default | 0.10 |
Acceleration is multiplied by this value when accelerating opposite to the current movement, ‘braking’.
turn_acceleration
Range | multiplier, real number 0.01– |
---|---|
Default | 0.50 |
Acceleration is multiplied by this value when accelerating perpendicular to the current movement, ‘turning’.
run_acceleration
Range | multiplier, real number |
---|---|
Default | 1.75 |
Acceleration is multiplied by this value when running.
turbo_acceleration
Range | multiplier, real number |
---|---|
Default | 1.45 |
Acceleration is multiplied by this value when the player has the turbo powerup. When running with turbo, both this multiplier and run_acceleration
are used.
flag_acceleration
Range | multiplier, real number |
---|---|
Default | 0.91 |
Acceleration is multiplied by this when the player is carrying a flag and running, in addition to the run_acceleration
and possibly turbo_acceleration
multipliers.
player_collisions
Range | no , normal or special (equivalent: 0, 1, or 2)
|
---|---|
Default | normal
|
If this is enabled, players (regardless of whether they’re in the same team or not) can collide with each other. The collision check is not applied when a player is spawned, or at room borders, so players can still end up overlapping. The special
setting adds special effects to collisions when a player has certain powerups. It makes colliding to other players a weapon, too.
rocket_speed
Range | real number |
---|---|
Default | 50 |
This sets the speed of the players’ shots. The unit is the same as that of player speed in 0.5.0.