First Start | Network Play | Configuration | FAQ | Bugs | Todo List | Changelog | Compilation

# Configuration

All the normal user settings of Armagetron are configurable in the menu system. Since it is quite easy to get lost, here is a (not always up-to-date) map of all submenus (the menuitems have an autohelp display below if you don't touch any keys for some seconds, so to let you keep the overview here, I omit the simple items):

#### Main Menu

- Game Menu (start and setup a game)

- Start Game (Starts a local game)
- Network Game (Connects to or creates a network game)

- Misc Stuff (things that did not fit anywhere else: Moviepack, console text output, menu wrap option and global keyboard configuration)

- Global Keyboard Configuration (keyboard setup for player-independent functions (console, scores))

- Player Menu (Player customisation: keyboard input, camera setup, multiplayer mode on one computer)

- Player 1-4 (the settings for this player)

- Input Configuration (keyboard and mouse setup)
- Camera Input Configuration (keyboard and mouse setup for camera controls)
- Instant Chat (things you can say with one keystroke)
- Camera Setup (camera keyboard setup and options)

- Assign Viewports To Players (which player sees himself on wich part of the screen)

- Sound Settings (sound quality)
- Display Settings (screen resolution and graphic details/preferences)

- Detail Settings (things that affect visual quality and depend on your system's OpenGL power)
- Preferences (things that depend more on your personal taste)
- Performance Tweaks (settings that increase graphics speed, but may not work on your system)
- Screen Mode (resolution and windowed/fullscreen selection)

### Modify internal settings

The game is too slow for you? Then take a look at the file `settings.cfg` (best save all your changes to `autoexec.cfg` if you don't want the next release of Armagetron overwrite them). Play a bit with `CYCLE_SPEED` and all the other nice variables and see what happens; as you probably guessed, you can place comments preceeded by `#`. If both server and client in a network game support it, the game physics settings are transferred from the server to the clients. That is, you just have to modify the `CYCLE_*` settings on the server, and all the cycles on the clients will obey the same laws.

The acceleration caused by the wall at distance `D` is

    acceleration=CYCLE_ACCELL / (CYCLE_ACCELL_OFFSET + D)-
                 CYCLE_ACCELL / (CYCLE_ACCELL_OFFSET + CYCLE_WALL_NEAR)

if the wall is closer than `CYCLE_WALL_NEAR`. the stuff in the second line just makes sure that the acceleration is 0 if `D=CYCLE_WALL_NEAR`, so there are no "jumps".)

The `CYCLE_RUBBER` setting is a niceness thing, especially useful in an internet game where player prediction is poor: if you hit a wall, you are not directly deleted; you are stopped for a short time and your supply of "rubber" is decreased. If you manage to turn fast enough, you won't die. the rubber supply will slowly increase again (on a timescale of 10 seconds, approximately). `CYCLE_RUBBER` gives the maximum amount of rubber you have got. Setting it too high (~1000000) will make all cycles (your opponents, too!) immortal, setting it to zero is the way it used to be until version 000518. One is a good value for single player games, 3 .. 10 for network games (the more ping, the higher the setting should be). In the current version, the setting on the clients is in efect, so you can cheat a little bit in network mode if you increase your rubber.

A special feature are the `CAMERA_FORBID_*` settings; if you think for example that using the free floating camera is cheating, simply set `CAMERA_FORBID_FREE` to 1 on your server; none of the clients will then be able to use the free camera. (Of course, it is possible for a modified client to cheat at this point, using the forbidden camera perspectives anyway.) Try a match with all but the internal camera disabled :-)

The settings that affect only the visual appearance (`FLOOR_*` ...) are not transferred; It stays a matter of taste if you want the floor red or yellow.

### The Console

All the settings you alter do permanently in the .cfg-files can be tested temporarily if you enter them at the console. To enter a line to the console, you have to bind a key to it (in "Misc Stuff/Global Keyboard Configuration") and press it, of course. The line you enter will be interpreted just as if it was read from a config file. if you type in an incomplete name, you'll get a list of settings that contain that name. Just typing the name of a setting will print the current value.
If you run a dedicated server, everything you type will be considered console input.

#### Special Console Commands

`x` always is a real number, `n` an integral number, `b` a boolean value (0=false,1=true) and `s` a string (all the rest of the line will be read).

`START_NEW_MATCH` | reset the scores and start a new match in the next round
`DEDICATED_IDLE x` | Only used by the dedicated server: after running for x hours, the server takes the next opportunity (when noone is online) to quit.

#### Other Console Commands

`CYCLE_SPEED x` | basic cycle speed (m/s)
`CYCLE_START_SPEED x` | cycle speed at startup
`CYCLE_ACCELL x` | acceleration multiplicator (whoops. One L too much...)
`CYCLE_ACCELL_OFFSET x` | acceleration offset (higher means lower acceleration)
`CYCLE_DELAY x` | minimum time between turns
`CYCLE_WALL_NEAR x` | when is a wall near?
`CYCLE_SOUND_SPEED x` | sound speed divisor; the speed at which the cycle sound is played at normal speed
`CYCLE_BRAKE x` | brake strength
`CYCLE_RUBBER x` | niceness when hitting a wall
`CYCLE_PING_RUBBER x` | niceness when hitting a wall, influence of your ping
`FLOOR_RED/GREEN/BLUE x` | floor color (without moviepack)
`FLOOR_MIRROR_INT x` | floor mirror intensity(if enabled)
`GRID_SIZE x` | distance of the gridlines
`CAMERA_FORBID_SMART b` | forbid smart camera
`CAMERA_FORBID_IN b` | forbid internal camera
`CAMERA_FORBID_FREE b` | forbid free camera
`CAMERA_FORBID_FOLLOW b` | forbid fixed external camera
`` |
`SCORE_WIN n` | points you gain for beeing last one alive
`SCORE_SUICIDE n` | points you gain for every stupid death (race into the rim/your own wall); should be negative
`SCORE_KILL n` | points you gain for everyone racing into your wall
`SCORE_DIE n` | points you gain for every time you race into someones wall (should be negative)
`` |
`LIMIT_SCORE n` | score limit (all limits for one match)
`LIMIT_ROUNDS n` | maximum number of rounds to play
`LIMIT_TIME n` | maximum time (in minutes)
`MESSAGE_OF_DAY_1/2/3/4 s` | message lines sent to the clients upon connection

Settings for single player highscore hunt on this server:

`SP_SCORE_WIN n` | points you gain for beeing last one alive
`SP_LIMIT_ROUNDS n` | max number of rounds to play
`SP_LIMIT_TIME n` | max time (in minutes)
`SP_AIS n` | number of opponents you will face
`` |
`COLOR_STRINGS b` | draw strings in color?

Ladder league constants:

`LADDER_PERCENT_BET x` | percentage of your score to be put in the pot
`LADDER_MIN_BET x` | minimum credits to be put in the pot
`LADDER_TAX x` | percentage the IRS takes from the pot
`LADDER_LOOSE_PERCENT_ON_LOAD x` | you loose this percentage of your score every time the server is restarted
`LADDER_LOOSE_MIN_ON_LOAD x` | but minimum this value
`LADDER_GAIN_EXTRA x` | the winner gets his ping+ping charity (in seconds) times this value extra

This document was created by Manuel Moos.

Last modification: Fre Mai 11 19:47:13 CEST 2001

First Start | Network Play | Configuration | FAQ | Bugs | Todo List | Changelog | Compilation