Armagetron Advanced 0.2.8.3

Milestone information

Project:
Armagetron Advanced
Series:
0.2.8
Version:
0.2.8.3
Released:
 
Registrant:
Manuel Moos
Release registered:
Active:
Yes. Drivers can target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
1 Armagetron Advanced SQUAT, 1 Guru3, 1 Luke-Jr, 38 Manuel Moos, 1 Rafał Cieślak, 10 Yann Kaiser, 3 dlh
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
1 Incomplete, 1 Invalid, 2 Won't Fix, 1 Confirmed, 1 Triaged, 46 Fix Committed, 7 Fix Released

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon armagetronad-dedicated-0.2.8.3.macosx-universal.dmg (md5, sig) Mac Server 69
last downloaded 18 weeks ago
download icon armagetronad-dedicated-0.2.8.3.i486-generic-linux-gnu.package (md5, sig) Linux Server 36
last downloaded 18 weeks ago
download icon armagetronad-dedicated-0.2.8.3.gcc.win32.exe (md5, sig) Windows Server 83
last downloaded 41 weeks ago
download icon armagetronad-0.2.8.3.macosx-universal.dmg (md5, sig) Mac Client 210
last downloaded 41 weeks ago
download icon armagetronad-0.2.8.3.src.tar.bz2 (md5, sig) Source Tarball 56
last downloaded 41 weeks ago
download icon armagetronad-0.2.8.3.i486-generic-linux-gnu.package (md5, sig) Linux Client 75
last downloaded 18 weeks ago
download icon armagetronad-0.2.8.3.gcc.win32.exe (md5, sig) Windows Client 335
last downloaded 41 weeks ago
Total downloads: 864

Release notes 

Lots of small improvements went into this release. There are new cycle
physics settings, chat can be moderated, new anti-lag code and the
lag-o-meter now looks correct. We've got player authentication, a friends
list and server subcommunities. Players joining a server now get a nice
fullscreen message, making server specific policies more visible.

Changelog 

View the full changelog

Changes since 0.2.8.3_beta3:
- Chat prefix spam protection. Guards against prefix spam, such as when a
  user always changes their chat message color, or prefixes all messages
  with a clan tag. Toggle with the PREFIX_SPAM_ENABLE setting.
- Fixed VOTING_MATURITY to use the time when the player entered as its
  reference time.
- Fixed single player highscore list not containing everyone.
- Fixed generation of duplicate names in highscore lists.
- Fixed camera crash when the grid is empty.

Changes since 0.2.8.3_beta2:
- Fixed 'invincibility' bug. It really was cycles freezing in time.
- Fixed sporadic sound related crash at round end.
- setting rename: SILENCE_ALL -> SILENCE_DEFAULT.
- Sound no longer gets muted after you switch the sound settings.
- Fixed object collision detection that would sometimes pick a wrong
  wall to collide with, most likely the reason behind wrongly accredited
  kills.
- Fixed inability to switch viewport assignment in four player mode.
- Better handling of lag clusterbombs.
- Server disconnects now also take immediate effect even when you're
  in a menu or chatting.

Changes since 0.2.8.3_beta1:
- Made ready for Armatrators
- Authentication routines now use utf8 as forward- compatibility with
  trunk. Previously, non-ASCII usernames simply didn't work at all.
- Better lag slide protection: clients no longer get confused when
  the server sends their cycle back in time, and the server no longer
  does that for old clients.
- Fixed rare wallpassing bug; it required what whould usually be an
  instakill and infinte wall length.

Changes since 0.2.8.2:

  New settings and commands:
- MIN_PLAY_TIME_*: minimal play time required before you are allowed to
  play on this server.
- SPAM_AUTOKICK_COUNT: minimal number of spam warning messages you get in a
  row before you get kicked.
- FORTRESS_COLLAPSE_SPEED: tune the collapse speed of fortress zones.
- VOTE_KICK_REASON: default reason given on kick votes.
- "/vote" chat interface to votes; "/vote kick <player>" issues a kick vote.
- new vote type "/vote suspend <player>" suspends a player for
  VOTING_SUSPEND_ROUNDS rounds.
- new vote type "/vote include <file>", includes configuration file
  vote/<file>.
- new vote type "/vote command <command>" executes console command
  <command>. (Both that and /vote include are by default only available
  to moderators).
- VOTING_HARM_TIME: time between all harmful votes against a player
- VOTING_KICK_MINHARM: auto-transform the first few menu issued kick
  votes to suspensions
- (UN)SUSPEND kicks a player to spectator mode with a timeout. Intended to
  let new players watch before they play.
- VOTES_CANCEL cancels all running polls.
- VOTING_SUSPEND [<minutes>] disallows voting during a specified amount of time.
- ZONE_ALPHA_TOGGLE to override the systemwide alpha blendings setting and
  have zones rendered in wireframe mode even when alpha blending is on.
- ZONE_ALPHA(_SERVER) to control intensity of zone rendering.
- SCORE_HOLE for awarding sacrifice.
- SCORE_SURVIVE for player survival and FORTRESS_HELD_SCORE for not losing
  each fortress zone.
- KICK_TO and MOVE_TO: redirect a client to a different server
- DEFAULT_KICK(_TO)_MESSAGE: default reason given to players for a kick
- DEFAULT_KICK_TO_SERVER/PORT: default redirection target for KICK/MOVE_TO.
- RENAME renames a player.
- If all clients support it, PING_CHARITY_MIN/MAX can be used to constrain ping charity.
- VOTE_KICK_TO_SERVER/PORT: redirection target for vote kicks.
- SILENCE and VOICE allow to control chat of annoying players.
- SILENCE_ALL can be used on the server to inhibit all cross-team communication unless specifically voiced.
- ENABLE_CHAT can be set to 0 to disable all chat. If it is set on the server it only disables public chat and logged in players can still speak.
- LAG_*: controls game level lag compensation.
- FILTER_NAME_MIDDLE: collapses multiple whitespaces to one in player names.
- FORTRESS_CONQEST_TIMEOUT: if an enemy contact with a zone happens longer ago than
  this value, it is discarded from zone memory.
- TOPOLOGY_POLICE_PARALLEL, extra topology police flag to control the checks
  for walls getting copied into the grid in exactly the same place.
- CAMERA_GLANCE_*: separate settings for the glancing camera, work like CAMERA_CUSTOM_*.
  Likewise, CAMERA_SERVER_GLANCE_* can replace CAMERA_SERVER_CUSTOM_* when glancing.
  CAMERA_*CUSTOM_GLANCE* are server side settings that can control whether server or
  clientside settings are used in various situations, see settings.cfg for details.
- CYCLE_BOOST_? and CYCLE_BOOSTFACTOR_? for boosts when breaking away from walls,
  see settings.cfg or config.html for details
- CYCLE_ACCEL_TUNNEL, works like CYCLE_ACCEL_SLINGSHOT, but is active when
  none of the two walls you're in between is your own.
- CYCLE_WIDTH for making it impossible to squeeze through tight tunnels,
  see settings.cfg for details
- VOTING_MATURITY controls how long you have to wait after login before
  you can issue kick votes.
- CYCLE_DELAY_DOUBLEBIND_BONUS is an extra factor applied to CYCLE_DELAY
  for turns in the same direction. Can be used to limit the advantage
  doublebinders get while not punishing players who press both left and
  right at the same time.
- LAG_O_METER_(TRESHOLD|BLEND|USE_OLD): Configure the minimal size of the
  Lag-O-Meter, its color and whether to scrap it all and stick with the old
  one.
- ALLOW_TEAM_CHANGE: if set to 0 players won't be able to join a team, create
  a new team or change to another team.
- ALLOW_TEAM_CHANGE_PLAYER/DISALLOW_TEAM_CHANGE_PLAYER: allow/disallow specific
  players to switch teams
- INTERCEPT_COMMANDS is a space-delimited list of chat commands that shall be
  intercepted by an external script. Example value: /login /admin /teamleave
  /teamshuffle /shuffle /team
- INTERCEPT_UNKNOWN_COMMANDS is a boolean specifying if an external script
  wishes to handle unrecognized chat commands. This would allow hooking
  arbitrary things like /foobarz or /mode ctf
- CONSOLE_LADDER_LOG boolean places the ladderlog on stdout prefixed with
  "[L] "
- PLAYER_MESSAGE <user ID or name> <Message>: Like /msg, but from the
  console
- All ladderlog outputs can be enabled or disabled separately by using
  LADDERLOG_WRITE_*. LADDERLOG_WRITE_ALL enables or disables all ladderlog
  output alltogether.
- CHAT_LOG controls whether to write a machine-readable chatlog to
  var/chatlog.txt
- CONSOLE_DECORATE_TIMESTAMP write a timestamp for every console message?
- LADDERLOG_DECORATE_TIMESTAMP prefix every ladderlog message with a timestamp?
- SLAP <player> [points] sends a message to everyone and subtracts a number
  of points (default: 1) from <player>'s score. Negative points are
  supported.
- AUTO_TEAM_SPEC_SPAM to disable the spectator join/leave messages you get
  when AUTO_TEAM is enabled

If --enable-armathentication was activated:
- /lock, /unlock, /invite and /uninvite team management chat for players of
  access level ACCESS_LEVEL_TEAM or better.
- /teams chat command that rougly prints team layout.
- ACCESS_LEVEL_IPS to let admins see IPs of players in the list.
- ACCESS_LEVEL_SPY_MSG/TEAM to let admins spy on team/private messages.
- CASACL to temporarily raise the access level
- ACCESS_LEVEL to modify the required access level to change settings
- AUTHORITY_WHITELIST and AUTHORITY_BLACKLIST to filter authorities you want on your server.
- GLOBAL_ID_ENABLED to toggle remote accounts
- LOCAL_USER, LOCAL_TEAM for local login accounts
- MD5_PREFIX/MD5_SUFFIX for additional password scrambling
- USER_LEVEL to grant users various access levels
- RESERVE_SCREEN_NAME to reserve a screen name to a certain player
- USER_ALIAS to bend authentication names around
- (UN)BAN_USER to ban really stupid users based on their global user ID,
  BAN_USER_LIST to show a list.
- ACCESS_LEVEL_OP/ADMIN/CHAT/PLAY/PLAY_SLIDING to control who can do which things
- /login chat command then uses the more secure hashed base logins
- new chat commands /op and /deop to change other players' access rights

  Featurelets:
- Added Polish language file
- clientside play time tracking and server controlled minimal required experience
  to be allowed to play.
- color codes in chat increase the spam level logarithmically.
- /team messages get a reduced spam level; reduction factor is given by
  (team size)/(number of total players).
- /team messages can be used by spectators to chat with other spectators only.
- Performance optimizations. Using OpenGL display lists to cache geometry.
- Removed ztrick, antialiasing and perspective correction settings. They all had only one right
  setting and caused us some interesting bug reports.
- Added PLAYER_RANDOM_COLOR for lazy people who just want to have a
  color that differs from everyone else on the server.
- Configuration files get reloaded on SIGHUP
- all admin commands now also accept partial name matches, like /msg, and check for case sensitive
  matches in the screen name first, then the user name, then case insensitive matches in the two.
- --enable-krawallserver has been actually implemented now, and it enables secure logins
  to accounts local to the server and not-so-secure logins managed by authentication servers.
- A subculture list for server groups that are not managed by our main master servers
- A friends list and filter for the server browser that shows you only servers with
  your friends on them.
- The client now can handle network traffic while it is waiting for the graphics
  card to swap buffers.
- The dedicated server no longer uses a fixed delay, but a select() call (that
  returns when network data arrives) to idle. When data arrives, it does
  the minimum amount of work before it sends out the responses, resulting in
  lower latency. It is now safe to decrease DEDICATED_FPS to 20 or 10, latency
  is no longer influenced by that setting.
- Game level lag compensation. When a command arrives from a client that is delayed,
  it is backdated to the time it was issued, provided enough "lag credit" is left.
  The client is informed of the delay so it can compensate in the future, which it does
  by forging the game timer.
- Nonnormalized axes and axes with odd turning directions are now properly supported
- The camera has a memory which player you like to watch. Every time you manually switch
  the camera and your favorite player is not dead, the favorite is set to the currently
  watched player. The next time the camera doesn't know what to watch, your favorite
  will be selected.
- Players leaving to spectator mode with <0.2.8.2 clients are handled like
  spectators of 0.2.8.2 clients: they stay visible to the others.
- Kick statistics are now persistent across server runs.
- MESSAGE_OF_DAY is now displayed fullscreen if both server and client support it
- Manual fullscreen messages can be triggered with
  FULLSCREEN_MESSAGE <timeout> <message content>
- Axes Indicators by meriton, can be enabled using the AXES_INDICATORS
  setting.
- New "About" menu item in the main menu displays the version of
  Armagetron Advanced, the paths it uses, links to the main site, wiki
  and forums and the names of the project admins.
- New entries in ladderlog.txt:
  - GAME_TIME <time> (only if enabled via the LADDERLOG_GAME_TIME_INTERVAL
    setting): The time that has passed since the last start of a round
  - BASEZONE_CONQUERED <team> <x> <y>: A fortress zone belonging to <team>
    at the coordinates (<x>, <y>) has been conquered
  - BASEZONE_CONQUERER <player>: at the time of the last BASEZONE_CONQUERED
    message, <player> has been in the conquered zone
  - ONLINE_PLAYER <player> [<ping [<team>]]: At the beginning of the round,
    <player> had <ping> and was on <team>. This line is not printed for bots
  - NUM_HUMANS <n>: There are <n> players that are not AIs and are part of a
    team.
  - ROUND_SCORE has the player's team name appended.
  - ROUND_SCORE_TEAM: score a team accumulated during the last round.
  - WAIT_FOR_EXTENAL_SCRIPT: printed if the setting of the same name is
    enabled. In this case the server will delay the start of the next round
    until WAIT_FOR_EXTENAL_SCRIPT_TIMEOUT is reached or the setting is
    disabled.
- Wrapped console lines are indented by an amount of spaces that can be
  specified using the setting CONSOLE_INDENT.
- /help command that supports multiple help topics. Use
  HELP_INTRODUCTORY_BLURB and ADD_HELP_TOPIC to control its contents
- /rtfm command that allows moderators to send help messages to newbies
- /players now shows the players' color and allows searching
- TEAM_ELIMINATION_MODE sets the way ArmagetronAd removes teams when there's too much teams.

  Bugfixes:
- Added compensation for drifting timers (observed often with
  overclocked mainboards)
- Text input fields now let the text wrap correctly and make use of the space allocated
  for them in a not-completely-dumb way. And *sigh* depending on the text field, color
  codes are either ignored (for the usernames) or both displayed in text and rendered.
- "KICK 2pack" no longer kicks user 2 instead of player 2pack.
- Fixed various trail end related extrapolation/simulation inaccuracies that looked
  like lag.
- When extrapolating, the game's sensors never detected own or teammates' walls,
  it mistook them for enemy walls.
- The acceleration and boost system always used settings for enemy walls instead of
  settings for team players' walls. That means that old clients connecting to a
  0.2.8.3+ server that has CYCLE_ACCEL_ENEMY and CYCLE_ACCEL_TEAM set to different
  values experience syncing problems. The default behavior therefore is to lock 0.2.8.2
  and earlier out of your server if you set one of them away from the default.
  If you want to set both accelerations away from the default, but to the same value,
  there won't be a compatibility problem; in that case, set CYCLE_ACCEL_ENEMY_OVERRIDE
  and CYCLE_ACCEL_TEAM_OVERRIDE to 0 and old clients will be allowed in. However, you
  should manually lock out players with 0.2.7 clients, for example by modifying
  CYCLE_ACCEL_RIM a tiny bit.
- "Team Red" bug. If the server allows maximally two teams, no team ever
  gets to be Team Red.
- Phasing made even more difficult; nice side effect of the fix is
  reduced network bandwidth usage.
- Speed gauge resets between rounds.
- More accurate Lag-O-Meter by meriton.
- Zones were sometimes invisible.

  Internals:
- A complete netsync cycle is now sn_Receive(); nNetObject::SyncAll(); sn_SendPlanned();.
- Ping charity is now completely server controlled.

0 blueprints and 59 bugs targeted

Bug report Importance Assignee Status
427506 #427506 Random client crash as spec on 0.2.8.3rc2 1 Undecided   1 Incomplete
306245 #306245 Text output errors 5 Low Manuel Moos  3 Invalid
333666 #333666 Unofficial client builds refuse to play on trunk servers 4 Medium   4 Won't Fix
337193 #337193 Locked teams with only AIs 5 Low Manuel Moos  4 Won't Fix
312248 #312248 Deutsch language outdated for 0.2.8.3 1 Undecided Manuel Moos  6 Confirmed
251447 #251447 Ladder Duplicates with Authentication 5 Low Guru3  7 Triaged
191371 #191371 Sporadic display list crashes 2 Critical Manuel Moos  9 Fix Committed
191499 #191499 Walls surviving over to the next round 2 Critical Manuel Moos  9 Fix Committed
307790 #307790 configure: error: conditional "AMDEP" was never defined. 2 Critical Manuel Moos  9 Fix Committed
192760 #192760 When player leaves in the middle of a round, their wall continues to stay 3 High Manuel Moos  9 Fix Committed
192760 #192760 When player leaves in the middle of a round, their wall continues to stay 3 High Manuel Moos  9 Fix Committed
198324 #198324 Holes are too big if blown into current wall 3 High Manuel Moos  9 Fix Committed
198324 #198324 Holes are too big if blown into current wall 3 High Manuel Moos  9 Fix Committed
245925 #245925 Both types of display list crash client during play. 3 High Manuel Moos  9 Fix Committed
253720 #253720 Camera locks to one position (Incam) 3 High Manuel Moos  9 Fix Committed
308866 #308866 Truncated and garbled text 3 High Manuel Moos  9 Fix Committed
322066 #322066 Cycles turning invulnerable 3 High Armagetron Advanced SQUAT  9 Fix Committed
335019 #335019 Two phasing events in one round 3 High Manuel Moos  9 Fix Committed
349208 #349208 Local game with no players crash 3 High   9 Fix Committed
191714 #191714 Texture mode changes have undesired effects 4 Medium Manuel Moos  9 Fix Committed
191714 #191714 Texture mode changes have undesired effects 4 Medium Manuel Moos  9 Fix Committed
217363 #217363 server address mismatches while authing when both IPs/port were same 4 Medium Manuel Moos  9 Fix Committed
217363 #217363 server address mismatches while authing when both IPs/port were same 4 Medium Manuel Moos  9 Fix Committed
220195 #220195 port mismatch while authing, client sending a wrong port 4 Medium Yann Kaiser  9 Fix Committed
220195 #220195 port mismatch while authing, client sending a wrong port 4 Medium Yann Kaiser  9 Fix Committed
272398 #272398 pthreads not working/not used 4 Medium Luke-Jr  9 Fix Committed
285637 #285637 Backward compatible LEGACY_LOG_NAMES default 4 Medium Yann Kaiser  9 Fix Committed
306969 #306969 compiling fails with gcc-4.1.2 and CODELEVEL>=1 due to -W-no-strict-overflow 4 Medium Manuel Moos  9 Fix Committed
308866 #308866 Truncated and garbled text 4 Medium Manuel Moos  9 Fix Committed
312248 #312248 Deutsch language outdated for 0.2.8.3 4 Medium Manuel Moos  9 Fix Committed
321694 #321694 huge lag indicators with low pings 4 Medium Manuel Moos  9 Fix Committed
321694 #321694 huge lag indicators with low pings 4 Medium Manuel Moos  9 Fix Committed
325407 #325407 Invited spectators don't see their own team messages 4 Medium Yann Kaiser  9 Fix Committed
325411 #325411 /deop is requiring a second argument, because "the user is already logged in" 4 Medium Yann Kaiser  9 Fix Committed
329812 #329812 MOVE_TO doesn't work when specifying port 4 Medium Yann Kaiser  9 Fix Committed
336397 #336397 trunk segfaults when timing out from a server 4 Medium Manuel Moos  9 Fix Committed
350469 #350469 VOTING_MATURITY doesn't work as expected 4 Medium dlh  9 Fix Committed
394108 #394108 Players can rename mid-round 4 Medium Manuel Moos  9 Fix Committed
394108 #394108 Players can rename mid-round 4 Medium   9 Fix Committed
192223 #192223 Entering server management commands at the client console produces fatal error 5 Low Manuel Moos  9 Fix Committed
192223 #192223 Entering server management commands at the client console produces fatal error 5 Low Manuel Moos  9 Fix Committed
241593 #241593 bot quits when spectator enters 5 Low Manuel Moos  9 Fix Committed
251447 #251447 Ladder Duplicates with Authentication 5 Low Manuel Moos  9 Fix Committed
254525 #254525 Uninstall does not uninstall everything it should 5 Low Manuel Moos  9 Fix Committed
261469 #261469 new player gets assigned to team red when switching from SP to multiplayer mode 5 Low Manuel Moos  9 Fix Committed
263054 #263054 spectators dont get a message saying they can't vote 5 Low Yann Kaiser  9 Fix Committed
301702 #301702 kick status does not get reset 5 Low Manuel Moos  9 Fix Committed
308618 #308618 wrong field in Custom Connect menu 5 Low dlh  9 Fix Committed
326670 #326670 Lots of missing help entries 5 Low Manuel Moos  9 Fix Committed
329874 #329874 Recycling of object IDs 6 Wishlist Manuel Moos  9 Fix Committed
190574 #190574 Game objects not cleared 1 Undecided Manuel Moos  9 Fix Committed
191999 #191999 Exit crash on OSX in ZThread 1 Undecided dlh  9 Fix Committed
191499 #191499 Walls surviving over to the next round 2 Critical Manuel Moos  10 Fix Released
289112 #289112 Local logins freeze the server. 2 Critical Yann Kaiser  10 Fix Released
307753 #307753 map settings are always run with access level Owner 2 Critical Manuel Moos  10 Fix Released
287683 #287683 chatbot not enabled while logging in 3 High Yann Kaiser  10 Fix Released
341491 #341491 armagetronad.real crashed with SIGSEGV - Reset screen resolution 3 High Manuel Moos  10 Fix Released
303239 #303239 @ in usernames break AUTHORITY_LEVEL 4 Medium Yann Kaiser  10 Fix Released
312240 #312240 Polish language outdated for 0.2.8.3 1 Undecided Rafał Cieślak  10 Fix Released
This milestone contains Public information
Everyone can see this information.