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

BZFS 2.4 Upgrade

From BZFlagWiki
Jump to: navigation, search

Stub for BZFS 2.0.x to 2.4 server upgrade path


For version 2.4 there are new requirements for your server to be listed on the BZFlag hosted server list.

This page documents user visible changes to the BZFlag server for the 2.4 release of BZFlag.

Short Version for the impatient[edit]

  • -public changed to -publictitle
  • -publickey specifies your server key for including your server on the server list
  • -utc logs server timestamps in UTC instead of localtime
  • -passdb removed
  • -requireudp removed
  • -offa selects teamless free-for-all game style
  • -time can specify end time for timed games
  • -noTeamKills can remove teamkilling possibilities from the map
  • Groups can now be referenced in the groupdb before they are defined

Getting your server listed on the server list[edit]

Generating and managing server keys[edit]

You need to generate a public server key for your BZFlag server which matches your server host. If you have multiple server hosts you need a separate key per host. You can generate and manage your server keys at

Starting your BZFlag server using your server key[edit]

After generating a server key you need to provide the key to your bzfs server so it can authenticate with the list server. Only servers with valid public keys will be shown on the BZFlag list server.

Keys are shown at like this:

KEYS listed from
Host Key 1234567890123456789 [Delete]

You need to provide the key value to the bzfs server option -publickey like this

$ bzfs -publictitle "Map name goes here" -publickey 1234567890123456789 

The -publicaddr and -p parameters have not changed from 2.0.x and are used to provide the hosting server address and port respectively.

More information about the public key option can be found at ServerAuthentication

Upgrading third party plugins[edit]

The API for plugins has changed in the 2.4 release. See BZFS_API_2.4_Upgrade for details on upgrading your server plugins.

BZFlag server commandline option changes[edit]

Removed options[edit]

  • Local password databases are no longer supported for authentication
    • -passdb has been removed as a command line option
  • UDP is on by default
    • -requireudp has been removed as a command line option

Changed options[edit]

  • The option for specifying the map name on the server list has changed
    • -public changed to -publictitle
  • Timed games can now specify the end time in either seconds or end time
    • -time now takes either the number of seconds or an end time as an option (format hh:mm or hh:mm:ss)

New options[edit]

  • Ability to turn off teamkilling for a map
    • -noTeamKills added as an option to prevent players from dying from each other.
  • New game mode for teamless free-for-all
    • -offa added as an option to select this mode
  • bzfs server timestamps can now be output in UTC instead of the local time
    • Specifying -utc outputs all times in UTC and implies -ts
  • Public keys are required to have your server included on the BZFlag server list

Server Groups[edit]

With this release BZFlag groups defined in the groupdb can now be referenced before they are defined.

Permissions provided by existing server groups will work with no modifications as long as no forward references to groups exist in your groupdb.

If your group files reference other groups that were not yet defined the permissions provided by those forward-referenced groups will now be granted to your group members.

We recommend that you review your server groupdb settings.

An example

group1: *group2 +spawn
group2: +talk
group3: *group2
group2: +poll

In 2.0 the "*group2" statement in line one would have been ignored because group2 was not yet defined. Also line 4 would have been ignored becaused group2 was used as a reference in line 3. Now in 2.4 these aren't errors anymore, so while in 2.0 the resulting perms are:

group1: spawn
group2: talk
group3: talk

they are in 2.4

group1: spawn talk poll
group2: talk poll
group3: talk poll

If bzfs didn't warn (with -d) about bad group references or skipped lines in 2.0 your groupdb file should work the same way in 2.4. Else you should have a look on it or expect unexpected effects.