This wiki is archived and useful information is being migrated to the main website


From BZFlagWiki
Jump to: navigation, search


2.3 was released as 2.4.0, the documentation contained here was just a worksheet and does not represent the final list of features released.


BZFlag 2.3 was the development version released as 2.4.0. This is to get around the problem that BZFlag 2.99 development has stalled and does not look like it will continue. This is a last ditch effort to get development moving again.


2.4.0 was released on July 3, 2011 and will be maintained as per the Development_RoadMap


The goal is to release a new version of BZFlag that is incompatible with 2.0.x for a good reason, and has at least one new feature that will make many players want to upgrade.

The hope is that this process will renew developer motivation and attract new developers.


  • Move trunk to a v2_99_branch. Complete
  • Copy v2_0branch to trunk and change protocol number. Complete
  • Change the version docs to make compatibility be the minor version number. Complete
  • Solicit specific change proposals that can be completed within one month. Each proposal must be sponsored by an individual developer who will lead its implementation. Complete
  • When proposals are in and accepted by consensus, start the 1-month countdown clock.Complete
  • Implement accepted proposals and test.In progress
  • Document server upgrade process for the many server owners. In progress Thumper by 6/20/2011
  • If release is not stable by 6/17/2011 revert changes that made it unstable.
  • Public beta on 6/20/2011
  • Public RC on 6/27/2011
  • Release on 6/30/2011


These are the many ideas, both new and old, for changes to BZFlag.

Assignments and tracking[edit]

Task tracking is managed via a google spread sheet that can be found here.

Developers with assigned tasks can request edit access to the document on IRC.


Project must be completed by June 14th 2011 or they will be rolled back and excluded from the release.

Viable Projects[edit]

The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.


These 2.99 features are suitable for porting to 2.3. Not all items were implemented in 2.4, check 2.4.0 release document for final release list.

  • Connection header change (HTTP-style) JeffM
  • New GUI elements DTRemenak
  • Server-side scoring DTRemenak
  • Segmented simulation loop (to prevent wallwalking) JeffM
  • Server-side flag ID and pickup Pimpinella
  • New shot graphics (geolaser/geothief) JeffM Discuss on IRC
  • HUD markers JeffM
  • Removal of low graphics, promotion of experimental to high. JeffM
  • Server list from GSoC DTRemenak
  • BZFS API rework JeffM
  • Remove local authentication (the /identify command) JeffM
  • Windows project cleanup JeffM
  • New make system BulletCatcher
  • New source docs (authors etc...) Constitution
  • Server-side handicap Thumper
  • Guided Missile shot checks Pimpinella
  • Stealth fixes for rabbit mdskpr
  • Asynchronous screenshot compression so client won't freeze up during screenshots DTRemenak
  • BZFlag update notification DTRemenak
  • Wings velocity change (additive flap instead of instant upward velocity) blast007 (r14997, r15162, r15832)
  • Message protection (ensure network messages are valid) A_Meteorite
  • Add message types so that actions (/me) are properly implemented blast007 (r19833)
  • New artwork JeffM Effects Updates
  • Server option to disable teamkills JeffM
  • OpenFFA JeffM
  • Download URL change (to force just, not any .org or .bz) Constitution
  • Remove option to turn off fog JeffM
  • Require OpenGL 1.2 JeffM
  • Only allow a single end shot credit for holding the shield flag Thumper
  • Only players with POLL permission are eligible to take part in a vote Thumper
  • Add the /serverdebug command Thumper
  • bzfs: Report errors to stderr instead of stdout Thumper
  • bzfs: Add -utc switch to output log messages in UTC instead of localtime Thumper
  • bzfs: Fix timestamp buffer size so -ts micros output fits Thumper
  • Joystick input fixes/enhancements DTRemenak
  • Remove -geometry and make -window take a size JeffM
  • bzfs: Allow -time to have an ending time blast007

New Changes[edit]

  • Round Robin for services JeffM
  • Fix the protocol bug that version 2.0.16 was a band-aid for
  • Facilitate moving global services (e.g., to new hardware, if any changes will help JeffM Blast007 JoeVano
  • Import client customization settings from the 2.0 config.cfg file to the 2.4 version
  • Implement new version numbering system into code. (/src/date/buildDate.cxx and DEVINFO at least, there might be more places where it is needed)

To Evaluate[edit]

These items need further evaluation to see if they can be or should be backported from 2.99. These may exist as code or patches.


  • Map changes mdskpr
  • HTTP plugins JeffM
  • New API events JeffM
  • Custom flag system DTRemenak
  • BZFSCron Thumper
  • Server Side Players JeffM
  • Bug fixes not in notes Thumper
  • Hunter as proper team mdskpr (grabbed by DTRemenak)
  • bzfs -publickey trepan
  • push stats as default

New Changes[edit]

  • Countdown/reload timer position fix for when showCoordinates is enabled mdskpr
  • SVN props cleanup BulletCatcher
  • Display BZBB rank images in game. JeffM


These items should not be done or backported at this time due to stability issues or the large effort required. These are generally the blocking items preventing 3.0's current release.

  • New flags
  • Network buffering
  • Lag compensation (needs a lot more testing)
  • Acceleration changes
  • Font system (still has some bugs/glitches and possible performance issues)
  • New Translations (requires the new font system)
  • Map geometry changes (requires flag zap zone support or breaks existing servers)
  • Website changes.

Known Issues[edit]

Empty Flag Types[edit]

When you start BZFS with +f good{2} the server will generate 8 "empty" flag IDs in addition to all normal good flags (no flag type.) This can be seen by doing '/flag show'. You can also '/flag give' the empty flag types, although all it seems to do is say "user: grabbed flag " in chat and make the flag pick-up noise - it doesn't actually give you a flag.