Skip to Content

BZFlag 2.4.4

Release Date
Release Name
"Be My Valentank"

Change Summary

This release encompasses several years of effort and a variety of fixes and improvements. Some of the more notable changes are as follows:

  • Several new server plug-ins
  • Numerous new API features
  • Several new server permissions for more finely-tuned server administration
  • Several improvements to the match countdown process
  • A new Xcode project file for Mac OS X, replacing the previous system which had many problems
  • Automatic reset of the game at the start of a match (score reset and players spawn on the base)
  • Tracking of self-kills on the scoreboard
  • SDL 2 support, which corrects an issue where the game would fail to launch on several newer versions of Mac OS X
  • The radar and console can now be resized individually
  • CIDR ban support on the server for more targeted ban ranges
  • A new font import tool and higher-resolution fonts included for a smoother appearance
  • Serif font replaced by sans-serif font for a more consistent appearance
  • Automatic team assignment improvements so that the weaker teams get the new players more often
  • Vertical sync option in display settings on Mac OS X and Linux
  • List server transactions are now sent using SSL/TLS by default
  • Simpler method for including third-party server plugins in build system
  • Several security improvements to harden server against remote exploit attempts
  • Server list sorting now ignores the observer count and includes a random factor for more fair server exposure
  • Improved support for custom colors for color vision deficient players
  • Improved server list filtering including custom filter editing and help information

Change Log

  • Correctly exit the game when closing from the Windows 10 taskbar - Scott Wichser
  • Update the player status when a gameover event occurs - Scott Wichser
  • Fix fullscreen window toggling on Mac OS X - Joshua Bodine
  • Fix crash on exit with Windows bzfs - Scott Wichser
  • Fix crash on exit with Mac OS X bzfs - Joshua Bodine
  • Fix buffer overrun that caused a crash on exit and other strange behavior on Windows and Linux - Scott Wichser
  • On Windows, reload textures after initializing the context - Scott Wichser
  • Add a menu to edit server list quick filters - Scott Wichser
  • Tell Windows that we are DPI aware - Scott Wichser
  • Time functions in the bzfs API use doubles instead of int - Vladimir Jimenez
  • Fix issue on Windows that allowed mouse to get stuck off-screen when switching to windowed mode - Scott Wichser
  • Replace NaN with zero in nboUnpackFloat() - Jeff Makey
  • Add a bz_ChatEventData_V2 that contains message type - Konstantinos Kanavouras
  • Show recipient/sender for private action messages in BZAadmin- Konstantinos Kanavouras
  • Server list filter: remove "cached" boolean filter, rename "flags" to "ffa", "teams" to "ctf", and add "offa" - Scott Wichser
  • Add server list filter help pages - Scott Wichser
  • Add config option to control shot brightness - Konstantinos Kanavouras
  • Don't show a running countdown to a player who joins a paused game - Konstantinos Kanavouras
  • Allow RGB values in ANSI color codes to allow custom colors - Konstantinos Kanavouras
  • Vastly improved support for changing tank and radar colors - Konstantinos Kanavouras
  • Fix rendering of TK warning symbol - Joshua Bodine
  • Remove third-party libraries from our source tree - Scott Wichser
  • Fix search field losing focus while loading server list - Joshua Bodine
  • Do not count observers when sorting the server list - Scott Wichser
  • Randomize the order of servers with identical player counts - Scott Wichser
  • Mouse grab/confine fixes - Joshua Bodine, Scott Wichser
  • Improvements to flagStay and rabidRabbit plugin - Vladimir Jimenez
  • Joystick hat fixes - Konstantinos Kanavouras
  • Update shot stats live - Konstantinos Kanavouras
  • Track shot stats for all flag types, even custom flags - Konstantinos Kanavouras
  • Filter messages before MsgEnter - Jeff Myers
  • Require a player have spawned to be added to rejoin wait list - Jeff Makey
  • Validate the player ID in MsgPlayerUpdate and MsgPlayerUpdateShort - Scott Wichser
  • Fix usage of privateMessage permission - Konstantinos Kanavouras
  • Properly prevent multiple MsgEnter messages - Jeff Myers
  • Refactor and extend the shot API - Jeff Myers
  • Autokick on unknown packet type - Vladimir Jimenez
  • Block whitespace-only message and kick for garbage characters - Scott Wichser
  • Validate teleporter index in client and server - Scott Wichser
  • Limit half-joined player connection duration - Scott Wichser
  • Add various checks for invalid player actions - Jeff Makey
  • Show coordinates of target tank instead of observer camera location - Jeff Makey
  • Allow shot API event to cancel broadcasting shot to other clients - Jeff Myers
  • Store a list of how many times each player was killed by other players and expose it to the API - Jeff Myers
  • Allow plugins delay adding players to allow for remote data lookups - Jeff Myers
  • Add API event triggered when authentication is complete - Jeff Myers
  • Added bz_GetPlayerMottoData_V2 - Jeff Myers
  • Relicense the SAMPLE_PLUGIN to BSD 2 clause license - Jeff Myers, Tim Riker
  • Update joystick axis list when changing joystick device - Konstantinos Kanavouras
  • List server communication now uses HTTPS - Scott Wichser
  • Added bz_setPlayerSpawnAtBase and bz_getPlayerSpawnAtBase API functions - Vladimir Jimenez
  • Added configure --enable-custom-plugins and --enable-custom-plugins-file options - Jeff Makey
  • Introduce bz_AllowSpawnData_V2 - Vladimir Jimenez
  • Added bz_setPlayerSpawnable and bz_isPlayerSpawnable API functions - Vladimir Jimenez
  • Removed GLEW as a dependency - Joshua Bodine, Scott Wichser
  • Made text at top of HUD use sans-serif font and removed serif font - Joshua Bodine
  • Player scores are now factors in auto team assignment - Joshua Bodine
  • New font rendering tool and new font textures up to 64pt - Joshua Bodine
  • Added bz_getPlayerBySlotOrCallsign API function - Vladimir Jimenez
  • Have custom permissions show in /showperms and /groupperms - Vladimir Jimenez
  • Start adding unit tests with CppUTest - Scott Wichser
  • CIDR ban support - Scott Wichser
  • Radar size and panel size are now set individually - Joshua Bodine
  • Added bz_incrementTeamLosses and bz_incrementTeamWins API functions - Vladimir Jimenez
  • Vertical sync support under SDL - Joshua Bodine, Jeff Makey
  • SDL 2 support - Alfredo Tupone, Joshua Bodine
  • Do not flash GAME OVER for observers - Jeff Makey
  • Validate the teleporter indexes in MsgTeleport - Scott Wichser
  • Correctly validate an offered admin password - Jeff Makey
  • Added "showAdmin" permission - Vladimir Jimenez
  • Added countdown pause/resume API events - Vladimir Jimenez
  • Added bz_getCountdownRemaining API function - Vladimir Jimenez
  • Added bz_getPausedTime API function - Vladimir Jimenez
  • Added bz_isCountDownPaused API function - Vladimir Jimenez
  • Added bz_getIdleTime API function - Vladimir Jimenez
  • Added bz_getPlayerFlagID API function - Vladimir Jimenez
  • Added bz_isAutoTeamEnabled API function - Vladimir Jimenez
  • Added bz_cancelCountdown API function - Vladimir Jimenez
  • Added bz_pollActive API function - Vladimir Jimenez
  • Added bz_CustomZoneObject API class - Vladimir Jimenez
  • Added CustomZoneSample plugin - Vladimir Jimenez
  • Added permission for /listplugins - Vladimir Jimenez
  • Allow API to overload built-in slash commands - Vladimir Jimenez
  • Added "report" permission - Vladimir Jimenez
  • Added bz_eGameResumeEvent and bz_eGamePauseEvent to the API - Vladimir Jimenez
  • Don't allow muted players with ADMINMESSAGESEND to send PMs to hidden admins - Konstantinos Kanavouras, Vladimir Jimenez
  • Add [Reverse Score] scoreboard sort option - Konstantinos Kanavouras
  • Track number of self-kills on the scoreboard - Konstantinos Kanavouras
  • Added menu option to pause chat window scrolling - Konstantinos Kanavouras
  • Added "noteam" option for "/flag reset" command - Konstantinos Kanavouras
  • Added option to bz_resetFlags to skip team flags - Konstantinos Kanavouras
  • Implemented "/poll kill" command - Konstantinos Kanavouras
  • Added "/countdown cancel" command - Konstantinos Kanavouras
  • Added serverSidePlayerSample plugin - Jeff Myers
  • Fix fancy radar tank when zoomed - Kyle Mills
  • Added /handicap command - Frank Thilo
  • Reverted to traditional handicap calculation - Frank Thilo
  • Add bzfscron plugin to execute commands on time intervals - Daniel Remenak, Scott Wichser
  • Server-side players can send slash commands - Scott Wichser
  • Added server side shot tracking - Jeff Myers
  • Added clientQuery permission - Konstantinos Kanavouras
  • Added superUser plugin - Jeff Myers
  • Added bz_getPlayerCount API function - Jeff Myers
  • Added bz_incrementPlayerWins API function - Jeff Myers
  • Added bz_incrementPlayerLosses API function - Jeff Myers
  • Added bz_incrementPlayerTKs API function - Jeff Myers
  • Make players respawn on bases after countdown ends - Lee Marshall
  • Countdown now resets player scores as well as team scores - Lee Marshall
  • Fully integrated Xcode project file - Joshua Bodine

Downloads

Windows

macOS

Source