Outgun / Documentation / Gamemod settings

Gamemod settings

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.

This document applies to Outgun 1.0. For older versions, the only similar documentation (outside the comments in the distributed gamemods) is in Portuguese at http://outgun.sourceforge.net/tut_gamemod.htm.

Contents

General settings

These are settings that don’t affect the gameplay at all.

server_name

Rangeany string
DefaultAnonymous 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

Rangean even number between 2 and 32
Defaultthe -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

Rangeany string
Defaultnone

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

Rangeany string
Defaultnone

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

Range1 to enable, 0 to disable
Default0

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

Rangeany string
Defaultnone

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

Rangeup to 15 characters
Defaultnone

If the server password is set, only players who know the password can enter the server.

tournament

Range1 to enable, 0 to disable
Default1

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

Rangenumber of players, 1 or more, or 0 to disable
Default0

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

Rangeseconds, 10 or more, or 0 to disable
Default120

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

Range1 to 32
Default4

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

Range1 to 65535
Default25000

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

Rangea valid IP address
Defaultautodetected

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

Range1 to enable, 0 to disable
Default0

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

Rangeseconds, 0 to 86399
Default0

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

Rangeseconds, 0 to 86399
Default0

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.

Server web site

These settings allow you to configure a web site with Outgun.

server_website

Rangea valid URL
Defaultnone

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

Rangea valid host name or IP address
Defaultnone

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.

web_script

Rangea valid part-URL
Defaultnone

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.

web_auth

Rangestring:string
Defaultnone

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.

web_refresh

Rangeminutes, 1–
Default2

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.

Map rotation

These settings choose which maps are played in which order, and control map voting.

map

Rangea map name without path or .txt
Defaultnone

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

Range0 to disable, 1 to enable, 2 to randomize first map only
Default0

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

Rangeminutes, 0–
Default0

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

Range1 to enable, 0 to disable
Default0

If enabled, players must vote for a specific map to have their mapexit votes effective.

Game config

These are miscellaneous gameplay tweaking settings, that don’t fall into the categories of powerups or physics.

capture_limit

Rangenumber of captures, 0 = no limit
Default8

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

Range1–
Default1

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

Rangeminutes, 0 = no limit
Default0

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

Rangeminutes, 0–
Default0

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

Range1 to enable, 0 to disable
Default0

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

Rangeseconds, 0–
Default5

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

Rangeseconds, real number 0–
Default1.0

When a flag is dropped, it can be returned only after this delay.

lock_team_flags

Range1 to enable, 0 to disable
Default0

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

Range1 to enable, 0 to disable
Default0

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

Range1 to enable, 0 to disable
Default1

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

Range1 to enable, 0 to disable
Default0

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

Rangeno, balance or shuffle
Defaultno

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

Rangemultiplier, real number 0–, or percentage
Default0

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

Rangemultiplier, real number 0–, or percentage
Default0

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

Rangeseconds, real number 0–
Default2.0

When a player is killed, they will stay dead for this period.

waiting_time_deathbringer

Rangeseconds, real number 0–
Default4.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

Rangeseconds, real number 0–
Default0.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

Rangeamount of health, 0–
Default70

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.

Powerups

These settings affect how powerup items appear and their effect.

pups_min

Range0 to 32, or 0% to any %
Default20%

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 66 sized map (6650%=18) and 2 powerups in a 22 sized map (2250%=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

Range0 to 32, or 0% to any %
Default80%

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 66 sized map (6650%=18) and 2 powerups in a 22 sized map (2250%=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

Rangeseconds, 0–
Default25

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

Rangeseconds, 1–
Default40

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

Rangeseconds, 1–
Default100

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

Range1 to enable, 0 to disable
Default0

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

Range1–
Defaultno 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

Range1 to 9
Default9

This is the maximum weapon level a player can have.

pup_health_bonus

Rangeamount of health/energy, 1–
Default160

This sets how much health and energy combined a player gets when picking up a megahealth powerup.

pup_power_damage

Rangemultiplier, real number 0–
Default2.0

The rocket_damage value is multiplied by this value for rockets shot with the ‘power’ powerup.

pup_deathbringer_time

Rangeseconds, real number 0–
Default5.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

Range1 to enable, 0 to disable
Default1

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

Range1 to enable, 0 to disable
Default0

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

Range1 to enable, 0 to disable
Default0

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

Rangea number relative to other pup_chance settings, 0–
Default16

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

Rangea number relative to other pup_chance settings, 0–
Default14

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

Rangea number relative to other pup_chance settings, 0–
Default14

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

Rangea number relative to other pup_chance settings, 0–
Default14

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

Rangea number relative to other pup_chance settings, 0–
Default18

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

Rangea number relative to other pup_chance settings, 0–
Default13

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

Rangea number relative to other pup_chance settings, 0–
Default11

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.

Physics

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

Rangereal number
Default0.20

Friction represents the constant component of speed loss. The meaningful range is between 0 and the maximum acceleration.

drag

Rangereal number
Default0.16

Drag represents the component of speed loss that’s proportional to current speed. The meaningful range is between 0 and 1.

acceleration

Rangereal number
Default2.60

This is the basic amount of acceleration, which is used when walking without turbo.

brake_acceleration

Rangemultiplier, real number 0.01–
Default0.10

Acceleration is multiplied by this value when accelerating opposite to the current movement, ‘braking’.

turn_acceleration

Rangemultiplier, real number 0.01–
Default0.50

Acceleration is multiplied by this value when accelerating perpendicular to the current movement, ‘turning’.

run_acceleration

Rangemultiplier, real number
Default1.75

Acceleration is multiplied by this value when running.

turbo_acceleration

Rangemultiplier, real number
Default1.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

Rangemultiplier, real number
Default0.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

Rangeno, normal or special (equivalent: 0, 1, or 2)
Defaultnormal

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

Rangereal number
Default50

This sets the speed of the players’ shots. The unit is the same as that of player speed in 0.5.0.


Updated 2006-02-13 – Niko Ritari