From BZFlagWiki
Revision as of 16:26, 12 May 2011 by Bullet Catcher (Talk | contribs) (redistribute general idea section, add release candidate)

Jump to: navigation, search


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


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.


  • 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.
  • When proposals are in and accepted by consensus, start the 1-month countdown clock.
  • Move trunk to a V3_FAIL tag.
  • Copy v2_0branch to trunk and change protocol number.
  • Implement accepted proposals and test.
  • Change the version docs to make compatibility be the minor version number.
  • Document server upgrade process for the many server owners.
  • After 1 month, revert any changes that have caused unfixed regressions.
  • Do a release candidate before final release?
  • Make trunk into for release.
  • Tag Trunk to 2_4branch and release.


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

Viable Projects

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.

  • Connection header change (HTTP-style)
  • New GUI elements
  • Server-side scoring
  • Segmented simulation loop (to prevent wallwalking)
  • Server-side flag ID and pickup
  • New shot graphics (geolaser/geothief)
  • HUD markers
  • Removal of low graphics, promotion of experimental to high.
  • Server list from GSoC
  • BZFS API rework
  • Remove local authentication (the /identify command)
  • Windows project cleanup
  • New make system
  • New source docs (authors etc...)
  • Server-side handicap
  • Guided Missile shot checks
  • Stealth fixes for rabbit
  • Asynchronous screenshot compression so client won't freeze up during screenshots
  • BZFlag update notification
  • Wings velocity change (additive flap instead of instant upward velocity)
  • Message protection (ensure network messages are valid)
  • Add message types so that actions (/me) are properly implemented
  • New artwork
  • Server option to disable teamkills
  • OpenFFA
  • Download URL change (to force just, not any .org or .bz)
  • Remove option to turn off fog
  • Require OpenGL 1.2
  • Only allow a single end shot credit for holding the shield flag
  • Only players with POLL permission are eligible to take part in a vote
  • Remove the /identify command
  • Add the /serverdebug command

New Changes

  • Round Robin for services
  • 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

To Evaluate

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
  • HTTP plugins
  • New API events
  • BZFSCron
  • Server Side Players
  • Bug fixes not in notes
  • New flags
  • Rabbit as proper team

New Changes

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


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.

  • Network buffering
  • Lua
  • 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)