In order to prevent cheating
(switching the camera/radar map would be an unfair advantage),
I had to use a 0.3.x server. Compiling this server from source was a bit tricky.
The following script should build the server.
#!/bin/bash ############################################################################################### ### ### This script *should* build the ArmagetronAD server on Ubuntu 9.10 Karmic Koala ### http://forums3.armagetronad.net/viewtopic.php?p=196916#196916 ### ############################################################################################### working_directory=$HOME/armagetronad-build mkdir $working_directory cd $working_directory sudo apt-get install \ build-essential automake subversion libboost-dev \ libxml2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev \ ftgl-dev libglew-dev bison pkg-config \ bzr libprotobuf-dev protobuf-compiler bzr checkout http://bazaar.launchpad.net/~armagetronad-dev/armagetronad/trunk-armagetronad-work cd trunk-armagetronad-work ./bootstrap.sh ./configure --disable-glout make sudo make install
You can start the server with sudo /etc/init.d/armagetronad-dedicated start, but you will likely want configure it first. The following commands should download all necessary files for recreating my server:
cd /etc/armagetronad-dedicated sudo sh -c 'echo "include corewars_incam/main.cfg" > autoexec.cfg' sudo mkdir corewars_incam cd corewars_incam sudo wget http://harald.ist.org/armagetron/corewars-incam/main.cfg sudo wget http://harald.ist.org/armagetron/corewars-incam/4teams sudo wget http://harald.ist.org/armagetron/corewars-incam/bigbox sudo /etc/init.d/armagetronad-dedicated start
# main.cfg # This is the actually active server configuration file. # If nobody temporarily changed the settings via /admin # commands, then this is, what we are playing right now. ######################################################## ### ### corewar's incam (cockpit view) ### main.cfg - ArmagetronAD game server configuration ### ######################################################## ######################################## ### ### SERVER INFO ### ######################################## SERVER_NAME 0xaa0000core0xffffffwar's incam (cockpit view) URL 0x88ff00http://harald.ist.org/armagetron SERVER_OPTIONS Imitate the movie's arena. Almost 0xffff00no rubber0xffffff, \ 0xffff00Brakes accelerate0xffffff, 0xffff00camera cannot be changed0xffffff. TALK_TO_MASTER 1 ######################################## ### ### MESSAGES ### ######################################## CONSOLE_MESSAGE 0xffff00 * Realoading Configuration #ToD is a 0.3.x setting: TITLE_OF_DAY 0xff0000core0xffffffwar's incam (cockpit view) MESSAGE_OF_DAY 0xffff00News:\n\ 0xffff001) Server now quasi-permanently available (runs on my router)\n\ 0xffff002) New physics: Slower base speed, acceleration reduced\n\ \n\ 0xaaaaffWelcome on 0xff0000core0xffffffwar's incam 0xaaaaffserver!\n\ \n\ 0xaaaaffThis server tries to imitate the race as it is shown in the movie.\n\ 0xffffffIncam View 0xaaaaffmight be difficult at start, but one gains skill quickly!\n\ 0xaaaaffRead more on 0xffffffhttp://harald.ist.org/armagetron.\n\ \n\ 0xffffffBrakes 0xaaaaffare actually 0xffffffspeed-up0xaaaaffs, 0xfffffftunnels 0xaaaaffwill 0xffffffslow 0xaaaaffyou 0xffffffdown.\n\ 0xffffffBind 0xaaaaffkeys for 0xffffffGlance 0xaaaaffLeft/Right/Back and 0xffffffuse them often0xaaaaff!\n\ 0xaaaaff(Player Setup / Player 1 Settings / 0xffffffCamera Input Configuration0xaaaaff) #\n\ #0xaaaaffExample Key Bindings\n\ #0xaaaaff--------------------\n\ #0xaaaaffTurn Left: [y], [Crsr-Left] Glance Left: Left [Ctrl]\n\ #0xaaaaffTurn Right: [x], [Crsr-Right] Glance Right: Left [Alt]\n\ #0xaaaaffSpeed Up: [Crsr-Down] (brakes) Glance Back: [Crsr-Up] ROUND_CENTER_MESSAGE 0x0066ccPREPARE TO TRANSPORT TO LIGHTCYCLE GRID ROUND_CONSOLE_MESSAGE 0xff0000core0xffffffwar's incam (cockpit view) - http://harald.ist.org/armagetron\n0xcccc00TYPE 0xffffff/SHUFFLE 0xcccc00TO CHANGE YOUR POSITION\n0xcccc00TYPE 0xffffff/TEAMS 0xcccc00TO SEE POSITIONS\n0x0099ffWE HAVE TRANSPORT #ROUND_CONSOLE_MESSAGE 0x0099ffWE HAVE TRANSPORT\n0xff0000core0xffffffwar's incam (cockpit view) - http://harald.ist.org/armagetron\n0xcccc00ALTERNATE CAMERA: '0xffffffC0xcccc00' 0xcccc00(DEFAULT)\n0xcccc00TYPE 0xffffff/SHUFFLE 0xcccc00TO CHANGE YOUR POSITION\n0xcccc00TYPE 0xffffff/TEAMS 0xcccc00TO SEE POSITIONS ######################################## ### ### BASIC RULES ### ######################################## ARENA_AXES 4 SP_SIZE_FACTOR 0 # Size of the arena SIZE_FACTOR 0 SP_GAME_TYPE 2 # 0 Freestyle, 1 Last Team Standing, 2 Human vs. AI GAME_TYPE 2 SP_FINISH_TYPE 1 # What happens when the last human is dead? FINISH_TYPE 1 # 1 End, 2 Speedup SP_MIN_PLAYERS 1 WIN_ZONE_DEATHS 1 # 1 Death Zone (else win zone?) WIN_ZONE_INITIAL_SIZE 0.0001 WIN_ZONE_EXPANSION 1 # 1 boring, 10 fast WIN_ZONE_RANDOMNESS 1 # 0 center, 1 somewhere SP_WIN_ZONE_MIN_LAST_DEATH 1 # Minimum number of seconds since the last death before the instant win zone is activated WIN_ZONE_MIN_LAST_DEATH 1 # 1 counter starts after death? SP_WIN_ZONE_MIN_ROUND_TIME 99990 # Minimum number of seconds the round has to be going on before the instant win zone is activated WIN_ZONE_MIN_ROUND_TIME 99990 # -1 Turns it off. EXTRA_ROUND_TIME 0 # Length of an extra pause at the beginning of the round FLOOR_BLUE 2 # Floor color FLOOR_GREEN 2 # Floor color FLOOR_RED 2 # Floor color CHATBOT_DECAY 0 #0.02 # rate at which the quality of the chatbot decays over time CHATTER_REMOVE_TIME 60 # Time in seconds after which a permanent chatter is removed from the game FADEOUT_NAME_DELAY -1 # Time the player names are shown. Set to 0 if you don't want to show them at all or -1 if you want to show them always. ######################################## ### ### TEAMS ### ######################################## SP_AI_IQ 99 AI_IQ 99 SP_AUTO_IQ 1 # Automatically adjust AI IQ? AUTO_IQ 0 SP_AUTO_AIS 0 # Automatically spawn AI players? AUTO_AIS 0 SP_NUM_AIS 0 # Number of AI players NUM_AIS 0 AUTO_TEAM 1 # Players put to teams automatically ALLOW_TEAM_CHANGE 1 # All players can change teams ALLOW_TEAM_NAME_COLOR 1 # Team named after color ALLOW_TEAM_NAME_PLAYER 0 # Team named after the leading player MAX_CLIENTS 12 NEW_TEAM_ALLOWED 1 # Allow new teams to be created SP_TEAMS_MAX 2 # Number of teams - /admin include 4teams TEAMS_MAX 2 SP_TEAMS_MIN 2 # Users vs. AI - 2 teams TEAMS_MIN 2 SP_TEAM_MIN_PLAYERS 3 # Minimum size of a team TEAM_MIN_PLAYERS 3 SP_TEAM_MAX_PLAYERS 12 #3 # I guess this could be 6... TEAM_MAX_PLAYERS 12 SP_TEAM_BALANCE_WITH_AIS 1 # Fill teams with AI players TEAM_BALANCE_WITH_AIS 1 SP_TEAM_MAX_IMBALANCE 7#3 TEAM_MAX_IMBALANCE 7 SP_TEAM_BALANCE_ON_QUIT 0 TEAM_BALANCE_ON_QUIT 1 # Experimantal - what does it do really? # 0.3.x settings: SPAWN_WINGMEN_SIDE 9#3 # Starting positions of lightcycles SPAWN_WINGMEN_BACK 4#2 TEAM_NAME_2 "0xffff00User Apps (Gold)" TEAM_RED_2 15 TEAM_GREEN_2 12 TEAM_BLUE_2 0 TEAM_NAME_1 "0x2222ffKernel (Blue)" TEAM_RED_1 0 TEAM_GREEN_1 9 TEAM_BLUE_1 15 TEAM_NAME_4 "0x00cc00User Apps (Green)" TEAM_RED_4 4 TEAM_GREEN_4 15 TEAM_BLUE_4 0 TEAM_NAME_3 "0xff0000Kernel (Red)" TEAM_RED_3 15 TEAM_GREEN_3 0 TEAM_BLUE_3 0 TEAM_CENTER_IS_BOSS 1 # 0 player who is on team longest, 1 center player is boss ACCESS_LEVEL_SHUFFLE_UP 20 # Player can choose position in team?? ######################################## ### ### SCORE ### ######################################## #? SCORE_DEATHZONE -2 SCORE_DIE -2 SCORE_KILL 5 SCORE_SUICIDE -3 SCORE_WIN 4 SP_SCORE_WIN 4 SP_LIMIT_ROUNDS 12 # End the match after this number of rounds LIMIT_ROUNDS 12 SP_LIMIT_SCORE 99 # End the match when a player reaches this score LIMIT_SCORE 99 SP_LIMIT_TIME 10 # End the match after this number of minutes LIMIT_TIME 10 ######################################## ### ### GAME PHYSICS ### ######################################## SP_SPEED_FACTOR 0.1 SPEED_FACTOR 0 DOUBLEBIND_TIME 0 # Time in seconds during which no two different keyboard events can trigger the same action SP_WALLS_LENGTH 1500 #2222 WALLS_LENGTH 1500 #2222 SP_WALLS_STAY_UP_DELAY 0 # Seconds a wall stays up after death. -1 forever WALLS_STAY_UP_DELAY 0 SP_EXPLOSION_RADIUS 6 EXPLOSION_RADIUS 6 CYCLE_WIDTH 0.25 #0.75 # Width of the cycle collision object. It can only squeeze through tunnels wider than this. CYCLE_START_SPEED 0 CYCLE_SPEED 25 #20 CYCLE_SPEED_MIN 0.25 # Minimal speed of a cycle, measured relative to CYCLE_SPEED CYCLE_SPEED_DECAY_ABOVE 1 # Rate of cycle speed approaching the value of CYCLE_SPEED from above CYCLE_TURN_SPEED_FACTOR 0.95#1 # Factor the speed of a lightcycle is multiplied with when turning (>0 speed up) CYCLE_WALL_NEAR 9 # How near to the wall to acceleration kicks in CYCLE_ACCEL_OFFSET 5 # Minimum distabce a cycle can have to a wall CYCLE_ACCEL 100 CYCLE_ACCEL_RIM 0.333 # RIM, SELF, TEAM, ENEMY: Factors to base speed? CYCLE_ACCEL_SELF 1.0 CYCLE_ACCEL_TEAM 1.1 CYCLE_ACCEL_ENEMY 1.2 CYCLE_ACCEL_TUNNEL -2 # Multiplicator to the total effect of CYCLE_ACCEL, if the cycle is between two walls not created by it CYCLE_ACCEL_SLINGSHOT -2 # Multiplicator to the total effect of CYCLE_ACCEL, if the cycle is between its own wall and another wall CYCLE_BRAKE -5 #-30 #20 CYCLE_BRAKE_DEPLETE 0.15 #0.25 #1.7 CYCLE_BRAKE_REFILL 0.4 #0.5 CYCLE_DELAY 0.1 # time that has to pass before a new turn is possible CYCLE_PING_RUBBER 3 #3 # Additional niceness for high ping players CYCLE_RUBBER 1.75 # Niceness factor to allow you drive really close to a wall CYCLE_RUBBER_TIME 1 # Timescale rubber is restored on CYCLE_RUBBER_SPEED 40 # Logarithmic speed of wall approximation when rubber is in effect. # Every second, you get closer to the wall by a factor of ~0.4^{this value} CYCLE_RUBBER_DELAY 1 # During this fraction of the cycle delay time after each turn, ... CYCLE_RUBBER_DELAY_BONUS 3 # ... rubber efficiency will be multiplied with CYCLE_RUBBER_DELAY_BONUS CYCLE_RUBBER_TIMEBASED 1 # Rubber usage based on distance travelled (0) or time passed (1). Intermediate/out of bounds values supported as well CYCLE_RUBBER_MINADJUST 0.05 # When adjusting to or 180ing into a wall, allow going closer by at least this amount CYCLE_RUBBER_MINDISTANCE 0.05 # The minimal distance rubber code keeps you from the wall in front of you CYCLE_RUBBER_MINDISTANCE_RATIO 0 # Additional distance to CYCLE_RUBBER_MINDISTANCE for every length unit of the wall you have in front of you ######################################## ### ### CAMERA ### ######################################## CAMERA_FORBID_IN 0 # true incam CAMERA_FORBID_CUSTOM 1 CAMERA_FORBID_FOLLOW 1 CAMERA_FORBID_FREE 1 CAMERA_FORBID_SERVER_CUSTOM 0 # Pseudo Incam (Slightly elevated, more overview, for lusers) CAMERA_FORBID_MER 1 # For 0.3.x clients CAMERA_FORBID_SMART 1 FORBID_HUD_MAP 1 # For 0.3.x clients CAMERA_SERVER_CUSTOM_BACK 3 # Position of the custom camera: how much is it moved back from the cycle? CAMERA_SERVER_CUSTOM_BACK_FROMSPEED 0 # This value is multiplied with the current speed and added to CAMERA_SERVER_CUSTOM_BACK. CAMERA_SERVER_CUSTOM_PITCH -0.2 # Position of the custom camera: how much does it look up/down? CAMERA_SERVER_CUSTOM_RISE 0.5 # Position of the custom camera: how much is it moved up from the cycle? CAMERA_SERVER_CUSTOM_RISE_FROMSPEED 0 # This value is multiplied with the current speed and added to CAMERA_SERVER_CUSTOM_RISE. CAMERA_SERVER_CUSTOM_TURN_SPEED 100 1 # Speed the server custom camera turns with. Turn values are taken from the clientside settings if this is negative. CAMERA_SERVER_CUSTOM_TURN_SPEED_180 1 # Extra factor to CAMERA_SERVER_CUSTOM_TURN_SPEED after a quick reverse #unknown: DISPLAY_COLORED_NAMES_OVER_CYCLES 1 # Should the names over cycles appear in the cycles' color CONSOLE_MESSAGE PROCESSED 0x00ff00/etc/armagetronad/corewars_incam/main.cfg
This file is to be loaded after main.cfg:
######################################## ### ### bigbox ### ######################################## SP_SIZE_FACTOR 2 SIZE_FACTOR 2 CYCLE_BRAKE -40 CYCLE_BRAKE_DEPLETE 0.05 CYCLE_RUBBER 2 CYCLE_ACCEL 200 CYCLE_ACCEL_RIM 0.333 # RIM, SELF, TEAM, ENEMY: Factors to base speed? CYCLE_ACCEL_SELF 1.0 CYCLE_ACCEL_TEAM 1.1 CYCLE_ACCEL_ENEMY 1.2 CYCLE_ACCEL_TUNNEL -1 CYCLE_ACCEL_SLINGSHOT -1 SP_WALLS_LENGTH 1400 WALLS_LENGTH 1400 SPAWN_WINGMEN_SIDE 7 SPAWN_WINGMEN_BACK 10 WIN_ZONE_DEATHS 0#1 WIN_ZONE_INITIAL_SIZE 0.0001 WIN_ZONE_EXPANSION 0#1 # 1 boring, 10 fast WIN_ZONE_RANDOMNESS 1 # 0 center, 1 somewhere SP_WIN_ZONE_MIN_LAST_DEATH 1 # Minimum number of seconds since the last death before the instant win zone is activated WIN_ZONE_MIN_LAST_DEATH 1 # 1 counter starts after death? SP_WIN_ZONE_MIN_ROUND_TIME 60 # Minimum number of seconds the round has to be going on before the instant win zone is activated WIN_ZONE_MIN_ROUND_TIME 60 #CAMERA_FORBID_IN 1 CAMERA_SERVER_CUSTOM_BACK 3 # Position of the custom camera: how much is it moved back from the cycle? CAMERA_SERVER_CUSTOM_BACK_FROMSPEED .005 # This value is multiplied with the current speed and added to CAMERA_SERVER_CUSTOM_BACK. CAMERA_SERVER_CUSTOM_PITCH -0.2 # Position of the custom camera: how much does it look up/down? CAMERA_SERVER_CUSTOM_RISE .6 # Position of the custom camera: how much is it moved up from the cycle? CONSOLE_MESSAGE 0xffff00Configuration Loaded: "BigBox"
This file is to be loaded after main.cfg:
######################################## ### ### 4teams ### ######################################## AUTO_TEAM 1 ALLOW_TEAM_CHANGE 1 ALLOW_TEAM_NAME_COLOR 1 ALLOW_TEAM_NAME_PLAYER 0 MAX_CLIENTS 12 NEW_TEAM_ALLOWED 1 SP_TEAMS_MAX 4 TEAMS_MAX 4 SP_TEAMS_MIN 4 TEAMS_MIN 4 SP_TEAM_MIN_PLAYERS 3 TEAM_MIN_PLAYERS 3 SP_TEAM_MAX_PLAYERS 3 TEAM_MAX_PLAYERS 3 SP_TEAM_BALANCE_WITH_AIS 1 TEAM_BALANCE_WITH_AIS 1 SP_TEAM_MAX_IMBALANCE 7 TEAM_MAX_IMBALANCE 7 SP_TEAM_BALANCE_ON_QUIT 0 SPAWN_WINGMEN_SIDE 7 SPAWN_WINGMEN_BACK 5 TEAM_CENTER_IS_BOSS 1 TEAM_NAME_1 "Kernel (Blue)" TEAM_RED_1 0 TEAM_GREEN_1 9 TEAM_BLUE_1 15 TEAM_NAME_2 "User Apps (Gold)" TEAM_RED_2 15 TEAM_GREEN_2 12 TEAM_BLUE_2 0 TEAM_NAME_3 "Kernel (Red)" TEAM_RED_3 15 TEAM_GREEN_3 0 TEAM_BLUE_3 0 TEAM_NAME_4 "User Apps (Green)" TEAM_RED_4 4 TEAM_GREEN_4 15 TEAM_BLUE_4 0