This wiki was in read-only mode for many years, but can now be edited again. A lot of information will need to be updated.
Plug-ins
BZFS can be built to support the loading of external libraries as plug-ins. These plug-ins can alter or replace the logic applied by the server, as well as automate many common tasks. They are can be loaded at startup by the -loadplugin option, or at run time with the /loadplugin command.
Plug-ins are a simpler way to apply modifications to the game, as they do not require the server owner to modify or recompile his/her BZFS application. By using the BZFS API plug-ins are also able to be mixed and matched in an easy way.
Overview
Plug-ins are compile dynamic link libraries, that are built for the same OS/RuntimeEnvironment as the BZFS server that hosts them. On Microsoft Windows they are built as DLL files. On Linux and other Unix-like systems they are built as .so files.
On load, plug-ins install a number of callbacks and event handlers with the hosting BZFS that are called when specific events happen. This allows the plug-in to perform additional actions on these events, or if need be, alter the results of the default logic of the server.
BZFS API
All plug-ins are linked to the BZFS API. This programing layer provides the interface to the BZFS application. All events and functions that a plug-in can call are in the BZFS API.
Standard plug-ins=
The BZFlag Source distribution contains a number of plug-ins that are maintained by the project developers. These plug-ins are located in the /plugins directory.
As of February 18th 2007, CVS HEAD ( version 2.1) contains the following plug-ins:
- [[airspawn
 - [[bzfscron
 - chathistory
 - flagStay
 - hiddenAdmin
 - HoldTheFlag
 - keepaway
 - killall
 - koth
 - logDetail
 - nagware
 - playHistoryTracker
 - python
 - recordmatch
 - RogueGenocide
 - SAMPLE_PLUGIN
 - serverSideBotSample
 - shockwaveDeath
 - soundTest
 - teamflagreset
 - thiefControl
 - timedctf
 - torBlock
 - weaponArena
 - wwzones
 
Third Party Plug-ins
A number of non-developers have created plug-ins for BZFS, and usually release them on the BZFlag Forums.
Plug-in Development
Todo: describe the basics of plug-in development.