Jul 29, 2020

We never intended to release a 0.2.9 version, instead the plan was to go directly to 0.4. But 0.4 got stalled, badly. And we had continued improving the source on the 0.2.8 branch little by little. Then Covid-19 came around, forcing a lot of people to stay at home, which gave us the motivation to release the game on Steam and itch.io. That’s basically why this version exists, so we did not have to publish a based version there.


Major changes since on the game client are better readability for the console output, text input and ingame menu, better initial configuration, keyboard layout reminders and an initial, slightly easier match against an AI.

Major addition on the server are external scripts; they get fed the ladderlog output and their output is parsed as console input. The ladderlog output has been expanded to make that feature more useful. Since these scripts are launched as external processes, they can be written in any language.

We will continue to publish security updates and adaptions to new compilers and Linux versions for the series. Linux distributions with a focus on feature stability should stick to that for the time being. We transition softly into a more continuous delivery model with this release, further 0.2.9.X will bring more changes.

Built from v0.2.9.0

Game Client Downloads

Windows: armagetronad-

Linux 64 Bit: ArmagetronAdvanced-

Linux 32 Bit: ArmagetronAdvanced-32bit-

Game Server Downloads

Windows: armagetronad-dedicated-

Linux 64 Bit: ArmagetronAdvancedDedicated-

Linux 32 Bit: ArmagetronAdvancedDedicated-32bit-

Source Downloads

Tarball: armagetronad-

ZIP for Windows Builds: armagetronad-source-

This is a proper Release and should be safe for everyone to use.

Patch Notes

Changes since

Fixed Bugs
  • Windows: DPI scaling behavior wrong (#33)
  • Debian builds: Documentation html files have empty last change (#9)
  • Socket and unclean exit trouble due to fork(), execve() and exit() interaction (#13)
  • Ubuntu PPA release candidate builds would overwrite previous stable releases (#15)
  • Language string identifier silence_player_text used twice (#22)
  • Bad video mode error recovery (#23)
  • AppRun script does not work if call path contains spaces (#24)
  • Included forum links outdated (#25)
  • Client segfaults on OpenBSD (#26)
  • Client compiled with clang 10.0 (optimized) sefgaults on logout (#28)
  • Valgrind reports uses of unitialized, freed or invalid memory (#29)
New Features
  • Update German translation (#2)
  • Adapt ChangeLog and fingerprint generation to git (#11)
  • Integrated build system (#14)
  • Make playback time display optional (#16)
  • Deploy to itch.io (#19)
  • Credit contributors in patch notes (#21)
  • Added detection and reaction code for timing assist bots
  • /shuffle now works before you actually join a team
  • Implemented /shout command and associated settings
  • Fixed suspension and silenced status not being re-applied after a player disconnects and rejoins a server.
  • Tweaks to enemy influence system.
  • Ingame menu and console now are drawn on top of a semi-transparent, darkened area for increased readability.
  • New first start menu with clearer language selection and initial setup.
  • Tutorial match against one AI at slower speed.
  • Tutorial tooltips for the most important keybindings.
  • ADD_MASTER_SERVER command to announce a server to a new master server. Simplifies the process to list your server on a subculture.
  • Team launch positions logged to ladderlog with POSITIONS event. Disabled by default.
  • New command-line option “–input” added to poll for input from a file instead of stdin.
  • Added WHITELIST_ENEMIES_[IP/USERNAME] to allow players to be enemies, even if they come from the same IP address and ALLOW_ENEMIES_SAME_IP is disabled (which is its default setting).
  • GAME_END, NEW_MATCH, and NEW_ROUND ladderlog events include date and time.
  • Added ENCODING ladderlog event, which specifies the encoding for data in ladderlog.txt.
  • ”–input” now can be used more than once to read from multiple files or pipes.
  • new team management ladderlog messages:

     TEAM_CREATED <team name>
     TEAM_DESTROYED <team name>
     TEAM_RENAMED <old team name> <new team name>
     TEAM_PLAYER_ADDED <team name> <player>
     TEAM_PLAYER_REMOVED <team name> <player>
  • Manage external scripts on Unix dedicated servers. New commands: SPAWN_SCRIPT, RESPAWN_SCRIPT, FORCE_RESPAWN_SCRIPT, KILL_SCRIPT, LIST_SCRIPTS, SCRIPT_ENV.
  • New setting ACCESS_LEVEL_ANNOUNCE_LOGIN that determines if a player’s login/logout message can be announced.
  • Authentication is now enabled by default.
Other Changes
  • Make custom camera the default for new players (#35)

Daniel Harple, Hugh McMaster, Luke-Jr, Manuel Moos, Uzix, fman23, zolk3ri