<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bzflag.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thumper</id>
	<title>BZFlagWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bzflag.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thumper"/>
	<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/Special:Contributions/Thumper"/>
	<updated>2026-05-19T14:25:48Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.4.2&amp;diff=7897</id>
		<title>DevelopmentPlans/2.4.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.4.2&amp;diff=7897"/>
		<updated>2011-07-31T20:01:42Z</updated>

		<summary type="html">&lt;p&gt;Thumper: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
2.4.2 will be the first maintenance release of the 2.4.x compatibility line. Its primary function is to fix bugs found in the 2.4.0 release and to include non breaking items that were not ready during the initial release&lt;br /&gt;
&lt;br /&gt;
==Tasks==&lt;br /&gt;
&lt;br /&gt;
===Bug To Be Fixed===&lt;br /&gt;
&lt;br /&gt;
====Introduced in previous release====&lt;br /&gt;
* &amp;quot;ST&amp;quot; autopilot &#039;issue&#039; https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3368248&amp;amp;group_id=3248&amp;amp;atid=103248&lt;br /&gt;
&lt;br /&gt;
=====Primary=====&lt;br /&gt;
* Filter title text for servers https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3368247&amp;amp;group_id=3248&amp;amp;atid=103248&lt;br /&gt;
* Flag Spawning After Death https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3021884&amp;amp;group_id=3248&amp;amp;atid=103248&lt;br /&gt;
* teamflags do not follow groups with zoneflag https://sourceforge.net/tracker/?func=detail&amp;amp;aid=2938335&amp;amp;group_id=3248&amp;amp;atid=103248&lt;br /&gt;
&lt;br /&gt;
=====Secondary=====&lt;br /&gt;
* Observer movement controls seems to get locked-up https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3368413&amp;amp;group_id=3248&amp;amp;atid=103248&lt;br /&gt;
* timeout does not work with multiple team flags https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3368409&amp;amp;group_id=3248&amp;amp;atid=103248&lt;br /&gt;
* time limiter and agility https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3368408&amp;amp;group_id=3248&amp;amp;atid=103248&lt;br /&gt;
* z buffer issues https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3368245&amp;amp;group_id=3248&amp;amp;atid=103248&lt;br /&gt;
* filter -publictitle https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3368247&amp;amp;group_id=3248&amp;amp;atid=103248&lt;br /&gt;
* line numbers in drawinfo errors https://sourceforge.net/tracker/?func=detail&amp;amp;aid=2139541&amp;amp;group_id=3248&amp;amp;atid=103248&lt;br /&gt;
* stats not tracking https://sourceforge.net/tracker/?func=detail&amp;amp;aid=1433676&amp;amp;group_id=3248&amp;amp;atid=103248&lt;br /&gt;
* eval &amp;quot;configure should test and enable the fudged acosf atanf asinf&amp;quot; from old TODO.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
* BZFScron (implement as backport from 2.99) (BTH)&lt;br /&gt;
* Fastmap ( Fixed : 7/30/11 JAM )&lt;br /&gt;
* Push Stats ( finish backend )&lt;br /&gt;
* Joystick fixes (DTR?)&lt;br /&gt;
* CIDR/subnet bans from Filter.cxx (Make a common ban check/resolution function/class?)&lt;br /&gt;
&lt;br /&gt;
==Known Bugs==&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Plans]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7805</id>
		<title>DevelopmentPlans/2.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7805"/>
		<updated>2011-07-04T03:22:35Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Fix link to BZFlag 2.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
BZFlag 2.3 will be a development version that will be released as 2.4.0.0. 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.&lt;br /&gt;
&lt;br /&gt;
==Release==&lt;br /&gt;
[[BZFlag_2.4|2.4.0.0]] was released on July 3, 2011 and will be maintained as per the [[Development_RoadMap]]&lt;br /&gt;
&lt;br /&gt;
==Goal==&lt;br /&gt;
The goal is to release a new version of [[Main Page|BZFlag]] that is incompatible with 2.0.x for a good reason, and has at least one new feature that will make many players &#039;&#039;&#039;want&#039;&#039;&#039; to upgrade.&lt;br /&gt;
&lt;br /&gt;
The hope is that this process will renew developer motivation and attract new developers.&lt;br /&gt;
&lt;br /&gt;
==Schedule==&lt;br /&gt;
* Move trunk to a v2_99_branch. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Copy v2_0branch to trunk and change protocol number. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Change the version docs to make compatibility be the minor version number. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* 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. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* When proposals are in and accepted by consensus, start the 1-month countdown clock.&#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Implement accepted proposals and test.&#039;&#039;&#039;In progress&#039;&#039;&#039;&lt;br /&gt;
* Document server upgrade process for the many server owners. &#039;&#039;&#039;In progress&#039;&#039;&#039; &#039;&#039;Thumper by 6/20/2011&#039;&#039;&lt;br /&gt;
* If release is not stable by 6/17/2011 revert changes that made it unstable.&lt;br /&gt;
* Public beta on 6/20/2011&lt;br /&gt;
* Public RC on 6/27/2011&lt;br /&gt;
* Release on 6/30/2011&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
These are the many ideas, both new and old, for changes to BZFlag.&lt;br /&gt;
&lt;br /&gt;
===Assignments and tracking===&lt;br /&gt;
Task tracking is managed via a google spread sheet that can be found here.&lt;br /&gt;
&lt;br /&gt;
https://spreadsheets.google.com/spreadsheet/pub?hl=en&amp;amp;hl=en&amp;amp;key=0Agca59DESlNKdC1CSUtUMUhiSldrOVVPSHcwQUNzOUE&amp;amp;output=html&lt;br /&gt;
&lt;br /&gt;
Developers with assigned tasks can request edit access to the document on IRC.&lt;br /&gt;
&lt;br /&gt;
===Timeline===&lt;br /&gt;
Project must be completed by June 14th 2011 or they will be rolled back and excluded from the release.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Viable Projects===&lt;br /&gt;
The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
These 2.99 features are suitable for porting to 2.3.&lt;br /&gt;
&lt;br /&gt;
* Connection header change (HTTP-style) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New GUI elements &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Server-side scoring &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Segmented simulation loop (to prevent wallwalking) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server-side flag ID and pickup &#039;&#039;&#039;Pimpinella&#039;&#039;&#039;&lt;br /&gt;
* [[2.3_NewShotGraphics|New shot graphics]] (geolaser/geothief) &#039;&#039;&#039;JeffM&#039;&#039;&#039; &#039;&#039;&#039;Discuss on IRC&#039;&#039;&#039;&lt;br /&gt;
* HUD markers &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* [[2.3_QualityChanges|Removal of low graphics, promotion of experimental to high]]. &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server list from GSoC &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFS API rework &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Remove local authentication (the /identify command) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Windows project cleanup &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New make system &#039;&#039;&#039;BulletCatcher&#039;&#039;&#039;&lt;br /&gt;
* New source docs (authors etc...) &#039;&#039;&#039;Constitution&#039;&#039;&#039;&lt;br /&gt;
* Server-side handicap &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Guided Missile shot checks  &#039;&#039;&#039;Pimpinella&#039;&#039;&#039;&lt;br /&gt;
* Stealth fixes for rabbit &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* Asynchronous screenshot compression so client won&#039;t freeze up during screenshots &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFlag update notification &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Wings velocity change (additive flap instead of instant upward velocity) &#039;&#039;&#039;blast007&#039;&#039;&#039; (r14997, r15162, r15832)&lt;br /&gt;
* Message protection (ensure network messages are valid) &#039;&#039;&#039;A_Meteorite&#039;&#039;&#039;&lt;br /&gt;
* Add message types so that actions (/me) are properly implemented &#039;&#039;&#039;blast007&#039;&#039;&#039; (r19833)&lt;br /&gt;
* New artwork &#039;&#039;&#039;JeffM&#039;&#039;&#039; [[2.3_NewEffects|Effects Updates]]&lt;br /&gt;
* Server option to disable teamkills &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* OpenFFA &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Download URL change (to force just images.bzflag.org, not any .org or .bz) &#039;&#039;&#039;Constitution&#039;&#039;&#039;&lt;br /&gt;
* Remove option to turn off fog &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Require OpenGL 1.2 &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Only allow a single end shot credit for holding the shield flag &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Only players with POLL permission are eligible to take part in a vote &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Add the /serverdebug command &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Report errors to stderr instead of stdout &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Add -utc switch to output log messages in UTC instead of localtime &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Fix timestamp buffer size so -ts micros output fits &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Joystick input fixes/enhancements &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Remove -geometry and make -window take a size &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Allow -time to have an ending time &#039;&#039;&#039;blast007&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Round Robin for services &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a band-aid for&lt;br /&gt;
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware, if any changes will help &#039;&#039;&#039;JeffM&#039;&#039;&#039; &#039;&#039;&#039;Blast007&#039;&#039;&#039; &#039;&#039;&#039;JoeVano&#039;&#039;&#039;&lt;br /&gt;
* Import client customization settings from the 2.0 config.cfg file to the 2.4 version&lt;br /&gt;
* Implement new version numbering system into code. (/src/date/buildDate.cxx and DEVINFO at least, there might be more places where it is needed)&lt;br /&gt;
&lt;br /&gt;
===To Evaluate===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
* Map changes &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* HTTP plugins &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New API events &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Custom flag system &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFSCron &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Server Side Players &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Bug fixes not in notes &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Hunter as proper team &#039;&#039;&#039;mdskpr (grabbed by DTRemenak)&#039;&#039;&#039;&lt;br /&gt;
* bzfs -publickey &#039;&#039;&#039;trepan&#039;&#039;&#039;&lt;br /&gt;
* push stats as default&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Countdown/reload timer position fix for when showCoordinates is enabled &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* SVN props cleanup &#039;&#039;&#039;Bullet Catcher&#039;&#039;&#039;&lt;br /&gt;
* Display BZBB rank images in game. &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Exclusions===&lt;br /&gt;
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&#039;s current release.&lt;br /&gt;
&lt;br /&gt;
* New flags&lt;br /&gt;
* Network buffering&lt;br /&gt;
* Lag compensation (needs a lot more testing)&lt;br /&gt;
* Acceleration changes&lt;br /&gt;
* Font system (still has some bugs/glitches and possible performance issues)&lt;br /&gt;
* New Translations (requires the new font system)&lt;br /&gt;
* Map geometry changes (requires flag zap zone support or breaks existing servers)&lt;br /&gt;
* Website changes.&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===Empty Flag Types===&lt;br /&gt;
When you start BZFS with +f good{2} the server will generate 8 &amp;quot;empty&amp;quot; flag IDs in addition to all normal good flags (no flag type.)&lt;br /&gt;
This can be seen by doing &#039;/flag show&#039;. You can also &#039;/flag give&#039; the empty flag types, although all it seems to do is say &amp;quot;user: grabbed flag &amp;quot; in chat and make the flag pick-up noise - it doesn&#039;t actually give you a flag.&lt;br /&gt;
&lt;br /&gt;
[[Category:Versions]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7804</id>
		<title>DevelopmentPlans/2.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7804"/>
		<updated>2011-07-04T03:20:20Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Fix link to the development roadmap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
BZFlag 2.3 will be a development version that will be released as 2.4.0.0. 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.&lt;br /&gt;
&lt;br /&gt;
==Release==&lt;br /&gt;
[[BZFlag_2.4.0|2.4.0.0]] was released on July 3, 2011 and will be maintained as per the [[Development_RoadMap]]&lt;br /&gt;
&lt;br /&gt;
==Goal==&lt;br /&gt;
The goal is to release a new version of [[Main Page|BZFlag]] that is incompatible with 2.0.x for a good reason, and has at least one new feature that will make many players &#039;&#039;&#039;want&#039;&#039;&#039; to upgrade.&lt;br /&gt;
&lt;br /&gt;
The hope is that this process will renew developer motivation and attract new developers.&lt;br /&gt;
&lt;br /&gt;
==Schedule==&lt;br /&gt;
* Move trunk to a v2_99_branch. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Copy v2_0branch to trunk and change protocol number. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Change the version docs to make compatibility be the minor version number. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* 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. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* When proposals are in and accepted by consensus, start the 1-month countdown clock.&#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Implement accepted proposals and test.&#039;&#039;&#039;In progress&#039;&#039;&#039;&lt;br /&gt;
* Document server upgrade process for the many server owners. &#039;&#039;&#039;In progress&#039;&#039;&#039; &#039;&#039;Thumper by 6/20/2011&#039;&#039;&lt;br /&gt;
* If release is not stable by 6/17/2011 revert changes that made it unstable.&lt;br /&gt;
* Public beta on 6/20/2011&lt;br /&gt;
* Public RC on 6/27/2011&lt;br /&gt;
* Release on 6/30/2011&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
These are the many ideas, both new and old, for changes to BZFlag.&lt;br /&gt;
&lt;br /&gt;
===Assignments and tracking===&lt;br /&gt;
Task tracking is managed via a google spread sheet that can be found here.&lt;br /&gt;
&lt;br /&gt;
https://spreadsheets.google.com/spreadsheet/pub?hl=en&amp;amp;hl=en&amp;amp;key=0Agca59DESlNKdC1CSUtUMUhiSldrOVVPSHcwQUNzOUE&amp;amp;output=html&lt;br /&gt;
&lt;br /&gt;
Developers with assigned tasks can request edit access to the document on IRC.&lt;br /&gt;
&lt;br /&gt;
===Timeline===&lt;br /&gt;
Project must be completed by June 14th 2011 or they will be rolled back and excluded from the release.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Viable Projects===&lt;br /&gt;
The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
These 2.99 features are suitable for porting to 2.3.&lt;br /&gt;
&lt;br /&gt;
* Connection header change (HTTP-style) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New GUI elements &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Server-side scoring &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Segmented simulation loop (to prevent wallwalking) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server-side flag ID and pickup &#039;&#039;&#039;Pimpinella&#039;&#039;&#039;&lt;br /&gt;
* [[2.3_NewShotGraphics|New shot graphics]] (geolaser/geothief) &#039;&#039;&#039;JeffM&#039;&#039;&#039; &#039;&#039;&#039;Discuss on IRC&#039;&#039;&#039;&lt;br /&gt;
* HUD markers &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* [[2.3_QualityChanges|Removal of low graphics, promotion of experimental to high]]. &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server list from GSoC &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFS API rework &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Remove local authentication (the /identify command) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Windows project cleanup &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New make system &#039;&#039;&#039;BulletCatcher&#039;&#039;&#039;&lt;br /&gt;
* New source docs (authors etc...) &#039;&#039;&#039;Constitution&#039;&#039;&#039;&lt;br /&gt;
* Server-side handicap &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Guided Missile shot checks  &#039;&#039;&#039;Pimpinella&#039;&#039;&#039;&lt;br /&gt;
* Stealth fixes for rabbit &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* Asynchronous screenshot compression so client won&#039;t freeze up during screenshots &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFlag update notification &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Wings velocity change (additive flap instead of instant upward velocity) &#039;&#039;&#039;blast007&#039;&#039;&#039; (r14997, r15162, r15832)&lt;br /&gt;
* Message protection (ensure network messages are valid) &#039;&#039;&#039;A_Meteorite&#039;&#039;&#039;&lt;br /&gt;
* Add message types so that actions (/me) are properly implemented &#039;&#039;&#039;blast007&#039;&#039;&#039; (r19833)&lt;br /&gt;
* New artwork &#039;&#039;&#039;JeffM&#039;&#039;&#039; [[2.3_NewEffects|Effects Updates]]&lt;br /&gt;
* Server option to disable teamkills &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* OpenFFA &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Download URL change (to force just images.bzflag.org, not any .org or .bz) &#039;&#039;&#039;Constitution&#039;&#039;&#039;&lt;br /&gt;
* Remove option to turn off fog &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Require OpenGL 1.2 &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Only allow a single end shot credit for holding the shield flag &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Only players with POLL permission are eligible to take part in a vote &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Add the /serverdebug command &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Report errors to stderr instead of stdout &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Add -utc switch to output log messages in UTC instead of localtime &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Fix timestamp buffer size so -ts micros output fits &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Joystick input fixes/enhancements &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Remove -geometry and make -window take a size &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Allow -time to have an ending time &#039;&#039;&#039;blast007&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Round Robin for services &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a band-aid for&lt;br /&gt;
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware, if any changes will help &#039;&#039;&#039;JeffM&#039;&#039;&#039; &#039;&#039;&#039;Blast007&#039;&#039;&#039; &#039;&#039;&#039;JoeVano&#039;&#039;&#039;&lt;br /&gt;
* Import client customization settings from the 2.0 config.cfg file to the 2.4 version&lt;br /&gt;
* Implement new version numbering system into code. (/src/date/buildDate.cxx and DEVINFO at least, there might be more places where it is needed)&lt;br /&gt;
&lt;br /&gt;
===To Evaluate===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
* Map changes &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* HTTP plugins &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New API events &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Custom flag system &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFSCron &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Server Side Players &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Bug fixes not in notes &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Hunter as proper team &#039;&#039;&#039;mdskpr (grabbed by DTRemenak)&#039;&#039;&#039;&lt;br /&gt;
* bzfs -publickey &#039;&#039;&#039;trepan&#039;&#039;&#039;&lt;br /&gt;
* push stats as default&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Countdown/reload timer position fix for when showCoordinates is enabled &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* SVN props cleanup &#039;&#039;&#039;Bullet Catcher&#039;&#039;&#039;&lt;br /&gt;
* Display BZBB rank images in game. &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Exclusions===&lt;br /&gt;
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&#039;s current release.&lt;br /&gt;
&lt;br /&gt;
* New flags&lt;br /&gt;
* Network buffering&lt;br /&gt;
* Lag compensation (needs a lot more testing)&lt;br /&gt;
* Acceleration changes&lt;br /&gt;
* Font system (still has some bugs/glitches and possible performance issues)&lt;br /&gt;
* New Translations (requires the new font system)&lt;br /&gt;
* Map geometry changes (requires flag zap zone support or breaks existing servers)&lt;br /&gt;
* Website changes.&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===Empty Flag Types===&lt;br /&gt;
When you start BZFS with +f good{2} the server will generate 8 &amp;quot;empty&amp;quot; flag IDs in addition to all normal good flags (no flag type.)&lt;br /&gt;
This can be seen by doing &#039;/flag show&#039;. You can also &#039;/flag give&#039; the empty flag types, although all it seems to do is say &amp;quot;user: grabbed flag &amp;quot; in chat and make the flag pick-up noise - it doesn&#039;t actually give you a flag.&lt;br /&gt;
&lt;br /&gt;
[[Category:Versions]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFS_API_2.4_Upgrade&amp;diff=7793</id>
		<title>BZFS API 2.4 Upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFS_API_2.4_Upgrade&amp;diff=7793"/>
		<updated>2011-07-01T02:30:00Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Fix names for 2.0.x register event and remove event methods&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
For version 2.4 the [[BZFS_API]] has undergone some restructuring. This document will go over the changes a plug-in developer must make in order to update to this new release.&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
In order to gain forward compatibility the API had to be changed in a way that broke backwards compatibility. This means that all plug-ins written for 2.0.x will not load in version 2.3.4 or later.&lt;br /&gt;
&lt;br /&gt;
===API Version Numbers===&lt;br /&gt;
In the past the API version number represented the newest version of the API that the plug-in would run under. This caused plug-ins to have to be recompiled every time the API version changed.&lt;br /&gt;
&lt;br /&gt;
In the new API the version number represents the minimum version required. This will ensure that plug-ins can be loaded in future versions. This also prevents plug-ins from running in versions older then they were written for. Due to the uni-directional nature of software upgrades this is a more useful feature.&lt;br /&gt;
&lt;br /&gt;
==Spelling Changes==&lt;br /&gt;
Spelling errors and grammatical inconsistencies in the API have been fixed.&lt;br /&gt;
&lt;br /&gt;
===BZ string and list classes===&lt;br /&gt;
The [[bzApiString]] and other associated &#039;&#039;basic&#039;&#039; types have been renamed to [[bz_ApiString]] to be more consistent with the rest of the API.&lt;br /&gt;
&lt;br /&gt;
===Player Records===&lt;br /&gt;
The [[bz_PlayerRecord]] has been replaced with [[bz_BasePlayerRecord]] to allow for future derivation. Some of it&#039;s members have been changed, mostly notably the player position information is now part of the &#039;&#039;&#039;lastKnownState&#039;&#039;&#039; member of type [[bz_PlayerUpdateState]]. This structure contains much more information about the player state.&lt;br /&gt;
&lt;br /&gt;
==Entry Points==&lt;br /&gt;
The main entry points for the API have changed. The following entry points are no longer used.&lt;br /&gt;
&lt;br /&gt;
 BZF_PLUGIN_CALL int [[bz_Load]] ( const char* command );&lt;br /&gt;
 BZF_PLUGIN_CALL int [[bz_Unload]] ( void );&lt;br /&gt;
 BZF_PLUGIN_CALL int [[bz_GetVersion]] ( void );&lt;br /&gt;
&lt;br /&gt;
The entry points are replaced with the following new items.&lt;br /&gt;
&lt;br /&gt;
 BZF_PLUGIN_CALL [[bz_Plugin]]*[[bz_getPlugin]] ( void );&lt;br /&gt;
 BZF_PLUGIN_CALL void [[bz_freePlugin]] ( [[bz_Plugin]]*);&lt;br /&gt;
 BZF_PLUGIN_CALL int [[bz_GetMinVersion]] ( void );&lt;br /&gt;
&lt;br /&gt;
[[bz_GetMinVersion]] is called first to get the minimum API version. If the current BZFS supports this verison then the plug-in will be loaded and [[bz_getPlugin]] will be called. This function returns the &#039;&#039;&#039;Plug-in Class&#039;&#039;&#039; that BZFS will use to interact with the plug-in. When a plug-in is unloaded the function [[bz_freePlugin]] will be called.&lt;br /&gt;
&lt;br /&gt;
A set of macros are provided in the bzAPI.h Header to simplify the calls for a plug-in.&lt;br /&gt;
&lt;br /&gt;
The plugin can simply call the &#039;&#039;&#039;BZ_PLUGIN(n)&#039;&#039;&#039; macro and provide a classname that is derived from [[bz_Plugin]]. This will create and free a plug-in class automatically and return the version of the API that the plug-in was compiled with.&lt;br /&gt;
&lt;br /&gt;
===Plug-in Class===&lt;br /&gt;
&lt;br /&gt;
The plug-in class is defined by the base class [[bz_Plugin]]. It contains 2 methods that each plug-in must implement in a derived class,&lt;br /&gt;
&lt;br /&gt;
  virtual const char* Name () = 0;&lt;br /&gt;
  virtual void Init(const char* config) = 0;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; returns the human readable name for the plug-in as a null terminated ASCII string.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Init&#039;&#039;&#039; is called by BZFS after the plug-in is loaded and serves the same function as the [[bz_Load]] entry point in previous versions.&lt;br /&gt;
&lt;br /&gt;
The derived class may also optionally provide versions of these additional methods&lt;br /&gt;
&lt;br /&gt;
 virtual void Cleanup() {Flush();}&lt;br /&gt;
 virtual void Event(bz_EventData* /*eventData*/) { return; }&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cleanup&#039;&#039;&#039; is called when a plug-in is unloaded and replaces the [bz_Unload]] function in previous versions. By default Cleanup will automatically remove any events that the plug-in has registered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Event&#039;&#039;&#039; is called whenever BZFS executes an event that the plug-in has requested to be informed of. This function replaces the [[bz_EventHandler]] class in older versions.&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
Every plug-in now has a single callback method for all events that it registers. The functions [[bz_registerEvent]] and [[bz_removeEvent]] have been removed from the API. In there place the [[bz_Plugin]] class now implements it&#039;s own &#039;&#039;&#039;Register&#039;&#039;&#039; and &#039;&#039;&#039;Remove&#039;&#039;&#039; methods. &lt;br /&gt;
&lt;br /&gt;
These methods only take an event type and do not need a separate handler class, they will always use the &#039;&#039;&#039;Event&#039;&#039;&#039; method of the calling class.&lt;br /&gt;
&lt;br /&gt;
A new method, &#039;&#039;&#039;Flush&#039;&#039;&#039; is provided to remove all events that the plug-in has registered. This method is automatically called by the default &#039;&#039;&#039;Cleanup&#039;&#039;&#039; method.&lt;br /&gt;
&lt;br /&gt;
===Event Data Classes===&lt;br /&gt;
In addtion to the new Event handler system, all the event data classes have been changed. Each event data class is now versioned with a number in the class name, such as [[bz_PlayerSpawnEventData_V1]]. These event classes will never change and new versions will be derived from them with a higher version number. This allows a plug-in to always get the data it knows about, even as the BZAPI is enhanced to include more data for each event.&lt;br /&gt;
&lt;br /&gt;
The base class for the Event Data Classes has also changed. [[bz_EventData]] now includes a timestamp for when the event was triggered in the &#039;&#039;eventTime&#039;&#039; data member.&lt;br /&gt;
&lt;br /&gt;
====Class Changes====&lt;br /&gt;
Many of the events that returned some player data now simply return a [[bz_BasePlayerRecord]]. This player record will be automaticly freed when the event finishes and the plug-in does not have to call[[ bz_freePlayerRecord]] on the pointer.&lt;br /&gt;
&lt;br /&gt;
The events affected are&lt;br /&gt;
* [[bz_ePlayerJoinEvent]]&lt;br /&gt;
* [[bz_ePlayerPartEvent]]&lt;br /&gt;
&lt;br /&gt;
==Callbacks==&lt;br /&gt;
In order to reduce the number of callback classes that had name conflicts, call callback classes that used the &#039;&#039;&#039;handle&#039;&#039;&#039; method have had there methods renamed to be descriptive of the callback type. This is in order to make the use of multiple inheritance for callbacks simpler.&lt;br /&gt;
&lt;br /&gt;
==Idle Time==&lt;br /&gt;
The function [[bz_setMaxWaitTime]] has been removed from the API. [[bz_Plugin]] contains a MaxWaitTime data member that can be set by each plug-in individually. BZFS will use the smallest time required by any plug-in. Setting the value to a negative number will indicate that the plug-in has no specific idle time needs.&lt;br /&gt;
&lt;br /&gt;
==Inter Plug-in Communication==&lt;br /&gt;
[[bz_pluginExists]] and [[bz_getPlugin]] are provided to allow plug-ins to transfer data between themselves. the [[bz_Plugin]] class contains the [[GeneralCallback]] that can be used to call functions from one plug-in to the other.&lt;br /&gt;
&lt;br /&gt;
==Upgrade==&lt;br /&gt;
Developers should take the following general steps to upgrade a plug-in from 2.0.x to 2.3/2.4; Individual results may vary depending on how different the plug-in is from the sample template.&lt;br /&gt;
&lt;br /&gt;
* Open the &#039;&#039;&#039;.def&#039;&#039; file for the plug-in and replace the exported functions with the following&lt;br /&gt;
 bz_GetPlugin&lt;br /&gt;
 bz_FreePlugin&lt;br /&gt;
 bz_GetMinVersion&lt;br /&gt;
&lt;br /&gt;
* Open the main file for the plug-in and remove the call to &#039;&#039;&#039;BZ_GET_PLUGIN_VERSION&#039;&#039;&#039;&lt;br /&gt;
* Find the main event handler class and derive it from &#039;&#039;&#039;bz_Plugin&#039;&#039;&#039; instead of &#039;&#039;&#039;bz_EventHandler&#039;&#039;&#039;. If there is more then one event handler class, pick one to be the main class and delete the other classes.&lt;br /&gt;
* Change the &#039;&#039;&#039;process&#039;&#039;&#039; method in your event handler to &#039;&#039;&#039;Event&#039;&#039;&#039;, the calling parameters are identical.&lt;br /&gt;
* Add the following methods to your plug-in class&lt;br /&gt;
  virtual const char* Name (){return &amp;quot;NAME&amp;quot;;}&lt;br /&gt;
  virtual void Init ( const char* config);&lt;br /&gt;
* Replace the word &#039;&#039;&#039;NAME&#039;&#039;&#039; with the human readable name for your plug-in. This name will appear when a user types &#039;&#039;&#039;/listplugins&#039;&#039;&#039; while in the game.&lt;br /&gt;
* Remove any global instances of your Plug-in object and replace it with a call to the &#039;&#039;&#039;BZ_PLUGIN(n)&#039;&#039;&#039; macro. There is no need to instantiate the object, the macro will do it for you.&lt;br /&gt;
* Change the &#039;&#039;&#039;handle&#039;&#039;&#039; method in any bz_CustomSlashCommandHandler to &#039;&#039;&#039;SlashCommand&#039;&#039;&#039;&lt;br /&gt;
* Change the &#039;&#039;&#039;handle&#039;&#039;&#039; method in any bz_CustomMapObjectInfo to &#039;&#039;&#039;MapObject&#039;&#039;&#039;&lt;br /&gt;
* Find the bz_Load callback and replace it with the &#039;&#039;&#039;Init&#039;&#039;&#039; method from the plug-in class.&lt;br /&gt;
* Replace calls to &#039;&#039;&#039;bz_registerEvent&#039;&#039;&#039; with calls to &#039;&#039;&#039;Register&#039;&#039;&#039;, and remove the second parameter.&lt;br /&gt;
* If the plug-in used custom slash commands or custom map objects that need to be cleaned up then implement the &#039;&#039;&#039;Cleanup&#039;&#039;&#039; method for the plug-in class and replace the bz_Unload Callback with it. Calls to &#039;&#039;&#039;bz_removeEvent&#039;&#039;&#039; can be removed, and the method Flush can be called once for all events. If the plug-in only registers events then the bz_Unload callback can be removed.&lt;br /&gt;
* Replace the following.&lt;br /&gt;
 # &#039;&#039;&#039;bzApiString&#039;&#039;&#039; with &#039;&#039;&#039;bz_ApiString&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;bzAPIIntList&#039;&#039;&#039; with &#039;&#039;&#039;bz_APIIntList&#039;&#039;&#039; &lt;br /&gt;
 # &#039;&#039;&#039;bzAPIFloatList&#039;&#039;&#039; with &#039;&#039;&#039;bz_APIFloatList&#039;&#039;&#039; &lt;br /&gt;
 # &#039;&#039;&#039;bzAPIStringList&#039;&#039;&#039; with &#039;&#039;&#039;bz_APIStringList&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Add &#039;&#039;&#039;_V1&#039;&#039;&#039; to all event data classes, and adjust calls to members as needed, time to eventTime, etc...&lt;br /&gt;
* If you had multiple event handler classes, have your main plug-in&#039;s &#039;&#039;&#039;Event&#039;&#039;&#039; method check the event type and call the required code.&lt;br /&gt;
* Compile the plug-in and see what has been missed.&lt;br /&gt;
&lt;br /&gt;
==Assistance==&lt;br /&gt;
&lt;br /&gt;
If you require help with the upgrade please feel free to join the BZFlag developers on the development [[IRC]] channel. JeffM and Thumper will be more then willing to assist you in the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Samples==&lt;br /&gt;
All of the plug-ins in the source code distribution have been updated to the new format and can be used as examples.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Plug-Ins]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFS_API_2.4_Upgrade&amp;diff=7792</id>
		<title>BZFS API 2.4 Upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFS_API_2.4_Upgrade&amp;diff=7792"/>
		<updated>2011-07-01T02:19:06Z</updated>

		<summary type="html">&lt;p&gt;Thumper: typo fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
For version 2.4 the [[BZFS_API]] has undergone some restructuring. This document will go over the changes a plug-in developer must make in order to update to this new release.&lt;br /&gt;
&lt;br /&gt;
==Compatibility==&lt;br /&gt;
In order to gain forward compatibility the API had to be changed in a way that broke backwards compatibility. This means that all plug-ins written for 2.0.x will not load in version 2.3.4 or later.&lt;br /&gt;
&lt;br /&gt;
===API Version Numbers===&lt;br /&gt;
In the past the API version number represented the newest version of the API that the plug-in would run under. This caused plug-ins to have to be recompiled every time the API version changed.&lt;br /&gt;
&lt;br /&gt;
In the new API the version number represents the minimum version required. This will ensure that plug-ins can be loaded in future versions. This also prevents plug-ins from running in versions older then they were written for. Due to the uni-directional nature of software upgrades this is a more useful feature.&lt;br /&gt;
&lt;br /&gt;
==Spelling Changes==&lt;br /&gt;
Spelling errors and grammatical inconsistencies in the API have been fixed.&lt;br /&gt;
&lt;br /&gt;
===BZ string and list classes===&lt;br /&gt;
The [[bzApiString]] and other associated &#039;&#039;basic&#039;&#039; types have been renamed to [[bz_ApiString]] to be more consistent with the rest of the API.&lt;br /&gt;
&lt;br /&gt;
===Player Records===&lt;br /&gt;
The [[bz_PlayerRecord]] has been replaced with [[bz_BasePlayerRecord]] to allow for future derivation. Some of it&#039;s members have been changed, mostly notably the player position information is now part of the &#039;&#039;&#039;lastKnownState&#039;&#039;&#039; member of type [[bz_PlayerUpdateState]]. This structure contains much more information about the player state.&lt;br /&gt;
&lt;br /&gt;
==Entry Points==&lt;br /&gt;
The main entry points for the API have changed. The following entry points are no longer used.&lt;br /&gt;
&lt;br /&gt;
 BZF_PLUGIN_CALL int [[bz_Load]] ( const char* command );&lt;br /&gt;
 BZF_PLUGIN_CALL int [[bz_Unload]] ( void );&lt;br /&gt;
 BZF_PLUGIN_CALL int [[bz_GetVersion]] ( void );&lt;br /&gt;
&lt;br /&gt;
The entry points are replaced with the following new items.&lt;br /&gt;
&lt;br /&gt;
 BZF_PLUGIN_CALL [[bz_Plugin]]*[[bz_getPlugin]] ( void );&lt;br /&gt;
 BZF_PLUGIN_CALL void [[bz_freePlugin]] ( [[bz_Plugin]]*);&lt;br /&gt;
 BZF_PLUGIN_CALL int [[bz_GetMinVersion]] ( void );&lt;br /&gt;
&lt;br /&gt;
[[bz_GetMinVersion]] is called first to get the minimum API version. If the current BZFS supports this verison then the plug-in will be loaded and [[bz_getPlugin]] will be called. This function returns the &#039;&#039;&#039;Plug-in Class&#039;&#039;&#039; that BZFS will use to interact with the plug-in. When a plug-in is unloaded the function [[bz_freePlugin]] will be called.&lt;br /&gt;
&lt;br /&gt;
A set of macros are provided in the bzAPI.h Header to simplify the calls for a plug-in.&lt;br /&gt;
&lt;br /&gt;
The plugin can simply call the &#039;&#039;&#039;BZ_PLUGIN(n)&#039;&#039;&#039; macro and provide a classname that is derived from [[bz_Plugin]]. This will create and free a plug-in class automatically and return the version of the API that the plug-in was compiled with.&lt;br /&gt;
&lt;br /&gt;
===Plug-in Class===&lt;br /&gt;
&lt;br /&gt;
The plug-in class is defined by the base class [[bz_Plugin]]. It contains 2 methods that each plug-in must implement in a derived class,&lt;br /&gt;
&lt;br /&gt;
  virtual const char* Name () = 0;&lt;br /&gt;
  virtual void Init(const char* config) = 0;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; returns the human readable name for the plug-in as a null terminated ASCII string.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Init&#039;&#039;&#039; is called by BZFS after the plug-in is loaded and serves the same function as the [[bz_Load]] entry point in previous versions.&lt;br /&gt;
&lt;br /&gt;
The derived class may also optionally provide versions of these additional methods&lt;br /&gt;
&lt;br /&gt;
 virtual void Cleanup() {Flush();}&lt;br /&gt;
 virtual void Event(bz_EventData* /*eventData*/) { return; }&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cleanup&#039;&#039;&#039; is called when a plug-in is unloaded and replaces the [bz_Unload]] function in previous versions. By default Cleanup will automatically remove any events that the plug-in has registered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Event&#039;&#039;&#039; is called whenever BZFS executes an event that the plug-in has requested to be informed of. This function replaces the [[bz_EventHandler]] class in older versions.&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
Every plug-in now has a single callback method for all events that it registers. The functions [[bz_registerEvent]] and [[bz_removeEvent]] have been removed from the API. In there place the [[bz_Plugin]] class now implements it&#039;s own &#039;&#039;&#039;Register&#039;&#039;&#039; and &#039;&#039;&#039;Remove&#039;&#039;&#039; methods. &lt;br /&gt;
&lt;br /&gt;
These methods only take an event type and do not need a separate handler class, they will always use the &#039;&#039;&#039;Event&#039;&#039;&#039; method of the calling class.&lt;br /&gt;
&lt;br /&gt;
A new method, &#039;&#039;&#039;Flush&#039;&#039;&#039; is provided to remove all events that the plug-in has registered. This method is automatically called by the default &#039;&#039;&#039;Cleanup&#039;&#039;&#039; method.&lt;br /&gt;
&lt;br /&gt;
===Event Data Classes===&lt;br /&gt;
In addtion to the new Event handler system, all the event data classes have been changed. Each event data class is now versioned with a number in the class name, such as [[bz_PlayerSpawnEventData_V1]]. These event classes will never change and new versions will be derived from them with a higher version number. This allows a plug-in to always get the data it knows about, even as the BZAPI is enhanced to include more data for each event.&lt;br /&gt;
&lt;br /&gt;
The base class for the Event Data Classes has also changed. [[bz_EventData]] now includes a timestamp for when the event was triggered in the &#039;&#039;eventTime&#039;&#039; data member.&lt;br /&gt;
&lt;br /&gt;
====Class Changes====&lt;br /&gt;
Many of the events that returned some player data now simply return a [[bz_BasePlayerRecord]]. This player record will be automaticly freed when the event finishes and the plug-in does not have to call[[ bz_freePlayerRecord]] on the pointer.&lt;br /&gt;
&lt;br /&gt;
The events affected are&lt;br /&gt;
* [[bz_ePlayerJoinEvent]]&lt;br /&gt;
* [[bz_ePlayerPartEvent]]&lt;br /&gt;
&lt;br /&gt;
==Callbacks==&lt;br /&gt;
In order to reduce the number of callback classes that had name conflicts, call callback classes that used the &#039;&#039;&#039;handle&#039;&#039;&#039; method have had there methods renamed to be descriptive of the callback type. This is in order to make the use of multiple inheritance for callbacks simpler.&lt;br /&gt;
&lt;br /&gt;
==Idle Time==&lt;br /&gt;
The function [[bz_setMaxWaitTime]] has been removed from the API. [[bz_Plugin]] contains a MaxWaitTime data member that can be set by each plug-in individually. BZFS will use the smallest time required by any plug-in. Setting the value to a negative number will indicate that the plug-in has no specific idle time needs.&lt;br /&gt;
&lt;br /&gt;
==Inter Plug-in Communication==&lt;br /&gt;
[[bz_pluginExists]] and [[bz_getPlugin]] are provided to allow plug-ins to transfer data between themselves. the [[bz_Plugin]] class contains the [[GeneralCallback]] that can be used to call functions from one plug-in to the other.&lt;br /&gt;
&lt;br /&gt;
==Upgrade==&lt;br /&gt;
Developers should take the following general steps to upgrade a plug-in from 2.0.x to 2.3/2.4; Individual results may vary depending on how different the plug-in is from the sample template.&lt;br /&gt;
&lt;br /&gt;
* Open the &#039;&#039;&#039;.def&#039;&#039; file for the plug-in and replace the exported functions with the following&lt;br /&gt;
 bz_GetPlugin&lt;br /&gt;
 bz_FreePlugin&lt;br /&gt;
 bz_GetMinVersion&lt;br /&gt;
&lt;br /&gt;
* Open the main file for the plug-in and remove the call to &#039;&#039;&#039;BZ_GET_PLUGIN_VERSION&#039;&#039;&#039;&lt;br /&gt;
* Find the main event handler class and derive it from &#039;&#039;&#039;bz_Plugin&#039;&#039;&#039; instead of &#039;&#039;&#039;bz_EventHandler&#039;&#039;&#039;. If there is more then one event handler class, pick one to be the main class and delete the other classes.&lt;br /&gt;
* Change the &#039;&#039;&#039;process&#039;&#039;&#039; method in your event handler to &#039;&#039;&#039;Event&#039;&#039;&#039;, the calling parameters are identical.&lt;br /&gt;
* Add the following methods to your plug-in class&lt;br /&gt;
  virtual const char* Name (){return &amp;quot;NAME&amp;quot;;}&lt;br /&gt;
  virtual void Init ( const char* config);&lt;br /&gt;
* Replace the word &#039;&#039;&#039;NAME&#039;&#039;&#039; with the human readable name for your plug-in. This name will appear when a user types &#039;&#039;&#039;/listplugins&#039;&#039;&#039; while in the game.&lt;br /&gt;
* Remove any global instances of your Plug-in object and replace it with a call to the &#039;&#039;&#039;BZ_PLUGIN(n)&#039;&#039;&#039; macro. There is no need to instantiate the object, the macro will do it for you.&lt;br /&gt;
* Change the &#039;&#039;&#039;handle&#039;&#039;&#039; method in any bz_CustomSlashCommandHandler to &#039;&#039;&#039;SlashCommand&#039;&#039;&#039;&lt;br /&gt;
* Change the &#039;&#039;&#039;handle&#039;&#039;&#039; method in any bz_CustomMapObjectInfo to &#039;&#039;&#039;MapObject&#039;&#039;&#039;&lt;br /&gt;
* Find the bz_Load callback and replace it with the &#039;&#039;&#039;Init&#039;&#039;&#039; method from the plug-in class.&lt;br /&gt;
* Replace calls to &#039;&#039;&#039;bz_registerEventHandler&#039;&#039;&#039; with calls to &#039;&#039;&#039;Register&#039;&#039;&#039;, and remove the second parameter.&lt;br /&gt;
* If the plug-in used custom slash commands or custom map objects that need to be cleaned up then implement the &#039;&#039;&#039;Cleanup&#039;&#039;&#039; method for the plug-in class and replace the bz_Unload Callback with it. Calls to &#039;&#039;&#039;bz_removeEventHandler&#039;&#039;&#039; can be removed, and the method Flush can be called once for all events. If the plug-in only registers events then the bz_Unload callback can be removed.&lt;br /&gt;
* Replace the following.&lt;br /&gt;
 # &#039;&#039;&#039;bzApiString&#039;&#039;&#039; with &#039;&#039;&#039;bz_ApiString&#039;&#039;&#039;&lt;br /&gt;
 # &#039;&#039;&#039;bzAPIIntList&#039;&#039;&#039; with &#039;&#039;&#039;bz_APIIntList&#039;&#039;&#039; &lt;br /&gt;
 # &#039;&#039;&#039;bzAPIFloatList&#039;&#039;&#039; with &#039;&#039;&#039;bz_APIFloatList&#039;&#039;&#039; &lt;br /&gt;
 # &#039;&#039;&#039;bzAPIStringList&#039;&#039;&#039; with &#039;&#039;&#039;bz_APIStringList&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Add &#039;&#039;&#039;_V1&#039;&#039;&#039; to all event data classes, and adjust calls to members as needed, time to eventTime, etc...&lt;br /&gt;
* If you had multiple event handler classes, have your main plug-in&#039;s &#039;&#039;&#039;Event&#039;&#039;&#039; method check the event type and call the required code.&lt;br /&gt;
* Compile the plug-in and see what has been missed.&lt;br /&gt;
&lt;br /&gt;
==Assistance==&lt;br /&gt;
&lt;br /&gt;
If you require help with the upgrade please feel free to join the BZFlag developers on the development [[IRC]] channel. JeffM and Thumper will be more then willing to assist you in the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Samples==&lt;br /&gt;
All of the plug-ins in the source code distribution have been updated to the new format and can be used as examples.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Plug-Ins]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7752</id>
		<title>BZFS 2.4 Upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7752"/>
		<updated>2011-06-16T00:00:46Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Add details of r21903 for group changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stub for BZFS 2.0.x to 2.4 server upgrade path&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
For version 2.4 there are new requirements for your server to be listed on the&lt;br /&gt;
BZFlag hosted server list.&lt;br /&gt;
&lt;br /&gt;
This page documents user visible changes to the BZFlag server for the 2.4 release of [[BZFlag]].&lt;br /&gt;
&lt;br /&gt;
=== Short Version for the impatient ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-public&#039;&#039;&#039; changed to &#039;&#039;&#039;-publictitle&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;-publickey&#039;&#039;&#039; specifies your server key for including your server on the server list&lt;br /&gt;
* &#039;&#039;&#039;-utc&#039;&#039;&#039; logs server timestamps in UTC instead of localtime&lt;br /&gt;
* &#039;&#039;&#039;-passdb&#039;&#039;&#039; removed&lt;br /&gt;
* &#039;&#039;&#039;-requireudp&#039;&#039;&#039; removed&lt;br /&gt;
* &#039;&#039;&#039;-offa&#039;&#039;&#039; selects teamless free-for-all game style&lt;br /&gt;
* &#039;&#039;&#039;-time&#039;&#039;&#039; can specify end time for timed games&lt;br /&gt;
* Groups can now be referenced in the groupdb before they are defined&lt;br /&gt;
&lt;br /&gt;
==Getting your server listed on the server list==&lt;br /&gt;
&lt;br /&gt;
===Generating and managing server keys===&lt;br /&gt;
You need to generate a public server key for your BZFlag server which matches your &lt;br /&gt;
server host.  If you have multiple server hosts you need a separate key per host.&lt;br /&gt;
You can generate and manage your server keys at http://my.bzflag.org/listkeys/&lt;br /&gt;
&lt;br /&gt;
===Starting your BZFlag server using your server key===&lt;br /&gt;
After generating a server key you need to provide the key to your bzfs server so it can&lt;br /&gt;
authenticate with the list server.  Only servers with valid public keys will be shown&lt;br /&gt;
on the BZFlag list server.&lt;br /&gt;
&lt;br /&gt;
Keys are shown at http://my.bzflag.org/listkeys like this:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ KEYS listed from http://my.bzflag.org/listkeys&lt;br /&gt;
|-&lt;br /&gt;
!Host&lt;br /&gt;
!Key&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
| my.bzflag.server.host&lt;br /&gt;
| 1234567890123456789&lt;br /&gt;
| [Delete]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You need to provide the key value to the bzfs server option &#039;&#039;&#039;&#039;&#039;-publickey&#039;&#039;&#039;&#039;&#039; like this&lt;br /&gt;
&lt;br /&gt;
 $ bzfs -public &amp;quot;Map name goes here&amp;quot; -publickey 1234567890123456789 &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;-publicaddr&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;-p&#039;&#039;&#039;&#039;&#039; parameters have not changed from 2.0.x and are used to &lt;br /&gt;
provide the hosting server address and port respectively.&lt;br /&gt;
&lt;br /&gt;
More information about the public key option can be found at &lt;br /&gt;
[[ServerAuthentication]]&lt;br /&gt;
&lt;br /&gt;
==Upgrading third party plugins==&lt;br /&gt;
&lt;br /&gt;
The API for plugins has changed in the 2.4 release.  See&lt;br /&gt;
[[BZFS_API_2.4_Upgrade]] for details on upgrading your server plugins.&lt;br /&gt;
&lt;br /&gt;
==BZFlag server commandline option changes==&lt;br /&gt;
&lt;br /&gt;
=== Removed options ===&lt;br /&gt;
* Local password databases are no longer supported for authentication&lt;br /&gt;
** &#039;&#039;&#039;-passdb&#039;&#039;&#039; has been removed as a command line option&lt;br /&gt;
* UDP is on by default&lt;br /&gt;
** &#039;&#039;&#039;-requireudp&#039;&#039;&#039; has been removed as a command line option&lt;br /&gt;
&lt;br /&gt;
=== Changed options ===&lt;br /&gt;
* The option for specifying the map name on the server list has changed&lt;br /&gt;
** &#039;&#039;&#039;-public&#039;&#039;&#039; changed to &#039;&#039;&#039;-publictitle&#039;&#039;&#039;&lt;br /&gt;
* Timed games can now specify the end time in either seconds or end time&lt;br /&gt;
** &#039;&#039;&#039;-time&#039;&#039;&#039; now takes either the number of seconds or an end time as an option (format hh:mm or hh:mm:ss)&lt;br /&gt;
&lt;br /&gt;
=== New options ===&lt;br /&gt;
* New game mode for teamless free-for-all&lt;br /&gt;
** &#039;&#039;&#039;-offa&#039;&#039;&#039; added as an option to select this mode&lt;br /&gt;
* bzfs server timestamps can now be output in UTC instead of the local time&lt;br /&gt;
** Specifying &#039;&#039;&#039;-utc&#039;&#039;&#039; outputs all times in UTC and implies &#039;&#039;&#039;-ts&#039;&#039;&#039;&lt;br /&gt;
* Public keys are required to have your server included on the BZFlag server list&lt;br /&gt;
** &#039;&#039;&#039;-publickey&#039;&#039;&#039; is used to specify your key. See [[BZFS_2.4_Upgrade#Getting your server listed on the server list|Getting your server listed on the server list]] for details&lt;br /&gt;
&lt;br /&gt;
==Server Groups==&lt;br /&gt;
With this release BZFlag groups defined in the &#039;&#039;groupdb&#039;&#039; can now be referenced before they are defined.&lt;br /&gt;
&lt;br /&gt;
Permissions provided by existing server groups will work with no modifications as long as no forward references to &lt;br /&gt;
groups exist in your &#039;&#039;groupdb&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
If your group files reference other groups that were not yet defined the permissions provided by&lt;br /&gt;
those forward-referenced groups will now be granted to your group members.&lt;br /&gt;
&lt;br /&gt;
We recommend that you review your server &#039;&#039;groupdb&#039;&#039; settings.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7751</id>
		<title>BZFS 2.4 Upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7751"/>
		<updated>2011-06-15T23:48:53Z</updated>

		<summary type="html">&lt;p&gt;Thumper: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stub for BZFS 2.0.x to 2.4 server upgrade path&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
&lt;br /&gt;
* document r21903&lt;br /&gt;
** should not change for well defined groups&lt;br /&gt;
** may change behaviour if the group definitions were wrong&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
For version 2.4 there are new requirements for your server to be listed on the&lt;br /&gt;
BZFlag hosted server list.&lt;br /&gt;
&lt;br /&gt;
This page documents user visible changes to the BZFlag server for the 2.4 release of [[BZFlag]].&lt;br /&gt;
&lt;br /&gt;
=== Short Version for the impatient ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-public&#039;&#039;&#039; changed to &#039;&#039;&#039;-publictitle&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;-publickey&#039;&#039;&#039; specifies your server key for including your server on the server list&lt;br /&gt;
* &#039;&#039;&#039;-utc&#039;&#039;&#039; logs server timestamps in UTC instead of localtime&lt;br /&gt;
* &#039;&#039;&#039;-passdb&#039;&#039;&#039; removed&lt;br /&gt;
* &#039;&#039;&#039;-requireudp&#039;&#039;&#039; removed&lt;br /&gt;
* &#039;&#039;&#039;-offa&#039;&#039;&#039; selects teamless free-for-all game style&lt;br /&gt;
* &#039;&#039;&#039;-time&#039;&#039;&#039; can specify end time for timed games&lt;br /&gt;
&lt;br /&gt;
==Getting your server listed on the server list==&lt;br /&gt;
&lt;br /&gt;
===Generating and managing server keys===&lt;br /&gt;
You need to generate a public server key for your BZFlag server which matches your &lt;br /&gt;
server host.  If you have multiple server hosts you need a separate key per host.&lt;br /&gt;
You can generate and manage your server keys at http://my.bzflag.org/listkeys/&lt;br /&gt;
&lt;br /&gt;
===Starting your BZFlag server using your server key===&lt;br /&gt;
After generating a server key you need to provide the key to your bzfs server so it can&lt;br /&gt;
authenticate with the list server.  Only servers with valid public keys will be shown&lt;br /&gt;
on the BZFlag list server.&lt;br /&gt;
&lt;br /&gt;
Keys are shown at http://my.bzflag.org/listkeys like this:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ KEYS listed from http://my.bzflag.org/listkeys&lt;br /&gt;
|-&lt;br /&gt;
!Host&lt;br /&gt;
!Key&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
| my.bzflag.server.host&lt;br /&gt;
| 1234567890123456789&lt;br /&gt;
| [Delete]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You need to provide the key value to the bzfs server option &#039;&#039;&#039;&#039;&#039;-publickey&#039;&#039;&#039;&#039;&#039; like this&lt;br /&gt;
&lt;br /&gt;
 $ bzfs -public &amp;quot;Map name goes here&amp;quot; -publickey 1234567890123456789 &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;-publicaddr&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;-p&#039;&#039;&#039;&#039;&#039; parameters have not changed from 2.0.x and are used to &lt;br /&gt;
provide the hosting server address and port respectively.&lt;br /&gt;
&lt;br /&gt;
More information about the public key option can be found at &lt;br /&gt;
[[ServerAuthentication]]&lt;br /&gt;
&lt;br /&gt;
==Upgrading third party plugins==&lt;br /&gt;
&lt;br /&gt;
The API for plugins has changed in the 2.4 release.  See&lt;br /&gt;
[[BZFS_API_2.4_Upgrade]] for details on upgrading your server plugins.&lt;br /&gt;
&lt;br /&gt;
==BZFlag server commandline option changes==&lt;br /&gt;
&lt;br /&gt;
=== Removed options ===&lt;br /&gt;
* Local password databases are no longer supported for authentication&lt;br /&gt;
** &#039;&#039;&#039;-passdb&#039;&#039;&#039; has been removed as a command line option&lt;br /&gt;
* UDP is on by default&lt;br /&gt;
** &#039;&#039;&#039;-requireudp&#039;&#039;&#039; has been removed as a command line option&lt;br /&gt;
&lt;br /&gt;
=== Changed options ===&lt;br /&gt;
* The option for specifying the map name on the server list has changed&lt;br /&gt;
** &#039;&#039;&#039;-public&#039;&#039;&#039; changed to &#039;&#039;&#039;-publictitle&#039;&#039;&#039;&lt;br /&gt;
* Timed games can now specify the end time in either seconds or end time&lt;br /&gt;
** &#039;&#039;&#039;-time&#039;&#039;&#039; now takes either the number of seconds or an end time as an option (format hh:mm or hh:mm:ss)&lt;br /&gt;
&lt;br /&gt;
=== New options ===&lt;br /&gt;
* New game mode for teamless free-for-all&lt;br /&gt;
** &#039;&#039;&#039;-offa&#039;&#039;&#039; added as an option to select this mode&lt;br /&gt;
* bzfs server timestamps can now be output in UTC instead of the local time&lt;br /&gt;
** Specifying &#039;&#039;&#039;-utc&#039;&#039;&#039; outputs all times in UTC and implies &#039;&#039;&#039;-ts&#039;&#039;&#039;&lt;br /&gt;
* Public keys are required to have your server included on the BZFlag server list&lt;br /&gt;
** &#039;&#039;&#039;-publickey&#039;&#039;&#039; is used to specify your key. See [[BZFS_2.4_Upgrade#Getting your server listed on the server list|Getting your server listed on the server list]] for details&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7750</id>
		<title>BZFS 2.4 Upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7750"/>
		<updated>2011-06-15T23:46:20Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Add details about -publictitle and reformat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stub for BZFS 2.0.x to 2.4 server upgrade path&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
&lt;br /&gt;
* document r21903&lt;br /&gt;
** should not change for well defined groups&lt;br /&gt;
** may change behaviour if the group definitions were wrong&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
For version 2.4 there are new requirements for your server to be listed on the&lt;br /&gt;
BZFlag hosted server list.&lt;br /&gt;
&lt;br /&gt;
This page documents user visible changes to the BZFlag server for the 2.4 release of [[BZFlag]].&lt;br /&gt;
&lt;br /&gt;
=== Short Version for the impatient ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;-public&#039;&#039;&#039; changed to &#039;&#039;&#039;-publictitle&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;-publickey&#039;&#039;&#039; specifies your server key for including your server on the server list&lt;br /&gt;
* &#039;&#039;&#039;-utc&#039;&#039;&#039; logs server timestamps in UTC instead of localtime&lt;br /&gt;
* &#039;&#039;&#039;-passdb&#039;&#039;&#039; removed&lt;br /&gt;
* &#039;&#039;&#039;-requireudp&#039;&#039;&#039; removed&lt;br /&gt;
* &#039;&#039;&#039;-offa&#039;&#039;&#039; selects teamless free-for-all game style&lt;br /&gt;
* &#039;&#039;&#039;-time&#039;&#039;&#039; can specify end time for timed games&lt;br /&gt;
&lt;br /&gt;
==Getting your server listed on the server list==&lt;br /&gt;
&lt;br /&gt;
===Generating and managing server keys===&lt;br /&gt;
You need to generate a public server key for your BZFlag server which matches your &lt;br /&gt;
server host.  If you have multiple server hosts you need a separate key per host.&lt;br /&gt;
You can generate and manage your server keys at http://my.bzflag.org/listkeys/&lt;br /&gt;
&lt;br /&gt;
===Starting your BZFlag server using your server key===&lt;br /&gt;
After generating a server key you need to provide the key to your bzfs server so it can&lt;br /&gt;
authenticate with the list server.  Only servers with valid public keys will be shown&lt;br /&gt;
on the BZFlag list server.&lt;br /&gt;
&lt;br /&gt;
Keys are shown at http://my.bzflag.org/listkeys like this:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ KEYS listed from http://my.bzflag.org/listkeys&lt;br /&gt;
|-&lt;br /&gt;
!Host&lt;br /&gt;
!Key&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
| my.bzflag.server.host&lt;br /&gt;
| 1234567890123456789&lt;br /&gt;
| [Delete]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You need to provide the key value to the bzfs server option &#039;&#039;&#039;&#039;&#039;-publickey&#039;&#039;&#039;&#039;&#039; like this&lt;br /&gt;
&lt;br /&gt;
 $ bzfs -public &amp;quot;Map name goes here&amp;quot; -publickey 1234567890123456789 &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;-publicaddr&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;-p&#039;&#039;&#039;&#039;&#039; parameters have not changed from 2.0.x and are used to &lt;br /&gt;
provide the hosting server address and port respectively.&lt;br /&gt;
&lt;br /&gt;
More information about the public key option can be found at &lt;br /&gt;
[[ServerAuthentication]]&lt;br /&gt;
&lt;br /&gt;
==Upgrading third party plugins==&lt;br /&gt;
&lt;br /&gt;
The API for plugins has changed in the 2.4 release.  See&lt;br /&gt;
[[BZFS_API_2.4_Upgrade]] for details on upgrading your server plugins.&lt;br /&gt;
&lt;br /&gt;
==BZFlag server commandline option changes==&lt;br /&gt;
&lt;br /&gt;
=== Options no longer supported ===&lt;br /&gt;
* Local password databases are no longer supported for authentication&lt;br /&gt;
** &#039;&#039;&#039;-passdb&#039;&#039;&#039; has been removed as a command line option&lt;br /&gt;
* UDP is on by default&lt;br /&gt;
** &#039;&#039;&#039;-requireudp&#039;&#039;&#039; has been removed as a command line option&lt;br /&gt;
&lt;br /&gt;
=== Command line options changes ===&lt;br /&gt;
* The option for specifying the map name on the server list has changed&lt;br /&gt;
** &#039;&#039;&#039;-public&#039;&#039;&#039; changed to &#039;&#039;&#039;-publictitle&#039;&#039;&#039;&lt;br /&gt;
* Timed games can now specify the end time in either seconds or end time&lt;br /&gt;
** &#039;&#039;&#039;-time&#039;&#039;&#039; now takes either the number of seconds or an end time as an option (format hh:mm or hh:mm:ss)&lt;br /&gt;
&lt;br /&gt;
=== New commandline options ===&lt;br /&gt;
* New game mode for teamless free-for-all&lt;br /&gt;
** &#039;&#039;&#039;-offa&#039;&#039;&#039; added as an option to select this mode&lt;br /&gt;
* bzfs server timestamps can now be output in UTC instead of the local time&lt;br /&gt;
** Specifying &#039;&#039;&#039;-utc&#039;&#039;&#039; outputs all times in UTC and implies &#039;&#039;&#039;-ts&#039;&#039;&#039;&lt;br /&gt;
* Public keys are required to have your server included on the BZFlag server list&lt;br /&gt;
** &#039;&#039;&#039;-publickey&#039;&#039;&#039; is used to specify your key. See [[BZFS_2.4_Upgrade#Getting your server listed on the server list|Getting your server listed on the server list]] for details&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7747</id>
		<title>BZFS 2.4 Upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7747"/>
		<updated>2011-06-15T16:27:28Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Demote the heading levels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stub for BZFS 2.0.x to 2.4 server upgrade path&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
&lt;br /&gt;
* document r21903&lt;br /&gt;
** should not change for well defined groups&lt;br /&gt;
** may change behaviour if the group definitions were wrong&lt;br /&gt;
* -public is now -publictitle&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
For version 2.4 there are new requirements for your server to be listed on the&lt;br /&gt;
BZFlag hosted server list.&lt;br /&gt;
&lt;br /&gt;
This page documents user visible changes to the BZFlag server for the 2.4 release of [[BZFlag]].&lt;br /&gt;
&lt;br /&gt;
==Getting your server listed on the server list==&lt;br /&gt;
&lt;br /&gt;
===Generating and managing server keys===&lt;br /&gt;
You need to generate a public server key for your BZFlag server which matches your &lt;br /&gt;
server host.  If you have multiple server hosts you need a separate key per host.&lt;br /&gt;
You can generate and manage your server keys at http://my.bzflag.org/listkeys/&lt;br /&gt;
&lt;br /&gt;
===Starting your BZFlag server using your server key===&lt;br /&gt;
After generating a server key you need to provide the key to your bzfs server so it can&lt;br /&gt;
authenticate with the list server.  Only servers with valid public keys will be shown&lt;br /&gt;
on the BZFlag list server.&lt;br /&gt;
&lt;br /&gt;
Keys are shown at http://my.bzflag.org/listkeys like this:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ KEYS listed from http://my.bzflag.org/listkeys&lt;br /&gt;
|-&lt;br /&gt;
!Host&lt;br /&gt;
!Key&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
| my.bzflag.server.host&lt;br /&gt;
| 1234567890123456789&lt;br /&gt;
| [Delete]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You need to provide the key value to the bzfs server option &#039;&#039;&#039;&#039;&#039;-publickey&#039;&#039;&#039;&#039;&#039; like this&lt;br /&gt;
&lt;br /&gt;
 $ bzfs -public &amp;quot;Map name goes here&amp;quot; -publickey 1234567890123456789 &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;-publicaddr&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;-p&#039;&#039;&#039;&#039;&#039; parameters have not changed from 2.0.x and are used to &lt;br /&gt;
provide the hosting server address and port respectively.&lt;br /&gt;
&lt;br /&gt;
More information about the public key option can be found at &lt;br /&gt;
[[ServerAuthentication]]&lt;br /&gt;
&lt;br /&gt;
==Upgrading third party plugins==&lt;br /&gt;
&lt;br /&gt;
The API for plugins has changed in the 2.4 release.  See&lt;br /&gt;
[[BZFS_API_2.4_Upgrade]] for details on upgrading your server plugins.&lt;br /&gt;
&lt;br /&gt;
==BZFlag server commandline option changes==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! bzfs Commandline Switch&lt;br /&gt;
! Notes                     &lt;br /&gt;
|-&lt;br /&gt;
| -offa&lt;br /&gt;
| New, teamless free-for-all game mode                  &lt;br /&gt;
|-&lt;br /&gt;
| -passdb&lt;br /&gt;
| Removed                                               &lt;br /&gt;
|-&lt;br /&gt;
| -requireudp&lt;br /&gt;
| Removed                                               &lt;br /&gt;
|-&lt;br /&gt;
| -time                   &lt;br /&gt;
| Modified, Specify end time in seconds or ending time (hh:mm:ss)&lt;br /&gt;
|-&lt;br /&gt;
| -utc                    &lt;br /&gt;
| New, Make server time stamps in UTC instead of local time&lt;br /&gt;
|-&lt;br /&gt;
| -publickey &amp;lt;key&amp;gt;        &lt;br /&gt;
| New, Required for including your server on the server list&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7746</id>
		<title>BZFS 2.4 Upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7746"/>
		<updated>2011-06-15T16:23:41Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Move the TODO items up front so they are more visible&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stub for BZFS 2.0.x to 2.4 server upgrade path&lt;br /&gt;
&lt;br /&gt;
= TODO =&lt;br /&gt;
&lt;br /&gt;
* document r21903&lt;br /&gt;
** should not change for well defined groups&lt;br /&gt;
** may change behaviour if the group definitions were wrong&lt;br /&gt;
* -public is now -publictitle&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
&lt;br /&gt;
For version 2.4 there are new requirements for your server to be listed on the&lt;br /&gt;
BZFlag hosted server list.&lt;br /&gt;
&lt;br /&gt;
This page documents user visible changes to the BZFlag server for the 2.4 release of [[BZFlag]].&lt;br /&gt;
&lt;br /&gt;
= Getting your server listed on the server list =&lt;br /&gt;
&lt;br /&gt;
== Generating and managing server keys ==&lt;br /&gt;
You need to generate a public server key for your BZFlag server which matches your &lt;br /&gt;
server host.  If you have multiple server hosts you need a separate key per host.&lt;br /&gt;
You can generate and manage your server keys at http://my.bzflag.org/listkeys/&lt;br /&gt;
&lt;br /&gt;
== Starting your BZFlag server using your server key ==&lt;br /&gt;
After generating a server key you need to provide the key to your bzfs server so it can&lt;br /&gt;
authenticate with the list server.  Only servers with valid public keys will be shown&lt;br /&gt;
on the BZFlag list server.&lt;br /&gt;
&lt;br /&gt;
Keys are shown at http://my.bzflag.org/listkeys like this:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ KEYS listed from http://my.bzflag.org/listkeys&lt;br /&gt;
|-&lt;br /&gt;
!Host&lt;br /&gt;
!Key&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
| my.bzflag.server.host&lt;br /&gt;
| 1234567890123456789&lt;br /&gt;
| [Delete]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You need to provide the key value to the bzfs server option &#039;&#039;&#039;&#039;&#039;-publickey&#039;&#039;&#039;&#039;&#039; like this&lt;br /&gt;
&lt;br /&gt;
 $ bzfs -public &amp;quot;Map name goes here&amp;quot; -publickey 1234567890123456789 &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;-publicaddr&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;-p&#039;&#039;&#039;&#039;&#039; parameters have not changed from 2.0.x and are used to &lt;br /&gt;
provide the hosting server address and port respectively.&lt;br /&gt;
&lt;br /&gt;
More information about the public key option can be found at &lt;br /&gt;
[[ServerAuthentication]]&lt;br /&gt;
&lt;br /&gt;
= Upgrading third party plugins =&lt;br /&gt;
&lt;br /&gt;
The API for plugins has changed in the 2.4 release.  See&lt;br /&gt;
[[BZFS_API_2.4_Upgrade]] for details on upgrading your server plugins.&lt;br /&gt;
&lt;br /&gt;
= BZFlag server commandline option changes =&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! bzfs Commandline Switch&lt;br /&gt;
! Notes                     &lt;br /&gt;
|-&lt;br /&gt;
| -offa&lt;br /&gt;
| New, teamless free-for-all game mode                  &lt;br /&gt;
|-&lt;br /&gt;
| -passdb&lt;br /&gt;
| Removed                                               &lt;br /&gt;
|-&lt;br /&gt;
| -requireudp&lt;br /&gt;
| Removed                                               &lt;br /&gt;
|-&lt;br /&gt;
| -time                   &lt;br /&gt;
| Modified, Specify end time in seconds or ending time (hh:mm:ss)&lt;br /&gt;
|-&lt;br /&gt;
| -utc                    &lt;br /&gt;
| New, Make server time stamps in UTC instead of local time&lt;br /&gt;
|-&lt;br /&gt;
| -publickey &amp;lt;key&amp;gt;        &lt;br /&gt;
| New, Required for including your server on the server list&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7742</id>
		<title>BZFS 2.4 Upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7742"/>
		<updated>2011-06-15T15:22:58Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Reference the ServerAuthentication page for more details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stub for BZFS 2.0.x to 2.4 server upgrade path&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
For version 2.4 there are new requirements for your server to be listed on the&lt;br /&gt;
BZFlag hosted server list.&lt;br /&gt;
&lt;br /&gt;
This page documents user visible changes to the BZFlag server for the 2.4 release of [[BZFlag]].&lt;br /&gt;
&lt;br /&gt;
== Getting your server listed on the server list ==&lt;br /&gt;
&lt;br /&gt;
=== Generating and managing server keys ===&lt;br /&gt;
You need to generate a public server key for your BZFlag server which matches your &lt;br /&gt;
server host.  If you have multiple server hosts you need a separate key per host.&lt;br /&gt;
You can generate and manage your server keys at http://my.bzflag.org/listkeys/&lt;br /&gt;
&lt;br /&gt;
=== Starting your BZFlag server using your server key ===&lt;br /&gt;
After generating a server key you need to provide the key to your bzfs server so it can&lt;br /&gt;
authenticate with the list server.  Only servers with valid public keys will be shown&lt;br /&gt;
on the BZFlag list server.&lt;br /&gt;
&lt;br /&gt;
Keys are shown at http://my.bzflag.org/listkeys like this:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ KEYS listed from http://my.bzflag.org/listkeys&lt;br /&gt;
|-&lt;br /&gt;
!Host&lt;br /&gt;
!Key&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
| my.bzflag.server.host&lt;br /&gt;
| 1234567890123456789&lt;br /&gt;
| [Delete]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You need to provide the key value to the bzfs server option &#039;&#039;&#039;&#039;&#039;-publickey&#039;&#039;&#039;&#039;&#039; like this&lt;br /&gt;
&lt;br /&gt;
 $ bzfs -public &amp;quot;Map name goes here&amp;quot; -publickey 1234567890123456789 &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;-publicaddr&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;-p&#039;&#039;&#039;&#039;&#039; parameters have not changed from 2.0.x and are used to &lt;br /&gt;
provide the hosting server address and port respectively.&lt;br /&gt;
&lt;br /&gt;
More information about the public key option can be found at &lt;br /&gt;
[[ServerAuthentication]]&lt;br /&gt;
&lt;br /&gt;
== Upgrading third party plugins ==&lt;br /&gt;
&lt;br /&gt;
The API for plugins has changed in the 2.4 release.  See&lt;br /&gt;
[[BZFS_API_2.4_Upgrade]] for details on upgrading your server plugins.&lt;br /&gt;
&lt;br /&gt;
== BZFlag server commandline option changes ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! bzfs Commandline Switch&lt;br /&gt;
! Notes                     &lt;br /&gt;
|-&lt;br /&gt;
| -offa&lt;br /&gt;
| New, teamless free-for-all game mode                  &lt;br /&gt;
|-&lt;br /&gt;
| -passdb&lt;br /&gt;
| Removed                                               &lt;br /&gt;
|-&lt;br /&gt;
| -requireudp&lt;br /&gt;
| Removed                                               &lt;br /&gt;
|-&lt;br /&gt;
| -time                   &lt;br /&gt;
| Modified, Specify end time in seconds or ending time (hh:mm:ss)&lt;br /&gt;
|-&lt;br /&gt;
| -utc                    &lt;br /&gt;
| New, Make server time stamps in UTC instead of local time&lt;br /&gt;
|-&lt;br /&gt;
| -publickey &amp;lt;key&amp;gt;        &lt;br /&gt;
| New, Required for including your server on the server list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
* document r21903&lt;br /&gt;
** should not change for well defined groups&lt;br /&gt;
** may change behaviour if the group definitions were wrong&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Server_authentication&amp;diff=7741</id>
		<title>Server authentication</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Server_authentication&amp;diff=7741"/>
		<updated>2011-06-15T15:20:29Z</updated>

		<summary type="html">&lt;p&gt;Thumper: -publickey starts in version 2.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
Version 2.4 and later of the BZFlag server ([[BZFS]]) require an authentication key in order to list on the global public list server.&lt;br /&gt;
&lt;br /&gt;
==Authentication==&lt;br /&gt;
Authentication is required in order to provide players and project staff members a point of contact for any issues or problems that may arise with the server when it is being run publicly. &lt;br /&gt;
&lt;br /&gt;
Any server that uses the -public option and contacts the project&#039;s public list server (http://my.bzflag.org/db/) will be required to provide an authentication key in order to show up on the list.&lt;br /&gt;
&lt;br /&gt;
===The Key===&lt;br /&gt;
The authentication key is automatically generated by the Key management site, and is tied to a specific domain name, or IP address. Server owners simply have to log into the Key Manager and they can generate as many keys as they need. The key is effectively tied to a single server machine, but can be used with any number of BZFS instances on any number of ports.&lt;br /&gt;
&lt;br /&gt;
Servers that do not have static IPs or domain names, should look at using one of the many free DNS name services that are available such as http://www.no-ip.com. Dynamic IPs will need new keys every time the address changes if a domain name is not used.&lt;br /&gt;
&lt;br /&gt;
The key is numeric and will be completely unique. Keys are not valid for domain names or IP address that they were not created with.&lt;br /&gt;
&lt;br /&gt;
===Key Management===&lt;br /&gt;
Key Management is handled by the website: http://my.bzflag.org/listkeys/. After logging in with a global username and password (forum login) server owners can enter as many domain names or IP addresses as they wish.  Provide the key to bzfs using the &amp;quot;-publickey &amp;lt;key&amp;gt;&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&#039;&#039;&#039;Q)&#039;&#039;&#039; What happens if my key gets out?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A)&#039;&#039;&#039; Not much, the key is only valid for your server machine, so unless the user also has access to the same computer they can not use it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q)&#039;&#039;&#039; What if I run BZFS instances for other people?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A)&#039;&#039;&#039; Then you have 2 choices. &lt;br /&gt;
   1) You can give out your key to your people and they can use it. This will make all servers show up as belonging to you.&lt;br /&gt;
   2) You can tell your users to generate there own keys using the server address or domain name. Then each BZFS instance will be owned by each person.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q)&#039;&#039;&#039; Does 2.0.x need a key?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A)&#039;&#039;&#039; No, 2.0.x servers do not need a key.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7731</id>
		<title>BZFS 2.4 Upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7731"/>
		<updated>2011-06-15T00:17:37Z</updated>

		<summary type="html">&lt;p&gt;Thumper: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stub for BZFS 2.0.x to 2.4 server upgrade path&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
For version 2.4 there are new requirements for your server to be listed on the&lt;br /&gt;
BZFlag hosted server list.&lt;br /&gt;
&lt;br /&gt;
This page documents user visible changes to the BZFlag server for the 2.4 release of [[BZFlag]].&lt;br /&gt;
&lt;br /&gt;
== Getting your server listed on the server list ==&lt;br /&gt;
&lt;br /&gt;
=== Generating and managing server keys ===&lt;br /&gt;
You need to generate a public server key for your BZFlag server which matches your &lt;br /&gt;
server host.  If you have multiple server hosts you need a separate key per host.&lt;br /&gt;
You can generate and manage your server keys at http://my.bzflag.org/listkeys/&lt;br /&gt;
&lt;br /&gt;
=== Starting your BZFlag server using your server key ===&lt;br /&gt;
After generating a server key you need to provide the key to your bzfs server so it can&lt;br /&gt;
authenticate with the list server.  Only servers with valid public keys will be shown&lt;br /&gt;
on the BZFlag list server.&lt;br /&gt;
&lt;br /&gt;
Keys are shown at http://my.bzflag.org/listkeys like this:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ KEYS listed from http://my.bzflag.org/listkeys&lt;br /&gt;
|-&lt;br /&gt;
!Host&lt;br /&gt;
!Key&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
| my.bzflag.server.host&lt;br /&gt;
| 1234567890123456789&lt;br /&gt;
| [Delete]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You need to provide the key value to the bzfs server option &#039;&#039;&#039;&#039;&#039;-publickey&#039;&#039;&#039;&#039;&#039; like this&lt;br /&gt;
&lt;br /&gt;
 $ bzfs -public &amp;quot;Map name goes here&amp;quot; -publickey 1234567890123456789 &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;-publicaddr&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;-p&#039;&#039;&#039;&#039;&#039; parameters have not changed from 2.0.x and are used to &lt;br /&gt;
provide the hosting server address and port respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Upgrading third party plugins ==&lt;br /&gt;
&lt;br /&gt;
The API for plugins has changed in the 2.4 release.  See&lt;br /&gt;
[[BZFS_API_2.4_Upgrade]] for details on upgrading your server plugins.&lt;br /&gt;
&lt;br /&gt;
== BZFlag server commandline option changes ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! bzfs Commandline Switch&lt;br /&gt;
! Notes                     &lt;br /&gt;
|-&lt;br /&gt;
| -offa&lt;br /&gt;
| New, teamless free-for-all game mode                  &lt;br /&gt;
|-&lt;br /&gt;
| -passdb&lt;br /&gt;
| Removed                                               &lt;br /&gt;
|-&lt;br /&gt;
| -requireudp&lt;br /&gt;
| Removed                                               &lt;br /&gt;
|-&lt;br /&gt;
| -time                   &lt;br /&gt;
| Modified, Specify end time in seconds or ending time (hh:mm:ss)&lt;br /&gt;
|-&lt;br /&gt;
| -utc                    &lt;br /&gt;
| New, Make server time stamps in UTC instead of local time&lt;br /&gt;
|-&lt;br /&gt;
| -publickey &amp;lt;key&amp;gt;        &lt;br /&gt;
| New, Required for including your server on the server list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
* document r21903&lt;br /&gt;
** should not change for well defined groups&lt;br /&gt;
** may change behaviour if the group definitions were wrong&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7730</id>
		<title>BZFS 2.4 Upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7730"/>
		<updated>2011-06-14T23:25:15Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Fix the link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stub for BZFS 2.0.x to 2.4 server upgrade path&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
* document -publickey and how to generate them&lt;br /&gt;
* document changes in command line options&lt;br /&gt;
* reference plugin upgrade for 2.0.x to 2.4 [[BZFS_API_2.4_Upgrade]]&lt;br /&gt;
* put document on the wiki&lt;br /&gt;
* document r21903&lt;br /&gt;
** should not change for well defined groups&lt;br /&gt;
** may change behaviour if the group definitions were wrong&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7729</id>
		<title>BZFS 2.4 Upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFS_2.4_Upgrade&amp;diff=7729"/>
		<updated>2011-06-14T23:21:54Z</updated>

		<summary type="html">&lt;p&gt;Thumper: New page: Stub for BZFS 2.0.x to 2.4 server upgrade path  == TODO ==  * document -publickey and how to generate them * document changes in command line options * reference plugin upgrade for 2.0.x t...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stub for BZFS 2.0.x to 2.4 server upgrade path&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
* document -publickey and how to generate them&lt;br /&gt;
* document changes in command line options&lt;br /&gt;
* reference plugin upgrade for 2.0.x to 2.4 [BZFS_API_2.4_Upgrade]]&lt;br /&gt;
* put document on the wiki&lt;br /&gt;
* document r21903&lt;br /&gt;
** should not change for well defined groups&lt;br /&gt;
** may change behaviour if the group definitions were wrong&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7725</id>
		<title>DevelopmentPlans/2.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7725"/>
		<updated>2011-06-14T16:38:58Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Own the server side handicap backport&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
BZFlag 2.3 will be a development version that will be released as 2.4.0.0. 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.&lt;br /&gt;
&lt;br /&gt;
==Goal==&lt;br /&gt;
The goal is to release a new version of [[Main Page|BZFlag]] that is incompatible with 2.0.x for a good reason, and has at least one new feature that will make many players &#039;&#039;&#039;want&#039;&#039;&#039; to upgrade.&lt;br /&gt;
&lt;br /&gt;
The hope is that this process will renew developer motivation and attract new developers.&lt;br /&gt;
&lt;br /&gt;
==Schedule==&lt;br /&gt;
* Move trunk to a v2_99_branch. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Copy v2_0branch to trunk and change protocol number. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Change the version docs to make compatibility be the minor version number. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* 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. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* When proposals are in and accepted by consensus, start the 1-month countdown clock.&#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Implement accepted proposals and test.&#039;&#039;&#039;In progress&#039;&#039;&#039;&lt;br /&gt;
* Document server upgrade process for the many server owners. &#039;&#039;&#039;In progress&#039;&#039;&#039; &#039;&#039;Thumper by 6/20/2011&#039;&#039;&lt;br /&gt;
* If release is not stable by 6/17/2011 revert changes that made it unstable.&lt;br /&gt;
* Public beta on 6/20/2011&lt;br /&gt;
* Public RC on 6/27/2011&lt;br /&gt;
* Release on 6/30/2011&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
These are the many ideas, both new and old, for changes to BZFlag.&lt;br /&gt;
&lt;br /&gt;
===Assignments and tracking===&lt;br /&gt;
Task tracking is managed via a google spread sheet that can be found here.&lt;br /&gt;
&lt;br /&gt;
https://spreadsheets.google.com/spreadsheet/pub?hl=en&amp;amp;hl=en&amp;amp;key=0Agca59DESlNKdC1CSUtUMUhiSldrOVVPSHcwQUNzOUE&amp;amp;output=html&lt;br /&gt;
&lt;br /&gt;
Developers with assigned tasks can request edit access to the document on IRC.&lt;br /&gt;
&lt;br /&gt;
===Timeline===&lt;br /&gt;
Project must be completed by June 14th 2011 or they will be rolled back and excluded from the release.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Viable Projects===&lt;br /&gt;
The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
These 2.99 features are suitable for porting to 2.3.&lt;br /&gt;
&lt;br /&gt;
* Connection header change (HTTP-style) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New GUI elements &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Server-side scoring &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Segmented simulation loop (to prevent wallwalking) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server-side flag ID and pickup &#039;&#039;&#039;Pimpinella&#039;&#039;&#039;&lt;br /&gt;
* [[2.3_NewShotGraphics|New shot graphics]] (geolaser/geothief) &#039;&#039;&#039;JeffM&#039;&#039;&#039; &#039;&#039;&#039;Discuss on IRC&#039;&#039;&#039;&lt;br /&gt;
* HUD markers &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* [[2.3_QualityChanges|Removal of low graphics, promotion of experimental to high]]. &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server list from GSoC &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFS API rework &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Remove local authentication (the /identify command) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Windows project cleanup &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New make system &#039;&#039;&#039;BulletCatcher&#039;&#039;&#039;&lt;br /&gt;
* New source docs (authors etc...) &#039;&#039;&#039;Constitution&#039;&#039;&#039;&lt;br /&gt;
* Server-side handicap &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Guided Missile shot checks&lt;br /&gt;
* Stealth fixes for rabbit &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* Asynchronous screenshot compression so client won&#039;t freeze up during screenshots &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFlag update notification &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Wings velocity change (additive flap instead of instant upward velocity) &#039;&#039;&#039;blast007&#039;&#039;&#039; (r14997, r15162, r15832)&lt;br /&gt;
* Message protection (ensure network messages are valid) &#039;&#039;&#039;A_Meteorite&#039;&#039;&#039;&lt;br /&gt;
* Add message types so that actions (/me) are properly implemented &#039;&#039;&#039;blast007&#039;&#039;&#039; (r19833)&lt;br /&gt;
* New artwork &#039;&#039;&#039;JeffM&#039;&#039;&#039; [[2.3_NewEffects|Effects Updates]]&lt;br /&gt;
* Server option to disable teamkills &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* OpenFFA &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Download URL change (to force just images.bzflag.org, not any .org or .bz) &#039;&#039;&#039;Constitution&#039;&#039;&#039;&lt;br /&gt;
* Remove option to turn off fog &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Require OpenGL 1.2 &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Only allow a single end shot credit for holding the shield flag &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Only players with POLL permission are eligible to take part in a vote &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Add the /serverdebug command &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Report errors to stderr instead of stdout &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Add -utc switch to output log messages in UTC instead of localtime &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Fix timestamp buffer size so -ts micros output fits &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Joystick input fixes/enhancements &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Remove -geometry and make -window take a size &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Allow -time to have an ending time &#039;&#039;&#039;blast007&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Round Robin for services &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a band-aid for&lt;br /&gt;
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware, if any changes will help &#039;&#039;&#039;JeffM&#039;&#039;&#039; &#039;&#039;&#039;Blast007&#039;&#039;&#039; &#039;&#039;&#039;JoeVano&#039;&#039;&#039;&lt;br /&gt;
* Import client customization settings from the 2.0 config.cfg file to the 2.4 version&lt;br /&gt;
* Implement new version numbering system into code. (/src/date/buildDate.cxx and DEVINFO at least, there might be more places where it is needed)&lt;br /&gt;
&lt;br /&gt;
===To Evaluate===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
* Map changes &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* HTTP plugins &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New API events &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Custom flag system &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFSCron &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Server Side Players &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Bug fixes not in notes &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Hunter as proper team &#039;&#039;&#039;mdskpr (grabbed by DTRemenak)&#039;&#039;&#039;&lt;br /&gt;
* bzfs -publickey &#039;&#039;&#039;trepan&#039;&#039;&#039;&lt;br /&gt;
* push stats as default&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Countdown/reload timer position fix for when showCoordinates is enabled &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* SVN props cleanup &#039;&#039;&#039;Bullet Catcher&#039;&#039;&#039;&lt;br /&gt;
* Display BZBB rank images in game. &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Exclusions===&lt;br /&gt;
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&#039;s current release.&lt;br /&gt;
&lt;br /&gt;
* New flags&lt;br /&gt;
* Network buffering&lt;br /&gt;
* Lag compensation (needs a lot more testing)&lt;br /&gt;
* Acceleration changes&lt;br /&gt;
* Font system (still has some bugs/glitches and possible performance issues)&lt;br /&gt;
* New Translations (requires the new font system)&lt;br /&gt;
* Map geometry changes (requires flag zap zone support or breaks existing servers)&lt;br /&gt;
* Website changes.&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===Empty Flag Types===&lt;br /&gt;
When you start BZFS with +f good{2} the server will generate 8 &amp;quot;empty&amp;quot; flag IDs in addition to all normal good flags (no flag type.)&lt;br /&gt;
This can be seen by doing &#039;/flag show&#039;. You can also &#039;/flag give&#039; the empty flag types, although all it seems to do is say &amp;quot;user: grabbed flag &amp;quot; in chat and make the flag pick-up noise - it doesn&#039;t actually give you a flag.&lt;br /&gt;
&lt;br /&gt;
[[Category:Versions]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Development_RoadMap&amp;diff=7702</id>
		<title>Development RoadMap</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Development_RoadMap&amp;diff=7702"/>
		<updated>2011-06-07T18:40:24Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Fixup typos and grammar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
This document discusses the general development road-map for Future BZFlag Releases.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
Individual features may move up or down the roadmap depending on how/when they get done. Entire releases may be pushed up the roadmap or merged depending on how development goes.&lt;br /&gt;
&lt;br /&gt;
==2.4.0 (Wake the dead)==&lt;br /&gt;
2.4 will be the next release of BZFlag and is protocol incompatible with all previous versions.&lt;br /&gt;
The development goals are listed here [[BZFlag 2.3]]&lt;br /&gt;
&lt;br /&gt;
==2.4.2 (What was once lost)==&lt;br /&gt;
2.4.2 will be the first maintenance release of the 2.4.x compatibility line. Its primary function is to fix bugs found in the 2.4.0 release and to include non breaking items that were not ready during the initial release including:&lt;br /&gt;
&lt;br /&gt;
* BZFScron&lt;br /&gt;
* Fastmap&lt;br /&gt;
&lt;br /&gt;
==2.4.4 (Making the stride)==&lt;br /&gt;
* New Death effects&lt;br /&gt;
* HTTP Management plugins&lt;br /&gt;
* Push Stats&lt;br /&gt;
* Bug fixes&lt;br /&gt;
&lt;br /&gt;
==2.4.x (Maintenance)==&lt;br /&gt;
Continuing releases to fix critical bugs. New features should go into  2.6 at this point.&lt;br /&gt;
&lt;br /&gt;
==2.6 (Next Breaking Release)==&lt;br /&gt;
This version may be rolled into the 3.0 release if that code base is still usable. If the code is extended from 2.4 it may have these features;&lt;br /&gt;
* Lua&lt;br /&gt;
&lt;br /&gt;
==3.0 (Next Major)==&lt;br /&gt;
* Make world meshes internally.&lt;br /&gt;
* New Simulation&lt;br /&gt;
* Things added in V3 that were not back-ported.&lt;br /&gt;
&lt;br /&gt;
==3.2 (Modernization)==&lt;br /&gt;
* UI Cleanup&lt;br /&gt;
* Lag compensation&lt;br /&gt;
* New Group and user Management.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7698</id>
		<title>DevelopmentPlans/2.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7698"/>
		<updated>2011-05-28T13:26:34Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Be bolder&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
BZFlag 2.3 will be a development version that will be released as 2.4.0.0. 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.&lt;br /&gt;
&lt;br /&gt;
==Goal==&lt;br /&gt;
The goal is to release a new version of [[Main Page|BZFlag]] that is incompatible with 2.0.x for a good reason, and has at least one new feature that will make many players &#039;&#039;&#039;want&#039;&#039;&#039; to upgrade.&lt;br /&gt;
&lt;br /&gt;
The hope is that this process will renew developer motivation and attract new developers.&lt;br /&gt;
&lt;br /&gt;
==Schedule==&lt;br /&gt;
* Move trunk to a v2_99_branch. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Copy v2_0branch to trunk and change protocol number. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Change the version docs to make compatibility be the minor version number. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* 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. &#039;&#039;&#039;In Progress&#039;&#039;&#039;&lt;br /&gt;
* When proposals are in and accepted by consensus, start the 1-month countdown clock.&lt;br /&gt;
* Implement accepted proposals and test.&lt;br /&gt;
* Document server upgrade process for the many server owners.&lt;br /&gt;
* After 1 month, revert any changes that have caused unfixed regressions.&lt;br /&gt;
* Do a release candidate before final release?&lt;br /&gt;
* Tag trunk 2.4.0.0 for release.&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
These are the many ideas, both new and old, for changes to BZFlag.&lt;br /&gt;
&lt;br /&gt;
===Assignments and tracking===&lt;br /&gt;
Task tracking is managed via a google spread sheet that can be found here.&lt;br /&gt;
&lt;br /&gt;
https://spreadsheets.google.com/spreadsheet/pub?hl=en&amp;amp;hl=en&amp;amp;key=0Agca59DESlNKdC1CSUtUMUhiSldrOVVPSHcwQUNzOUE&amp;amp;output=html&lt;br /&gt;
&lt;br /&gt;
Developers with assigned tasks can request edit access to the document on IRC.&lt;br /&gt;
&lt;br /&gt;
===Timeline===&lt;br /&gt;
Project must be completed by June 14th 2011 or they will be rolled back and excluded from the release.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Viable Projects===&lt;br /&gt;
The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
These 2.99 features are suitable for porting to 2.3.&lt;br /&gt;
&lt;br /&gt;
* Connection header change (HTTP-style) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New GUI elements &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Server-side scoring &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Segmented simulation loop (to prevent wallwalking) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server-side flag ID and pickup &#039;&#039;&#039;Pimpinella&#039;&#039;&#039;&lt;br /&gt;
* [[2.3_NewShotGraphics|New shot graphics]] (geolaser/geothief) &#039;&#039;&#039;JeffM&#039;&#039;&#039; &#039;&#039;&#039;Discuss on IRC&#039;&#039;&#039;&lt;br /&gt;
* HUD markers &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* [[2.3_QualityChanges|Removal of low graphics, promotion of experimental to high]]. &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server list from GSoC &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFS API rework &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Remove local authentication (the /identify command) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Windows project cleanup &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New make system &#039;&#039;&#039;BulletCatcher&#039;&#039;&#039;&lt;br /&gt;
* New source docs (authors etc...) &#039;&#039;&#039;Constitution&#039;&#039;&#039;&lt;br /&gt;
* Server-side handicap&lt;br /&gt;
* Guided Missile shot checks&lt;br /&gt;
* Stealth fixes for rabbit &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* Asynchronous screenshot compression so client won&#039;t freeze up during screenshots &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFlag update notification &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Wings velocity change (additive flap instead of instant upward velocity) &#039;&#039;&#039;blast007&#039;&#039;&#039; (r14997, r15162, r15832)&lt;br /&gt;
* Message protection (ensure network messages are valid) &#039;&#039;&#039;A_Meteorite&#039;&#039;&#039;&lt;br /&gt;
* Add message types so that actions (/me) are properly implemented &#039;&#039;&#039;blast007&#039;&#039;&#039; (r19833)&lt;br /&gt;
* New artwork &#039;&#039;&#039;JeffM&#039;&#039;&#039; [[2.3_NewEffects|Effects Updates]]&lt;br /&gt;
* Server option to disable teamkills &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* OpenFFA &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Download URL change (to force just images.bzflag.org, not any .org or .bz) &#039;&#039;&#039;Constitution&#039;&#039;&#039;&lt;br /&gt;
* Remove option to turn off fog &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Require OpenGL 1.2 &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Only allow a single end shot credit for holding the shield flag &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Only players with POLL permission are eligible to take part in a vote &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Add the /serverdebug command &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Report errors to stderr instead of stdout &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Add -utc switch to output log messages in UTC instead of localtime &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Fix timestamp buffer size so -ts micros output fits &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Joystick input fixes/enhancements &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Remove -geometry and make -window take a size &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Allow -time to have an ending time &#039;&#039;&#039;blast007&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Round Robin for services &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a band-aid for&lt;br /&gt;
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware, if any changes will help &#039;&#039;&#039;JeffM&#039;&#039;&#039; &#039;&#039;&#039;Blast007&#039;&#039;&#039; &#039;&#039;&#039;JoeVano&#039;&#039;&#039;&lt;br /&gt;
* Import client customization settings from the 2.0 config.cfg file to the 2.4 version&lt;br /&gt;
* Implement new version numbering system into code. (/src/date/buildDate.cxx and DEVINFO at least, there might be more places where it is needed)&lt;br /&gt;
&lt;br /&gt;
===To Evaluate===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
* Map changes &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* HTTP plugins &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New API events &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Custom flag system &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFSCron &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Server Side Players &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Bug fixes not in notes &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Hunter as proper team &#039;&#039;&#039;mdskpr (grabbed by DTRemenak)&#039;&#039;&#039;&lt;br /&gt;
* bzfs -publickey &#039;&#039;&#039;trepan&#039;&#039;&#039;&lt;br /&gt;
* push stats as default&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Countdown/reload timer position fix for when showCoordinates is enabled &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* SVN props cleanup &#039;&#039;&#039;Bullet Catcher&#039;&#039;&#039;&lt;br /&gt;
* Display BZBB rank images in game. &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Exclusions===&lt;br /&gt;
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&#039;s current release.&lt;br /&gt;
&lt;br /&gt;
* New flags&lt;br /&gt;
* Network buffering&lt;br /&gt;
* Lag compensation (needs a lot more testing)&lt;br /&gt;
* Acceleration changes&lt;br /&gt;
* Font system (still has some bugs/glitches and possible performance issues)&lt;br /&gt;
* New Translations (requires the new font system)&lt;br /&gt;
* Map geometry changes (requires flag zap zone support or breaks existing servers)&lt;br /&gt;
* Website changes.&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===Empty Flag Types===&lt;br /&gt;
When you start BZFS with +f good{2} the server will generate 8 &amp;quot;empty&amp;quot; flag IDs in addition to all normal good flags (no flag type.)&lt;br /&gt;
This can be seen by doing &#039;/flag show&#039;. You can also &#039;/flag give&#039; the empty flag types, although all it seems to do is say &amp;quot;user: grabbed flag &amp;quot; in chat and make the flag pick-up noise - it doesn&#039;t actually give you a flag.&lt;br /&gt;
&lt;br /&gt;
[[Category:Versions]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7656</id>
		<title>DevelopmentPlans/2.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7656"/>
		<updated>2011-05-17T02:27:28Z</updated>

		<summary type="html">&lt;p&gt;Thumper: /* Backports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
BZFlag 2.3 will be a development version that will be released as 2.4.0.0. 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.&lt;br /&gt;
&lt;br /&gt;
==Goal==&lt;br /&gt;
The goal is to release a new version of [[Main Page|BZFlag]] that is incompatible with 2.0.x for a good reason, and has at least one new feature that will make many players &#039;&#039;&#039;want&#039;&#039;&#039; to upgrade.&lt;br /&gt;
&lt;br /&gt;
The hope is that this process will renew developer motivation and attract new developers.&lt;br /&gt;
&lt;br /&gt;
==Schedule==&lt;br /&gt;
* Move trunk to a v2_99_branch. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Copy v2_0branch to trunk and change protocol number. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Change the version docs to make compatibility be the minor version number. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* 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. &#039;&#039;&#039;In Progress&#039;&#039;&#039;&lt;br /&gt;
* When proposals are in and accepted by consensus, start the 1-month countdown clock.&lt;br /&gt;
* Implement accepted proposals and test.&lt;br /&gt;
* Document server upgrade process for the many server owners.&lt;br /&gt;
* After 1 month, revert any changes that have caused unfixed regressions.&lt;br /&gt;
* Do a release candidate before final release?&lt;br /&gt;
* Tag trunk 2.4.0.0 for release.&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
These are the many ideas, both new and old, for changes to BZFlag.&lt;br /&gt;
&lt;br /&gt;
===Assignments and tracking===&lt;br /&gt;
Task tracking is managed via a google spread sheet that can be found here.&lt;br /&gt;
&lt;br /&gt;
https://spreadsheets.google.com/spreadsheet/pub?hl=en&amp;amp;hl=en&amp;amp;key=0Agca59DESlNKdC1CSUtUMUhiSldrOVVPSHcwQUNzOUE&amp;amp;output=html&lt;br /&gt;
&lt;br /&gt;
Developers with assigned tasks can request edit access to the document on IRC.&lt;br /&gt;
&lt;br /&gt;
===Viable Projects===&lt;br /&gt;
The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
These 2.99 features are suitable for porting to 2.3.&lt;br /&gt;
&lt;br /&gt;
* Connection header change (HTTP-style) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New GUI elements &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Server-side scoring &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Segmented simulation loop (to prevent wallwalking) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server-side flag ID and pickup &#039;&#039;&#039;Pimpinella&#039;&#039;&#039;&lt;br /&gt;
* [[2.3_NewShotGraphics|New shot graphics]] (geolaser/geothief) &#039;&#039;&#039;JeffM&#039;&#039;&#039; &#039;&#039;&#039;Discuss on IRC&#039;&#039;&#039;&lt;br /&gt;
* HUD markers &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* [[2.3_QualityChanges|Removal of low graphics, promotion of experimental to high]]. &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server list from GSoC &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFS API rework &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Remove local authentication (the /identify command) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Windows project cleanup &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New make system &#039;&#039;&#039;BulletCatcher&#039;&#039;&#039;&lt;br /&gt;
* New source docs (authors etc...) &#039;&#039;&#039;Constitution&#039;&#039;&#039;&lt;br /&gt;
* Server-side handicap&lt;br /&gt;
* Guided Missile shot checks&lt;br /&gt;
* Stealth fixes for rabbit &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* Asynchronous screenshot compression so client won&#039;t freeze up during screenshots &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFlag update notification &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Wings velocity change (additive flap instead of instant upward velocity) &#039;&#039;&#039;blast007&#039;&#039;&#039; (r14997, r15162, r15832)&lt;br /&gt;
* Message protection (ensure network messages are valid) &#039;&#039;&#039;A_Meteorite&#039;&#039;&#039;&lt;br /&gt;
* Add message types so that actions (/me) are properly implemented &#039;&#039;&#039;blast007&#039;&#039;&#039; (r19833)&lt;br /&gt;
* New artwork &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server option to disable teamkills &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* OpenFFA &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Download URL change (to force just images.bzflag.org, not any .org or .bz) &#039;&#039;&#039;Constitution&#039;&#039;&#039;&lt;br /&gt;
* Remove option to turn off fog &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Require OpenGL 1.2 &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Only allow a single end shot credit for holding the shield flag &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Only players with POLL permission are eligible to take part in a vote &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Add the /serverdebug command &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Report errors to stderr instead of stdout &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Add -utc switch to output log messages in UTC instead of localtime &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Fix timestamp buffer size so -ts micros output fits &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Joystick input fixes/enhancements &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Remove -geometry and make -window take a size &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Allow -time to have an ending time &#039;&#039;&#039;blast007&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Round Robin for services &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a band-aid for&lt;br /&gt;
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware, if any changes will help &#039;&#039;JeffM&#039;&#039; &#039;&#039;Blast007&#039;&#039; &#039;&#039;JoeVano&#039;&#039;&lt;br /&gt;
* Import client customization settings from the 2.0 config.cfg file to the 2.4 version&lt;br /&gt;
&lt;br /&gt;
===To Evaluate===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
* Map changes &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* HTTP plugins &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New API events &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Custom flag system &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFSCron &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Server Side Players &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Bug fixes not in notes &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Hunter as proper team &#039;&#039;&#039;mdskpr (grabbed by DTRemenak)&#039;&#039;&#039;&lt;br /&gt;
* bzfs -publickey &#039;&#039;&#039;trepan&#039;&#039;&#039;&lt;br /&gt;
* Lua&lt;br /&gt;
* push stats as default&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Countdown/reload timer position fix for when showCoordinates is enabled &#039;&#039;mdskpr&#039;&#039;&lt;br /&gt;
* SVN props cleanup &#039;&#039;&#039;Bullet Catcher&#039;&#039;&#039;&lt;br /&gt;
* Display BZBB rank images in game. &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Exclusions===&lt;br /&gt;
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&#039;s current release.&lt;br /&gt;
&lt;br /&gt;
* New flags&lt;br /&gt;
* Network buffering&lt;br /&gt;
* Lag compensation (needs a lot more testing)&lt;br /&gt;
* Acceleration changes&lt;br /&gt;
* Font system (still has some bugs/glitches and possible performance issues)&lt;br /&gt;
* New Translations (requires the new font system)&lt;br /&gt;
* Map geometry changes (requires flag zap zone support or breaks existing servers)&lt;br /&gt;
* Website changes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Versions]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Functions_(API)&amp;diff=7641</id>
		<title>Functions (API)</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Functions_(API)&amp;diff=7641"/>
		<updated>2011-05-14T20:01:07Z</updated>

		<summary type="html">&lt;p&gt;Thumper: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DoDoc|&lt;br /&gt;
Fill in articles for all API Functions&amp;lt;br&amp;gt;&lt;br /&gt;
Finish updating to 2.3.x&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{BZFS_API_Doc}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The BZFS API provides a number of functions to plug-ins for use in querying the current game state. Functions are used both to get information about the game, and to trigger in game actions, such as activating a world weapon.&lt;br /&gt;
&lt;br /&gt;
== Function Groups ==&lt;br /&gt;
Functions are broken into a series of groups based on the type of action or information they deal with.&lt;br /&gt;
&lt;br /&gt;
=== Event Registration ===&lt;br /&gt;
 BZF_API bool [[bz_registerEvent]] ( [[Events(API)|bz_eEventType]] eventType, [[Events(API)|bz_EventHandler]]* eventHandler );&lt;br /&gt;
 BZF_API bool [[bz_removeEvent]] ( [[Events(API)|bz_eEventType]] eventType, [[Events(API)|bz_EventHandler]]* eventHandler );&lt;br /&gt;
&lt;br /&gt;
=== Non-Player Connections ===&lt;br /&gt;
 BZF_API bool [[bz_registerNonPlayerConnectionHandler]] ( int connectionID, [[bz_NonPlayerConnectionHandler]]* handler );&lt;br /&gt;
 BZF_API bool [[bz_removeNonPlayerConnectionHandler]] ( int connectionID, [[bz_NonPlayerConnectionHandler]]* handler );&lt;br /&gt;
 BZF_API bool [[bz_sendNonPlayerData]] ( int connectionID, const void *data, unsigned int size );&lt;br /&gt;
 BZF_API bool [[bz_disconectNonPlayerConnection]] ( int connectionID );&lt;br /&gt;
 BZF_API unsigned int [[bz_getNonPlayerConnectionOutboundPacketCount]] ( int connectionID );&lt;br /&gt;
 BZF_API const char* [[bz_getNonPlayerConnectionIP]] ( int connectionID );&lt;br /&gt;
 BZF_API const char* [[bz_getNonPlayerConnectionHost]] ( int connectionID );&lt;br /&gt;
&lt;br /&gt;
=== Player Information ===&lt;br /&gt;
==== Player Information ====&lt;br /&gt;
 BZF_API bool [[bz_hasPerm]] ( int playerID, const char* perm );&lt;br /&gt;
 BZF_API bool [[bz_getAdmin]] ( int playerID );&lt;br /&gt;
 BZF_API bz_eTeamType [[bz_getPlayerTeam]] ( int playerID );&lt;br /&gt;
 BZF_API const char* [[bz_getPlayerCallsign]] ( int playerID );&lt;br /&gt;
 BZF_API const char* [[bz_getPlayerIPAddress]] ( int playerID );&lt;br /&gt;
 BZF_API const char* [[bz_getPlayerReferrer]] ( int playerID );&lt;br /&gt;
 BZF_API const char* [[bz_getPlayerCustomData]] (int playerID, const char* key );&lt;br /&gt;
 BZF_API const char* [[bz_getPlayerFlag]] ( int playerID );&lt;br /&gt;
&lt;br /&gt;
==== Player State Information ====&lt;br /&gt;
 BZF_API bool [[bz_getPlayerPosition]] ( int playerID, float pos[3], bool extrapolate );&lt;br /&gt;
 BZF_API bool [[bz_getPlayerRotation]] ( int playerID, float *rot, bool extrapolate );&lt;br /&gt;
 BZF_API bool [[bz_getPlayerVelocity]] ( int playerID, float vel[3] );&lt;br /&gt;
 BZF_API bool [[bz_getPlayerAngVel]] ( int playerID, float *angvel );&lt;br /&gt;
 BZF_API bool [[bz_getPlayerPhysicsDriver]] ( int playerID, int* phydrv );&lt;br /&gt;
 BZF_API bool [[bz_isPlayerPaused]] ( int playerID );&lt;br /&gt;
 BZF_API bool [[bz_canPlayerSpawn]]( int playerID );&lt;br /&gt;
 BZF_API bool [[bz_getPlayerCurrentState]] ( int playerID, bz_PlayerUpdateState &amp;amp;state );&lt;br /&gt;
&lt;br /&gt;
==== Player Lists and Records ====&lt;br /&gt;
 BZF_API [[bz_BasePlayerRecord]] *[[bz_getPlayerByIndex]] ( int index );&lt;br /&gt;
 BZF_API [[bz_BasePlayerRecord]] *[[bz_getPlayerByCallsign]] ( const char* name );&lt;br /&gt;
 BZF_API [[bz_BasePlayerRecord]] *[[bz_getPlayerByBZID]] ( int BZID );&lt;br /&gt;
 BZF_API bool [[bz_updatePlayerData]] ( [[bz_BasePlayerRecord]] *playerRecord );&lt;br /&gt;
 BZF_API bool [[bz_freePlayerRecord]] ( [[bz_BasePlayerRecord]] *playerRecord );&lt;br /&gt;
&lt;br /&gt;
 BZF_API [[bz_APIIntList]] *[[bz_newIntList]] ( void );&lt;br /&gt;
 BZF_API [[bz_APIIntList]] *[[bz_getPlayerIndexList]] ( void );&lt;br /&gt;
 BZF_API bool [[bz_getPlayerIndexList]] ( [[bz_APIIntList]] *playerList );&lt;br /&gt;
 BZF_API void [[bz_deleteIntList]] ( [[bz_APIIntList]] *l);&lt;br /&gt;
&lt;br /&gt;
==== Player Management ====&lt;br /&gt;
 BZF_API bool [[bz_grantPerm]] ( int playerID, const char* perm );&lt;br /&gt;
 BZF_API bool [[bz_revokePerm]] ( int playerID, const char* perm );&lt;br /&gt;
 BZF_API bool [[bz_validAdminPassword]] ( const char* passwd );&lt;br /&gt;
 BZF_API bool [[bz_setPlayerOperator]] ( int playerId );&lt;br /&gt;
 BZF_API bool [[bz_setPlayerSpawnable]]( int playerID, bool spawn );&lt;br /&gt;
 BZF_API bool [[bz_setPlayerLimboMessage]]( int playerID, const char* text );&lt;br /&gt;
 BZF_API bool [[bz_setPlayerCustomData]] (int playerID, const char* key, const char* data );&lt;br /&gt;
&lt;br /&gt;
=== Team Management ===&lt;br /&gt;
 BZF_API unsigned int [[bz_getTeamPlayerLimit]] ( bz_eTeamType team )&lt;br /&gt;
 BZF_API int [[bz_getTeamCount]] ([[bz_eTeamType]] team );&lt;br /&gt;
 BZF_API int [[bz_getTeamScore]] ([[bz_eTeamType]] team );&lt;br /&gt;
 BZF_API int [[bz_getTeamWins]] ([[bz_eTeamType]] team );&lt;br /&gt;
 BZF_API int [[bz_getTeamLosses]] ([[bz_eTeamType]] team );&lt;br /&gt;
 BZF_API void [[bz_setTeamWins]] ([[bz_eTeamType]] team, int wins );&lt;br /&gt;
 BZF_API void [[bz_setTeamLosses]] ([[bz_eTeamType]] team, int losses );&lt;br /&gt;
 BZF_API void [[bz_resetTeamScore]] ([[bz_eTeamType]] team );&lt;br /&gt;
 BZF_API void [[bz_resetTeamScores]] ( void );&lt;br /&gt;
 BZF_API void [[bz_changeTeam]]( int player, [[bz_eTeamType]] team );&lt;br /&gt;
&lt;br /&gt;
=== Score Management ===&lt;br /&gt;
 BZF_API bool [[bz_setPlayerWins]] ( int playerId, int wins );&lt;br /&gt;
 BZF_API bool [[bz_setPlayerLosses]] ( int playerId, int losses );&lt;br /&gt;
 BZF_API bool [[bz_setPlayerTKs]] ( int playerId, int tks );&lt;br /&gt;
 BZF_API bool [[bz_resetPlayerScore]] ( int playerId );&lt;br /&gt;
 BZF_API int [[bz_getPlayerWins]] ( int playerId );&lt;br /&gt;
 BZF_API int [[bz_getPlayerLosses]] ( int playerId );&lt;br /&gt;
 BZF_API int [[bz_getPlayerTKs]] ( int playerId );&lt;br /&gt;
 BZF_API float [[bz_getPlayerRank]] ( int playerId );&lt;br /&gt;
&lt;br /&gt;
=== Latency Information ===&lt;br /&gt;
 BZF_API int [[bz_getPlayerLag]] ( int playerId );&lt;br /&gt;
 BZF_API int [[bz_getPlayerJitter]] ( int playerId );&lt;br /&gt;
 BZF_API float [[bz_getPlayerPacketloss]] ( int playerId );&lt;br /&gt;
&lt;br /&gt;
=== Permission Group Management ===&lt;br /&gt;
 BZF_API [[bz_APIStringList]]* [[bz_getGroupList]] ( void );&lt;br /&gt;
 BZF_API [[bz_APIStringList]]* [[bz_getGroupPerms]] ( const char* group );&lt;br /&gt;
 BZF_API bool [[bz_groupAllowPerm]] ( const char* group, const char* perm );&lt;br /&gt;
&lt;br /&gt;
=== Chat Messages ===&lt;br /&gt;
 BZF_API bool [[bz_sendTextMessage]] (int from, int to, const char* message);&lt;br /&gt;
 BZF_API bool [[bz_sendTextMessage]] (int from, [[bz_eTeamType]] to, const char* message);&lt;br /&gt;
 BZF_API bool [[bz_sendTextMessagef]] (int from, int to, const char* fmt, ...);&lt;br /&gt;
 BZF_API bool [[bz_sendTextMessagef]] (int from, [[bz_eTeamType]] to, const char* fmt, ...);&lt;br /&gt;
 BZF_API bool [[bz_sendFetchResMessage]] ( int playerID,  const char* URL );&lt;br /&gt;
 BZF_API bool [[bz_sendJoinServer]] ( int playerID, const char* address, int port, int team, const char* referrer, const char* message );&lt;br /&gt;
 BZF_API bool [[bz_sendLuaData]] ( int dstPlayerID, int dstScriptID, int statusBits, const char* data, int len,&lt;br /&gt;
                               int srcPlayerID = 0, int srcScriptID = 0 );&lt;br /&gt;
&lt;br /&gt;
=== Server Management ===&lt;br /&gt;
 BZF_API bool [[bz_restart]] ( void );&lt;br /&gt;
 BZF_API void [[bz_shutdown]] ();&lt;br /&gt;
 BZF_API void [[bz_superkill]] ();&lt;br /&gt;
 BZF_API void [[bz_gameOver]] ( int playerID, bz_eTeamType = eNoTeam );&lt;br /&gt;
 BZF_API void [[bz_reloadLocalBans]] ();&lt;br /&gt;
 BZF_API void [[bz_reloadMasterBans]] ();&lt;br /&gt;
 BZF_API void [[bz_reloadGroups]] ();&lt;br /&gt;
 BZF_API void [[bz_reloadUsers]] ();&lt;br /&gt;
 BZF_API void [[bz_reloadHelp]] ();&lt;br /&gt;
 BZF_API int [[bz_getPlayerCount]] ( void );&lt;br /&gt;
 BZF_API bool [[bz_anyPlayers]] ( void );&lt;br /&gt;
&lt;br /&gt;
=== Rabbit Hunt ===&lt;br /&gt;
 BZF_API void [[bz_newRabbit]] ( int player, bool swap );&lt;br /&gt;
 BZF_API void [[bz_removeRabbit]] ( int player );&lt;br /&gt;
&lt;br /&gt;
=== Map Management ===&lt;br /&gt;
 BZF_API void [[bz_setClientWorldDownloadURL]] ( const char* URL );&lt;br /&gt;
 BZF_API const [[bzApiString]] [[bz_getClientWorldDownloadURL]] ( void );&lt;br /&gt;
 BZF_API bool [[bz_saveWorldCacheFile]] ( const char* file );&lt;br /&gt;
&lt;br /&gt;
=== Flag Management ===&lt;br /&gt;
&lt;br /&gt;
 BZF_API bool [[bz_givePlayerFlag]] ( int playerID, const char* flagType, bool force );&lt;br /&gt;
 BZF_API bool [[bz_removePlayerFlag]] ( int playerID );&lt;br /&gt;
 BZF_API void [[bz_resetFlags]] ( bool onlyUnused );&lt;br /&gt;
 BZF_API unsigned int [[bz_getNumFlags]] ( void );&lt;br /&gt;
 BZF_API const [[bz_ApiString]] [[bz_getFlagName]] ( int flag );&lt;br /&gt;
 BZF_API bool [[bz_resetFlag]] ( int flag );&lt;br /&gt;
 BZF_API int [[bz_flagPlayer]] ( int flag );&lt;br /&gt;
 BZF_API bool [[bz_getFlagPosition]] ( int flag, float* pos );&lt;br /&gt;
 BZF_API bool [[bz_moveFlag]] ( int flag, float pos[3], bool reset = true );&lt;br /&gt;
 BZF_API bool [[bz_RegisterCustomFlag]] ( const char* abbr, const char* name, const char* helpString, bz_eShotType shotType, bz_eFlagQuality quality );&lt;br /&gt;
&lt;br /&gt;
=== Shot Type Control ===&lt;br /&gt;
 BZF_API bool [[bz_setPlayerShotType]] ( int playerId, [[bz_eShotType]] shotType );&lt;br /&gt;
&lt;br /&gt;
=== World Weapon Management ===&lt;br /&gt;
 BZF_API bool [[bz_fireWorldWep]] ( const char* flagType, float lifetime, float *pos, float tilt, float direction, int shotID , float dt );&lt;br /&gt;
 BZF_API int [[bz_fireWorldGM]] ( int targetPlayerID, float lifetime, float *pos, float tilt, float direction, float dt );&lt;br /&gt;
&lt;br /&gt;
=== Server Time ===&lt;br /&gt;
 BZF_API double [[bz_getCurrentTime]] ( void );&lt;br /&gt;
 BZF_API float [[bz_getMaxWaitTime]] ( void );&lt;br /&gt;
 BZF_API void [[bz_setMaxWaitTime]] ( float maxTime );&lt;br /&gt;
 BZF_API void [[bz_getLocaltime]] ( [[bz_Time]] *ts );&lt;br /&gt;
 BZF_API void [[bz_getUTCtime]] ( [[bz_Time]] *ts );&lt;br /&gt;
&lt;br /&gt;
=== Global Database Management (BZDB) ===&lt;br /&gt;
 BZF_API double [[bz_getBZDBDouble]] ( const char* variable );&lt;br /&gt;
 BZF_API [[bz_ApiString]] [[bz_getBZDBString]] ( const char* variable );&lt;br /&gt;
 BZF_API bool [[bz_getBZDBBool]] ( const char* variable );&lt;br /&gt;
 BZF_API int [[bz_getBZDBInt]] ( const char* variable );&lt;br /&gt;
 BZF_API int [[bz_getBZDBItemPerms]] ( const char* variable );&lt;br /&gt;
 BZF_API bool [[bz_getBZDBItemPersistent]] ( const char* variable );&lt;br /&gt;
 BZF_API bool [[bz_BZDBItemExists]] ( const char* variable );&lt;br /&gt;
 BZF_API bool [[bz_setBZDBDouble]] ( const char* variable, double val, int perms = 0, bool persistent = false );&lt;br /&gt;
 BZF_API bool [[bz_setBZDBString]] ( const char* variable, const char *val, int perms = 0, bool persistent = false  );&lt;br /&gt;
 BZF_API bool [[bz_setBZDBBool]] ( const char* variable, bool val, int perms = 0, bool persistent = false  );&lt;br /&gt;
 BZF_API bool [[bz_setBZDBInt]] ( const char* variable, int val, int perms = 0, bool persistent = false  );&lt;br /&gt;
 BZF_API int [[bz_getBZDBVarList]] ( bz_APIStringList	*varList );&lt;br /&gt;
 BZF_API void [[bz_resetBZDBVar]] ( const char* variable );&lt;br /&gt;
 BZF_API void [[bz_resetALLBZDBVars]] ( void );&lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
 BZF_API void [[bz_debugMessage]] ( int level, const char* message );&lt;br /&gt;
 BZF_API void [[bz_debugMessagef]] ( int level, const char* fmt, ... )&lt;br /&gt;
 BZF_API int [[bz_getDebugLevel]] ( void );&lt;br /&gt;
&lt;br /&gt;
=== Server Administration ===&lt;br /&gt;
 BZF_API bool [[bz_kickUser]] ( int playerIndex, const char* reason, bool notify );&lt;br /&gt;
 BZF_API bool [[bz_IPBanUser]] ( const char* ipAddress, const char* ip, int durration, const char* reason );&lt;br /&gt;
 BZF_API bool [[bz_IDBanUser]] ( const char* bzid, const char* bzID , int duration, const char *reason );&lt;br /&gt;
 BZF_API bool [[bz_HostBanUser]] ( const char* hostmask, const char* source, int duration, const char* reason );&lt;br /&gt;
 BZF_API bool [[bz_IPUnbanUser]] ( const char* ip );&lt;br /&gt;
 BZF_API bool [[bz_IDUnbanUser]] ( const char* bzID );&lt;br /&gt;
 BZF_API bool [[bz_HostUnbanUser]] ( const char* hostmask );&lt;br /&gt;
 &lt;br /&gt;
 BZF_API int [[bz_getLagWarn]] ( void );&lt;br /&gt;
 BZF_API bool [[bz_setLagWarn]] ( int lagwarn );&lt;br /&gt;
 BZF_API bool [[bz_pollActive]] ( void );&lt;br /&gt;
 BZF_API bool [[bz_pollVeto]] ( void );&lt;br /&gt;
&lt;br /&gt;
=== Reporting ===&lt;br /&gt;
 BZF_API [[bz_APIStringList]]* [[bz_getReports]] ( void );&lt;br /&gt;
 BZF_API unsigned int [[bz_getReportCount]] ( void );&lt;br /&gt;
 BZF_API const char* [[bz_getReportSource]] ( unsigned int id );&lt;br /&gt;
 BZF_API const char* [[bz_getReportBody]] ( unsigned int id );&lt;br /&gt;
 BZF_API const char* [[bz_getReportTime]] ( unsigned int id );&lt;br /&gt;
 BZF_API bool [[bz_clearReport]] ( unsigned int id );&lt;br /&gt;
 BZF_API bool [[bz_clearAllReports]] ( void );&lt;br /&gt;
 BZF_API bool [[bz_fileReport]] ( const char* message, const char* from );&lt;br /&gt;
&lt;br /&gt;
=== Timed Game Management ===&lt;br /&gt;
 BZF_API bool [[bz_setTimeLimit]] ( float timeLimit );&lt;br /&gt;
 BZF_API float [[bz_getTimeLimit]] ( void );&lt;br /&gt;
 BZF_API bool [[bz_isTimeManualStart]] ( void );&lt;br /&gt;
 BZF_API bool [[bz_isCountDownActive]] ( void );&lt;br /&gt;
 BZF_API bool [[bz_isCountDownInProgress]] ( void );&lt;br /&gt;
 BZF_API void [[bz_pauseCountdown]] ( const char *pausedBy );&lt;br /&gt;
 BZF_API void [[bz_resumeCountdown]] ( const char *resumedBy );&lt;br /&gt;
 BZF_API void [[bz_startCountdown]] ( int delay, float limit, const char *byWho );&lt;br /&gt;
&lt;br /&gt;
=== Custom Text Commands ===&lt;br /&gt;
 BZF_API bool [[bz_registerCustomSlashCommand]] ( const char* command, [[bz_CustomSlashCommandHandler]] *handler );&lt;br /&gt;
 BZF_API bool [[bz_removeCustomSlashCommand]] ( const char* command );&lt;br /&gt;
&lt;br /&gt;
=== Plug-in Management ===&lt;br /&gt;
 BZF_API int [[bz_getLoadedPlugins]] ( bz_APIStringList * list );&lt;br /&gt;
 BZF_API bool [[bz_loadPlugin]] ( const char* path, const char* params );&lt;br /&gt;
 BZF_API bool [[bz_unloadPlugin]] ( const char* path );&lt;br /&gt;
 BZF_API const char* [[bz_pluginBinPath]] ( void );&lt;br /&gt;
 BZF_API bool [[bz_registerCustomPluginHandler]] ( const char* extension, [[bz_APIPluginHandler]] * handler );&lt;br /&gt;
 BZF_API bool [[bz_removeCustomPluginHandler]] ( const char* extension, [[bz_APIPluginHandler]] * handler );&lt;br /&gt;
&lt;br /&gt;
=== Public Server Information ===&lt;br /&gt;
 BZF_API bool [[bz_getPublic]] ( void );&lt;br /&gt;
 BZF_API [[bz_ApiString]] [[bz_getPublicAddr]] ( void );&lt;br /&gt;
 BZF_API [[bz_ApiString]] [[bz_getPublicDescription]] ( void );&lt;br /&gt;
 BZF_API void [[bz_updateListServer]] ( void );&lt;br /&gt;
&lt;br /&gt;
=== HTTP Transfer ===&lt;br /&gt;
 BZF_API bool [[bz_addURLJob]] ( const char* URL, [[bz_BaseURLHandler]]* handler = NULL, const char* postData = NULL );&lt;br /&gt;
 BZF_API bool [[bz_removeURLJob]] ( const char* URL );&lt;br /&gt;
 BZF_API bool [[bz_stopAllURLJobs]] ( void );&lt;br /&gt;
&lt;br /&gt;
=== Callback Functions ===&lt;br /&gt;
 BZF_API bool [[bz_registerCallBack]] ( const char* name, [[bz_GenericCallback]] *callback );&lt;br /&gt;
 BZF_API bool [[bz_registerCallBack]] ( const char* name, [[bz_GenericCallbackFunc]] callback );&lt;br /&gt;
 BZF_API bool [[bz_removeCallBack]] ( const char* name, [[bz_GenericCallback]] *callback );&lt;br /&gt;
 BZF_API bool [[bz_removeCallBack]] ( const char* name, [[bz_GenericCallbackFunc]] callback );&lt;br /&gt;
 BZF_API bool [[bz_callCallback]] ( const char* name, void *param );&lt;br /&gt;
 BZF_API bool [[bz_callbackExists]] ( const char* name );&lt;br /&gt;
&lt;br /&gt;
=== Inter-Plug-in Communications ===&lt;br /&gt;
 BZF_API bool [[bz_clipFieldExists]] ( const char *name );&lt;br /&gt;
 BZF_API const char* [[bz_getclipFieldString]] ( const char *name );&lt;br /&gt;
 BZF_API float [[bz_getclipFieldFloat]] ( const char *name );&lt;br /&gt;
 BZF_API int [[bz_getclipFieldInt]] ( const char *name );&lt;br /&gt;
 BZF_API bool [[bz_setclipFieldString]] ( const char *name, const char* data );&lt;br /&gt;
 BZF_API bool [[bz_setclipFieldFloat]] ( const char *name, float data );&lt;br /&gt;
 BZF_API bool [[bz_setclipFieldInt]] ( const char *name, int data );&lt;br /&gt;
 BZF_API bool [[bz_addClipFieldNotifier]] ( const char *name, [[bz_ClipFiledNotifier *cb );&lt;br /&gt;
 BZF_API bool [[bz_removeClipFieldNotifier]] ( const char *name, [[bz_ClipFiledNotifier *cb );&lt;br /&gt;
&lt;br /&gt;
=== Game Recording ===&lt;br /&gt;
 BZF_API bool [[bz_saveRecBuf]] ( const char * _filename, int seconds);&lt;br /&gt;
 BZF_API bool [[bz_startRecBuf]] ( void );&lt;br /&gt;
 BZF_API bool [[bz_stopRecBuf]] ( void );&lt;br /&gt;
&lt;br /&gt;
=== Map Management ===&lt;br /&gt;
==== Map Information ====&lt;br /&gt;
 BZF_API void [[bz_getWorldSize]] ( float *size, float *wallHeight );&lt;br /&gt;
 BZF_API unsigned int [[bz_getWorldObjectCount]] ( void );&lt;br /&gt;
 BZF_API [[bz_APIWorldObjectList]]* [[bz_getWorldObjectList]] ( void );&lt;br /&gt;
 BZF_API void [[bz_releaseWorldObjectList]] ( [[bz_APIWorldObjectList]] *list );&lt;br /&gt;
 BZF_API unsigned int [[bz_findWorldObject]] ( const char *name );&lt;br /&gt;
 BZF_API [[bz_APIBaseWorldObject]]* [[bz_getWorldObjectByID]] ( unsigned int id );&lt;br /&gt;
 BZF_API bool [[bz_getTeleLinkIDs]] ( const char* teleName, int* frontLink, int* backLink );&lt;br /&gt;
 BZF_API const char* [[bz_getLinkTeleName]] ( int linkIndex );&lt;br /&gt;
 BZF_API int [[bz_getPhyDrvID]] ( const char* phyDrvName );&lt;br /&gt;
 BZF_API const char* [[bz_getPhyDrvName]] ( unsigned int phyDrvID );&lt;br /&gt;
 BZF_API bool [[bz_SetWorldObjectTangibility]] ( int id, const [[bz_SolidObjectPassableAtributes]] &amp;amp;atribs );&lt;br /&gt;
 BZF_API bool [[bz_GetWorldObjectTangibility]] ( int id, [[bz_SolidObjectPassableAtributes]] &amp;amp;atribs );&lt;br /&gt;
 BZF_API void [[bz_ResetWorldObjectTangibilities]] ( void );&lt;br /&gt;
&lt;br /&gt;
==== Map Collisions ====&lt;br /&gt;
 [[bz_eAPIColType]] [[bz_cylinderInMapObject]] ( float pos[3], float height, float radius, [[bz_APIBaseWorldObject]] **object );&lt;br /&gt;
 [[bz_eAPIColType]] [[bz_boxInMapObject]] ( float pos[3], float size[3], float angle, [[bz_APIBaseWorldObject]] **object );&lt;br /&gt;
&lt;br /&gt;
==== Custom Map Objects ====&lt;br /&gt;
 BZF_API bool [[bz_registerCustomMapObject]] ( const char* object, [[bz_CustomMapObjectHandler]] *handler );&lt;br /&gt;
 BZF_API bool [[bz_removeCustomMapObject]] ( const char* object );&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
 BZF_API const char *[[bz_MD5]] ( const char* str );&lt;br /&gt;
 BZF_API const char *[[bz_MD5]] ( const void* data, size_t size );&lt;br /&gt;
 BZF_API const char *[[bz_getServerVersion]] ( void );&lt;br /&gt;
 BZF_API const char *[[bz_getProtocolVersion]] ( void );&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
 BZF_API bool [[bz_getStandardSpawn]] ( int playerID, float pos[3], float *rot );&lt;br /&gt;
 BZF_API bool [[bz_killPlayer]] ( int playerID, bool spawnOnBase, int killerID = -1, const char* flagID = NULL );&lt;br /&gt;
 BZF_API bool [[bz_sendPlayCustomLocalSound]] ( int playerID, const char* soundName );&lt;br /&gt;
 BZF_API [[bz_ApiString]] [[bz_filterPath]] ( const char* path );&lt;br /&gt;
 BZF_API const char *[[bz_format]](const char* fmt, ...)_ATTRIBUTE12;&lt;br /&gt;
 BZF_API const char *[[bz_toupper]](const char* val );&lt;br /&gt;
 BZF_API const char *[[bz_tolower]](const char* val );&lt;br /&gt;
 BZF_API const char *[[bz_urlEncode]](const char* val );&lt;br /&gt;
 BZF_API [[bz_eGameType]] [[bz_getGameType]]( void );&lt;br /&gt;
 BZF_API bool [[bz_allowJumping]] ( void );&lt;br /&gt;
 BZF_API [[bz_eTeamType]] [[bz_checkBaseAtPoint]] ( float pos[3] );&lt;br /&gt;
 BZF_API int [[bz_APIVersion]] ( void );&lt;br /&gt;
&lt;br /&gt;
=== Server Side Players (Development) ===&lt;br /&gt;
 BZF_API int [[bz_addServerSidePlayer]] ( [[bz_ServerSidePlayerHandler]] *handler );&lt;br /&gt;
 BZF_API bool [[bz_removeServerSidePlayer]] ( int playerID, [[bz_ServerSidePlayerHandler]] *handler );&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
[[BZFS API]]&lt;br /&gt;
&lt;br /&gt;
[[plug-ins]]&lt;br /&gt;
&lt;br /&gt;
[[Category:BZFS_API_Functions]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7631</id>
		<title>DevelopmentPlans/2.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7631"/>
		<updated>2011-05-13T13:25:56Z</updated>

		<summary type="html">&lt;p&gt;Thumper: /* Backports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
BZFlag 2.3 will be a development version that will be released as 2.4.0.0. 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.&lt;br /&gt;
&lt;br /&gt;
==Goal==&lt;br /&gt;
The goal is to release a new version of [[Main Page|BZFlag]] that is incompatible with 2.0.x for a good reason, and has at least one new feature that will make many players &#039;&#039;&#039;want&#039;&#039;&#039; to upgrade.&lt;br /&gt;
&lt;br /&gt;
The hope is that this process will renew developer motivation and attract new developers.&lt;br /&gt;
&lt;br /&gt;
==Schedule==&lt;br /&gt;
* Move trunk to a v2_99_branch. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Copy v2_0branch to trunk and change protocol number. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* Change the version docs to make compatibility be the minor version number. &#039;&#039;&#039;Complete&#039;&#039;&#039;&lt;br /&gt;
* 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. &#039;&#039;&#039;In Progress&#039;&#039;&#039;&lt;br /&gt;
* When proposals are in and accepted by consensus, start the 1-month countdown clock.&lt;br /&gt;
* Implement accepted proposals and test.&lt;br /&gt;
* Document server upgrade process for the many server owners.&lt;br /&gt;
* After 1 month, revert any changes that have caused unfixed regressions.&lt;br /&gt;
* Do a release candidate before final release?&lt;br /&gt;
* Tag trunk 2.4.0.0 for release.&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
These are the many ideas, both new and old, for changes to BZFlag.&lt;br /&gt;
&lt;br /&gt;
===Viable Projects===&lt;br /&gt;
The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
These 2.99 features are suitable for porting to 2.3.&lt;br /&gt;
&lt;br /&gt;
* Connection header change (HTTP-style) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New GUI elements &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Server-side scoring &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Segmented simulation loop (to prevent wallwalking) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server-side flag ID and pickup &#039;&#039;&#039;Pimpinella&#039;&#039;&#039;&lt;br /&gt;
* [[2.3_NewShotGraphics|New shot graphics]] (geolaser/geothief) &#039;&#039;&#039;JeffM&#039;&#039;&#039; &#039;&#039;&#039;Discuss on IRC&#039;&#039;&#039;&lt;br /&gt;
* HUD markers &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* [[2.3_QualityChanges|Removal of low graphics, promotion of experimental to high]]. &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server list from GSoC &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFS API rework &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Remove local authentication (the /identify command) &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Windows project cleanup &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* New make system&lt;br /&gt;
* New source docs (authors etc...) &#039;&#039;&#039;Constitution&#039;&#039;&#039;&lt;br /&gt;
* Server-side handicap&lt;br /&gt;
* Guided Missile shot checks&lt;br /&gt;
* Stealth fixes for rabbit &#039;&#039;&#039;mdskpr&#039;&#039;&#039;&lt;br /&gt;
* Asynchronous screenshot compression so client won&#039;t freeze up during screenshots &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* BZFlag update notification &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Wings velocity change (additive flap instead of instant upward velocity) &#039;&#039;&#039;blast007&#039;&#039;&#039; (r14997, r15162, r15832)&lt;br /&gt;
* Message protection (ensure network messages are valid)&lt;br /&gt;
* Add message types so that actions (/me) are properly implemented &#039;&#039;&#039;blast007&#039;&#039;&#039; (r19833)&lt;br /&gt;
* New artwork &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Server option to disable teamkills &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* OpenFFA &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Download URL change (to force just images.bzflag.org, not any .org or .bz) &#039;&#039;&#039;Constitution&#039;&#039;&#039;&lt;br /&gt;
* Remove option to turn off fog &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Require OpenGL 1.2 &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* Only allow a single end shot credit for holding the shield flag &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Only players with POLL permission are eligible to take part in a vote &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Add the /serverdebug command &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Report errors to stderr instead of stdout &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Add -utc switch to output log messages in UTC instead of localtime &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Fix timestamp buffer size so -ts micros output fits &#039;&#039;&#039;Thumper&#039;&#039;&#039;&lt;br /&gt;
* Joystick input fixes/enhancements &#039;&#039;&#039;DTRemenak&#039;&#039;&#039;&lt;br /&gt;
* Remove -geometry and make -window take a size &#039;&#039;&#039;JeffM&#039;&#039;&#039;&lt;br /&gt;
* bzfs: Allow -time to have an ending time &#039;&#039;&#039;blast007&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Round Robin for services&lt;br /&gt;
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a band-aid for&lt;br /&gt;
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware, if any changes will help &#039;&#039;JeffM&#039;&#039; &#039;&#039;Blast007&#039;&#039; &#039;&#039;JoeVano&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===To Evaluate===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
* Map changes&lt;br /&gt;
* HTTP plugins &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* New API events &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Custom flag system &#039;&#039;DTRemenak&#039;&#039;&lt;br /&gt;
* BZFSCron &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* Server Side Players &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Bug fixes not in notes &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* New flags&lt;br /&gt;
* Hunter as proper team&lt;br /&gt;
* bzfs -publickey&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Countdown/reload timer position fix for when showCoordinates is enabled &#039;&#039;mdskpr&#039;&#039;&lt;br /&gt;
* SVN props cleanup&lt;br /&gt;
* Display BZBB rank images in game. &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Exclusions===&lt;br /&gt;
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&#039;s current release.&lt;br /&gt;
&lt;br /&gt;
* Network buffering&lt;br /&gt;
* Lua&lt;br /&gt;
* Lag compensation (needs a lot more testing)&lt;br /&gt;
* Acceleration changes&lt;br /&gt;
* Font system (still has some bugs/glitches and possible performance issues)&lt;br /&gt;
* New Translations (requires the new font system)&lt;br /&gt;
* Map geometry changes (requires flag zap zone support or breaks existing servers)&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7611</id>
		<title>DevelopmentPlans/2.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7611"/>
		<updated>2011-05-12T20:01:17Z</updated>

		<summary type="html">&lt;p&gt;Thumper: /* Backports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
BZFlag 2.3 will be a development version that will be released as 2.4.0.0. 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.&lt;br /&gt;
&lt;br /&gt;
==Goal==&lt;br /&gt;
The goal is to release a new version of [[Main Page|BZFlag]] that is incompatible with 2.0.x for a good reason, and has at least one new feature that will make many players &#039;&#039;&#039;want&#039;&#039;&#039; to upgrade.&lt;br /&gt;
&lt;br /&gt;
The hope is that this process will renew developer motivation and attract new developers.&lt;br /&gt;
&lt;br /&gt;
==Schedule==&lt;br /&gt;
* 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.&lt;br /&gt;
* When proposals are in and accepted by consensus, start the 1-month countdown clock.&lt;br /&gt;
* Move trunk to a v2_99_branch.&lt;br /&gt;
* Copy v2_0branch to trunk and change protocol number.&lt;br /&gt;
* Implement accepted proposals and test.&lt;br /&gt;
* Change the version docs to make compatibility be the minor version number.&lt;br /&gt;
* Document server upgrade process for the many server owners.&lt;br /&gt;
* After 1 month, revert any changes that have caused unfixed regressions.&lt;br /&gt;
* Do a release candidate before final release?&lt;br /&gt;
* Make trunk into 2.4.0.0 for release.&lt;br /&gt;
* Tag Trunk to 2_4branch and release.&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
These are the many ideas, both new and old, for changes to BZFlag.&lt;br /&gt;
&lt;br /&gt;
===Viable Projects===&lt;br /&gt;
The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
These 2.99 features are suitable for porting to 2.3.&lt;br /&gt;
&lt;br /&gt;
* Connection header change (HTTP-style) &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* New GUI elements&lt;br /&gt;
* Server-side scoring&lt;br /&gt;
* Segmented simulation loop (to prevent wallwalking)&#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Server-side flag ID and pickup&lt;br /&gt;
* [[2.3_NewShotGraphics|New shot graphics]] (geolaser/geothief)&#039;&#039;JeffM&#039;&#039; &#039;&#039;&#039;Discuss on IRC&#039;&#039;&#039;&lt;br /&gt;
* HUD markers &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* [[2.3_QualityChanges|Removal of low graphics, promotion of experimental to high]]. &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Server list from GSoC&lt;br /&gt;
* BZFS API rework &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Remove local authentication (the /identify command)&lt;br /&gt;
* Windows project cleanup &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* New make system&lt;br /&gt;
* New source docs (authors etc...)&lt;br /&gt;
* Server-side handicap&lt;br /&gt;
* Guided Missile shot checks&lt;br /&gt;
* Stealth fixes for rabbit&lt;br /&gt;
* Asynchronous screenshot compression so client won&#039;t freeze up during screenshots&lt;br /&gt;
* BZFlag update notification&lt;br /&gt;
* Wings velocity change (additive flap instead of instant upward velocity) &#039;&#039;blast007&#039;&#039;&lt;br /&gt;
* Message protection (ensure network messages are valid)&lt;br /&gt;
* Add message types so that actions (/me) are properly implemented&lt;br /&gt;
* New artwork &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Server option to disable teamkills &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* OpenFFA &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Download URL change (to force just images.bzflag.org, not any .org or .bz)&lt;br /&gt;
* Remove option to turn off fog &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Require OpenGL 1.2 &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Only allow a single end shot credit for holding the shield flag &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* Only players with POLL permission are eligible to take part in a vote &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* Add the /serverdebug command &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* bzfs: Report errors to stderr instead of stdout &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* bzfs: Add -utc switch to output log messages in UTC instead of localtime &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* bzfs: Fix timestamp buffer size so -ts micros output fits &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Round Robin for services&lt;br /&gt;
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a band-aid for&lt;br /&gt;
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware, if any changes will help &#039;&#039;JeffM&#039;&#039; &#039;&#039;Blast007&#039;&#039; &#039;&#039;JoeVano&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===To Evaluate===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
* Map changes&lt;br /&gt;
* HTTP plugins&lt;br /&gt;
* New API events &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* BZFSCron &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* Server Side Players &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Bug fixes not in notes &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* New flags&lt;br /&gt;
* Rabbit as proper team&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Countdown/reload timer position fix for when showCoordinates is enabled&lt;br /&gt;
* SVN props cleanup&lt;br /&gt;
* Display BZBB rank images in game. &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Exclusions===&lt;br /&gt;
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&#039;s current release.&lt;br /&gt;
&lt;br /&gt;
* Network buffering&lt;br /&gt;
* Lua&lt;br /&gt;
* Lag compensation (needs a lot more testing)&lt;br /&gt;
* Acceleration changes&lt;br /&gt;
* Font system (still has some bugs/glitches and possible performance issues)&lt;br /&gt;
* New Translations (requires the new font system)&lt;br /&gt;
* Map geometry changes (requires flag zap zone support or breaks existing servers)&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7610</id>
		<title>DevelopmentPlans/2.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7610"/>
		<updated>2011-05-12T19:50:59Z</updated>

		<summary type="html">&lt;p&gt;Thumper: /* Backports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
BZFlag 2.3 will be a development version that will be released as 2.4.0.0. 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.&lt;br /&gt;
&lt;br /&gt;
==Goal==&lt;br /&gt;
The goal is to release a new version of [[Main Page|BZFlag]] that is incompatible with 2.0.x for a good reason, and has at least one new feature that will make many players &#039;&#039;&#039;want&#039;&#039;&#039; to upgrade.&lt;br /&gt;
&lt;br /&gt;
The hope is that this process will renew developer motivation and attract new developers.&lt;br /&gt;
&lt;br /&gt;
==Schedule==&lt;br /&gt;
* 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.&lt;br /&gt;
* When proposals are in and accepted by consensus, start the 1-month countdown clock.&lt;br /&gt;
* Move trunk to a v2_99_branch.&lt;br /&gt;
* Copy v2_0branch to trunk and change protocol number.&lt;br /&gt;
* Implement accepted proposals and test.&lt;br /&gt;
* Change the version docs to make compatibility be the minor version number.&lt;br /&gt;
* Document server upgrade process for the many server owners.&lt;br /&gt;
* After 1 month, revert any changes that have caused unfixed regressions.&lt;br /&gt;
* Do a release candidate before final release?&lt;br /&gt;
* Make trunk into 2.4.0.0 for release.&lt;br /&gt;
* Tag Trunk to 2_4branch and release.&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
These are the many ideas, both new and old, for changes to BZFlag.&lt;br /&gt;
&lt;br /&gt;
===Viable Projects===&lt;br /&gt;
The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
These 2.99 features are suitable for porting to 2.3.&lt;br /&gt;
&lt;br /&gt;
* Connection header change (HTTP-style) &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* New GUI elements&lt;br /&gt;
* Server-side scoring&lt;br /&gt;
* Segmented simulation loop (to prevent wallwalking)&#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Server-side flag ID and pickup&lt;br /&gt;
* [[2.3_NewShotGraphics|New shot graphics]] (geolaser/geothief)&#039;&#039;JeffM&#039;&#039; &#039;&#039;&#039;Discuss on IRC&#039;&#039;&#039;&lt;br /&gt;
* HUD markers &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* [[2.3_QualityChanges|Removal of low graphics, promotion of experimental to high]]. &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Server list from GSoC&lt;br /&gt;
* BZFS API rework &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Remove local authentication (the /identify command)&lt;br /&gt;
* Windows project cleanup &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* New make system&lt;br /&gt;
* New source docs (authors etc...)&lt;br /&gt;
* Server-side handicap&lt;br /&gt;
* Guided Missile shot checks&lt;br /&gt;
* Stealth fixes for rabbit&lt;br /&gt;
* Asynchronous screenshot compression so client won&#039;t freeze up during screenshots&lt;br /&gt;
* BZFlag update notification&lt;br /&gt;
* Wings velocity change (additive flap instead of instant upward velocity) &#039;&#039;blast007&#039;&#039;&lt;br /&gt;
* Message protection (ensure network messages are valid)&lt;br /&gt;
* Add message types so that actions (/me) are properly implemented&lt;br /&gt;
* New artwork &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Server option to disable teamkills &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* OpenFFA &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Download URL change (to force just images.bzflag.org, not any .org or .bz)&lt;br /&gt;
* Remove option to turn off fog &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Require OpenGL 1.2 &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Only allow a single end shot credit for holding the shield flag &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* Only players with POLL permission are eligible to take part in a vote &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* Add the /serverdebug command &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* bzfs: Report errors to stderr instead of stdout &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* bzfs: Add -utc switch to output log messages in UTC instead of localtime &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* bzfs: Fix timestamp buffer size so -ts micros output fits &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Round Robin for services&lt;br /&gt;
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a band-aid for&lt;br /&gt;
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware, if any changes will help &#039;&#039;JeffM&#039;&#039; &#039;&#039;Blast007&#039;&#039; &#039;&#039;JoeVano&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===To Evaluate===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
* Map changes&lt;br /&gt;
* HTTP plugins&lt;br /&gt;
* New API events &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* BZFSCron &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* Server Side Players &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Bug fixes not in notes&lt;br /&gt;
* New flags&lt;br /&gt;
* Rabbit as proper team&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Countdown/reload timer position fix for when showCoordinates is enabled&lt;br /&gt;
* SVN props cleanup&lt;br /&gt;
* Display BZBB rank images in game. &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Exclusions===&lt;br /&gt;
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&#039;s current release.&lt;br /&gt;
&lt;br /&gt;
* Network buffering&lt;br /&gt;
* Lua&lt;br /&gt;
* Lag compensation (needs a lot more testing)&lt;br /&gt;
* Acceleration changes&lt;br /&gt;
* Font system (still has some bugs/glitches and possible performance issues)&lt;br /&gt;
* New Translations (requires the new font system)&lt;br /&gt;
* Map geometry changes (requires flag zap zone support or breaks existing servers)&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7599</id>
		<title>DevelopmentPlans/2.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7599"/>
		<updated>2011-05-12T18:32:58Z</updated>

		<summary type="html">&lt;p&gt;Thumper: /* Backports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
BZFlag 2.3 will be a development version that will be released as 2.4.0.0. 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.&lt;br /&gt;
&lt;br /&gt;
==Goal==&lt;br /&gt;
The goal is to release a new version of [[Main Page|BZFlag]] that is incompatible with 2.0.x for a good reason, and has at least one new feature that will make many players &#039;&#039;&#039;want&#039;&#039;&#039; to upgrade.&lt;br /&gt;
&lt;br /&gt;
The hope is that this process will renew developer motivation and attract new developers.&lt;br /&gt;
&lt;br /&gt;
==Schedule==&lt;br /&gt;
* 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.&lt;br /&gt;
* When proposals are in and accepted by consensus, start the 1-month countdown clock.&lt;br /&gt;
* Move trunk to a v2_99_branch.&lt;br /&gt;
* Copy v2_0branch to trunk and change protocol number.&lt;br /&gt;
* Implement accepted proposals and test.&lt;br /&gt;
* Change the version docs to make compatibility be the minor version number.&lt;br /&gt;
* Document server upgrade process for the many server owners.&lt;br /&gt;
* After 1 month, revert any changes that have caused unfixed regressions.&lt;br /&gt;
* Do a release candidate before final release?&lt;br /&gt;
* Make trunk into 2.4.0.0 for release.&lt;br /&gt;
* Tag Trunk to 2_4branch and release.&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
These are the many ideas, both new and old, for changes to BZFlag.&lt;br /&gt;
&lt;br /&gt;
===Viable Projects===&lt;br /&gt;
The developers believe any (but not all) of the following could be added to 2.3 within the proposed schedule.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
These 2.99 features are suitable for porting to 2.3.&lt;br /&gt;
&lt;br /&gt;
* Connection header change (HTTP-style) &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* New GUI elements&lt;br /&gt;
* Server-side scoring&lt;br /&gt;
* Segmented simulation loop (to prevent wallwalking)&#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Server-side flag ID and pickup&lt;br /&gt;
* New shot graphics (geolaser/geothief)&#039;&#039;JeffM&#039;&#039; &#039;&#039;&#039;Discuss on IRC&#039;&#039;&#039;&lt;br /&gt;
* HUD markers &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Removal of low graphics, promotion of experimental to high. &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Server list from GSoC&lt;br /&gt;
* BZFS API rework &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Remove local authentication (the /identify command)&lt;br /&gt;
* Windows project cleanup &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* New make system&lt;br /&gt;
* New source docs (authors etc...)&lt;br /&gt;
* Server-side handicap&lt;br /&gt;
* Guided Missile shot checks&lt;br /&gt;
* Stealth fixes for rabbit&lt;br /&gt;
* Asynchronous screenshot compression so client won&#039;t freeze up during screenshots&lt;br /&gt;
* BZFlag update notification&lt;br /&gt;
* Wings velocity change (additive flap instead of instant upward velocity)&lt;br /&gt;
* Message protection (ensure network messages are valid)&lt;br /&gt;
* Add message types so that actions (/me) are properly implemented&lt;br /&gt;
* New artwork &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Server option to disable teamkills &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* OpenFFA &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Download URL change (to force just images.bzflag.org, not any .org or .bz)&lt;br /&gt;
* Remove option to turn off fog &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Require OpenGL 1.2 &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Only allow a single end shot credit for holding the shield flag &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* Only players with POLL permission are eligible to take part in a vote &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* Add the /serverdebug command &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* bzfs: Report errors to stderr instead of stdout &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* bzfs: Add -utc switch to output log messages in UTC instead of localtime &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
* bzfs: Fix timestamp buffer size so -ts micros output fits &#039;&#039;Thumper&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Round Robin for services&lt;br /&gt;
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a band-aid for&lt;br /&gt;
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware, if any changes will help &#039;&#039;JeffM&#039;&#039; &#039;&#039;Blast007&#039;&#039; &#039;&#039;JoeVano&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===To Evaluate===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Backports====&lt;br /&gt;
* Map changes&lt;br /&gt;
* HTTP plugins&lt;br /&gt;
* New API events &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* BZFSCron&lt;br /&gt;
* Server Side Players &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
* Bug fixes not in notes&lt;br /&gt;
* New flags&lt;br /&gt;
* Rabbit as proper team&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Countdown/reload timer position fix for when showCoordinates is enabled&lt;br /&gt;
* SVN props cleanup&lt;br /&gt;
* Display BZBB rank images in game. &#039;&#039;JeffM&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Exclusions===&lt;br /&gt;
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&#039;s current release.&lt;br /&gt;
&lt;br /&gt;
* Network buffering&lt;br /&gt;
* Lua&lt;br /&gt;
* Lag compensation (needs a lot more testing)&lt;br /&gt;
* Acceleration changes&lt;br /&gt;
* Font system (still has some bugs/glitches and possible performance issues)&lt;br /&gt;
* New Translations (requires the new font system)&lt;br /&gt;
* Map geometry changes (requires flag zap zone support or breaks existing servers)&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7585</id>
		<title>DevelopmentPlans/2.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7585"/>
		<updated>2011-05-11T23:10:42Z</updated>

		<summary type="html">&lt;p&gt;Thumper: /* General Overview and Idea of Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
&lt;br /&gt;
BZFlag 2.3 will be a development version that will be released as 2.4.0.0. This is to get around the problem that development on [[BZFlag 3.0]] has stalled and does not look like it will continue. This is a last ditch effort to get development moving again.&lt;br /&gt;
&lt;br /&gt;
==Goal==&lt;br /&gt;
The goal is to release a new version of [[Main Page|BZFlag]] that is incompatible with 2.0.x for a good reason, and has at least one new feature that will make many players &#039;&#039;&#039;want&#039;&#039;&#039; to upgrade.&lt;br /&gt;
&lt;br /&gt;
The hope is that this process will renew developer motivation and attract new developers.&lt;br /&gt;
&lt;br /&gt;
Note: This proposal requires changing the version docs to make the compatability be the minor version number.&lt;br /&gt;
&lt;br /&gt;
==General Overview and Idea of Project==&lt;br /&gt;
* Facilitate moving global services (e.g., my.bzflag.org) to new hardware.&lt;br /&gt;
* Add one or two non-trivial client features so the players will be motivated to upgrade&lt;br /&gt;
** graphics quality?&lt;br /&gt;
** server list backport?&lt;br /&gt;
** Cloaked Shot flag (hoping for better than this)&lt;br /&gt;
* anti-cheating?&lt;br /&gt;
** Only allow a single end shot credit for holding the shield flag&lt;br /&gt;
** Only players with POLL permission are eligible to take part in a vote&lt;br /&gt;
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a bandaid for.&lt;br /&gt;
* Command changes&lt;br /&gt;
** Remove the /identify command.&lt;br /&gt;
** Backport the /serverdebug command&lt;br /&gt;
* BZBB rank promotions! ;-)&lt;br /&gt;
&lt;br /&gt;
==Schedule==&lt;br /&gt;
* 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.&lt;br /&gt;
* When proposals are in and accepted by consensus, start the 1-month countdown clock.&lt;br /&gt;
* Copy trunk to a V3_FAIL tag.&lt;br /&gt;
* Copy v2_0branch to trunk and commit a change that requires a new protocol number.&lt;br /&gt;
* Implement accepted proposals and test.&lt;br /&gt;
* After 1 month, revert any changes that have caused unfixed regressions.&lt;br /&gt;
* Update version docs and make trunk into 2.4.0.0 for releease.&lt;br /&gt;
* Tag Trunk to 2_4branch trelease.&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
These are the things that are in &amp;quot;the plan&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Backports===&lt;br /&gt;
These items should be moved back from V3 into the new version.&lt;br /&gt;
&lt;br /&gt;
* Connection Header Change&lt;br /&gt;
* Round Robin for services&lt;br /&gt;
* New GUI elements&lt;br /&gt;
* Server Side Scoring&lt;br /&gt;
* Sim loop breakup (to prevent F5)&lt;br /&gt;
* Server Side Flag ID and pickup&lt;br /&gt;
* New Shot Graphics&lt;br /&gt;
* Hud Markers&lt;br /&gt;
* Removal of low graphics, promotion of experimental to high.&lt;br /&gt;
* Server List from SOC&lt;br /&gt;
* API rework&lt;br /&gt;
* Remove Identify&lt;br /&gt;
* Windows Project Cleanup&lt;br /&gt;
* New Make system&lt;br /&gt;
* New source docs ( authors etc..)&lt;br /&gt;
* Server side handicap&lt;br /&gt;
* Gm shot checks&lt;br /&gt;
* Stealth fixes for rabbit&lt;br /&gt;
* Screenshot fixes&lt;br /&gt;
* Update Notification&lt;br /&gt;
* Wings Velocity Change&lt;br /&gt;
* Message Protection&lt;br /&gt;
* New artwork&lt;br /&gt;
* no Tks&lt;br /&gt;
* open FFA&lt;br /&gt;
* download URL change ( to force just images.bzflag.org, not any .org or .bz )&lt;br /&gt;
* remove fog options ( let server force)&lt;br /&gt;
* require GL 1.2&lt;br /&gt;
&lt;br /&gt;
===Backport evals===&lt;br /&gt;
These items should be evaluated to see if they can be or should be moved back, but are not critical. These may exist as code or patches.&lt;br /&gt;
&lt;br /&gt;
* Map changes.&lt;br /&gt;
* HTTP plugins&lt;br /&gt;
* New API events&lt;br /&gt;
* BZFChron&lt;br /&gt;
* Server Side Players&lt;br /&gt;
* Bugfixs not in notes&lt;br /&gt;
* New flags&lt;br /&gt;
* Rabbit as team&lt;br /&gt;
* SVN props cleanup&lt;br /&gt;
* Countdown/reload timer position fix for when showCoordinates is enabled&lt;br /&gt;
&lt;br /&gt;
====Things NOT to backport====&lt;br /&gt;
These items should not be moved back due to stability issues. These are generaly be the blocking items preventing V3s current release.&lt;br /&gt;
&lt;br /&gt;
* Network buffering&lt;br /&gt;
* Lua&lt;br /&gt;
* Lag Comp&lt;br /&gt;
* Acceleration Changes&lt;br /&gt;
* Font System&lt;br /&gt;
* New Translations&lt;br /&gt;
* Map geometry changes ( requires flag zap zone support or breaks existing servers. )&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFlag_CVS&amp;diff=5855</id>
		<title>BZFlag CVS</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFlag_CVS&amp;diff=5855"/>
		<updated>2009-06-07T04:16:22Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Undo revision 5850 by 208.184.6.25 (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|style=&amp;quot;width:100%;margin-top:+1em;background-color:#FF0000;border:1px solid #ccc;&amp;quot;&lt;br /&gt;
|&amp;lt;div style=&amp;quot;font-size:162%&amp;quot;&amp;gt;&#039;&#039;&#039;The CVS system has been replaced by the [[BZFlag SVN]] subversion system. The code in CVS is available for read only. No new code will be put into CVS. The following info is only for historical reference.&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
BZFlag CVS, is the [http://en.wikipedia.org/wiki/Concurrent_Versions_System Concurrent Versions System] that was previously used by the development team to maintain and store the [[BZFlag Source]] code before the move to [[BZFlag SVN|Subversion]]. The CVS system was hosted at [http://www.sourceforge.net SourceForge] and was accessible by anyone with the proper software.&lt;br /&gt;
&lt;br /&gt;
CVS has 2 methods of access, Anonymous ( or anon CVS ) for general users, and a SSH based Developer CVS, for project developers.&lt;br /&gt;
&lt;br /&gt;
==CVS clients==&lt;br /&gt;
To access the source code via CVS, you will need a CVS client. Most unix/linux type operating systems have the command line CVS client as an installable option. Windows users must download a third party CVS client, such as [http://www.tortoisecvs.org/ the Tortoise Graphical CVS Client].&lt;br /&gt;
&lt;br /&gt;
==CVS Modules==&lt;br /&gt;
The source code in CVS is broken up into a number of modules for ease of use and other reasons.  When requesting the source code from the CVS system the module must be specified to the CVS software.&lt;br /&gt;
&lt;br /&gt;
The current CVS modules are:&lt;br /&gt;
*bzflag : The main module that includes the game client, [[BZFS|server]], [[plug-ins]], and [[BZAdmin]].&lt;br /&gt;
*admin : The [[Master Ban]] list&lt;br /&gt;
*bzedit : The linux version of the BZFlag map editor [[BZEdit]]&lt;br /&gt;
*bzeditw32 : The windows version of the BZFlag map editor [[BZEditWin32]]&lt;br /&gt;
*web : The main website at http://www.bzflag.org&lt;br /&gt;
*db : Files related to the website http://my.bzflag.org and the [[Global Registration]] system.&lt;br /&gt;
*tools : an abandoned cross platform version of [[BZEditWin32]]&lt;br /&gt;
*pybzflag : an abandoned python implementation of BZFlag&lt;br /&gt;
&lt;br /&gt;
==Anon CVS Access==&lt;br /&gt;
===Command line===&lt;br /&gt;
[[image:Tort_anon_cvs.png|frame|Tortoise Graphical CVS Client]] &lt;br /&gt;
SourceForge allows anonymous access to the CVS system on a read only basis. One does not need a SourceForge account to get a copy of the code via the Anon CVS system.&lt;br /&gt;
&lt;br /&gt;
Users with a command line CVS tool can access the source by running 2 commands&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
 cvs -d:pserver:anonymous@bzflag.cvs.sourceforge.net:/cvsroot/bzflag login &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
and &lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
 cvs -z3 -d:pserver:anonymous@bzflag.cvs.sourceforge.net:/cvsroot/bzflag co -P &#039;&#039;&#039;bzflag&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
If a different module is desired, simply replace &#039;&#039;&#039;bzflag&#039;&#039;&#039; in the second command with the desired module.&lt;br /&gt;
&lt;br /&gt;
===TortoiseCVS===&lt;br /&gt;
&lt;br /&gt;
Windows users that use the Tortoise Graphical CVS Client, should enter the data shown here.&lt;br /&gt;
&lt;br /&gt;
Again if a different module is desired, simply replace the bzflag module name with the one desired.&lt;br /&gt;
&lt;br /&gt;
==Developer CVS Access==&lt;br /&gt;
===Command Line===&lt;br /&gt;
Project developers that need read and write access to the source code to make changes ( or [[commits]] ) need to use the SSH developer CVS. A sourceforge account is required for developer access, as well as approval from a project administrator.&lt;br /&gt;
&lt;br /&gt;
Users with a command line CVS tool can access the source by running 2 commands&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
 export CVS_RSH=ssh &lt;br /&gt;
|}&lt;br /&gt;
and&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
 cvs -z3 -d:ext:&#039;&#039;&#039;developername&#039;&#039;&#039;@bzflag.cvs.sourceforge.net:/cvsroot/bzflag co -P &#039;&#039;&#039;bzflag&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
The developer must enter there SourceForge username in place of &#039;&#039;&#039;developername&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===TortoiseCVS===&lt;br /&gt;
Windows users that use the Tortoise Graphical CVS Client, should enter the data shown here&lt;br /&gt;
[[Image:Tort_dev_cvs.png]]&lt;br /&gt;
&lt;br /&gt;
Again the developer must use there SourceForge username.to login.&lt;br /&gt;
&lt;br /&gt;
==Tags and Branches==&lt;br /&gt;
The BZFlag developers make use of &#039;&#039;&#039;tags&#039;&#039;&#039; and &#039;&#039;&#039;branches&#039;&#039;&#039; in CVS to separate the code for each version of the game. The current development version is always marked as &#039;&#039;HEAD&#039;&#039; in CVS and is the default code retrieved by a CVS client ([[BZFlag 3.0|v2.99.x]] at present).&lt;br /&gt;
&lt;br /&gt;
===Tags===&lt;br /&gt;
Each major release will be marked with a &#039;&#039;&#039;tag&#039;&#039;&#039; in CVS so that it can be easily retrieved. The tags for each release are in the following format:&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
 vX_Y_Z&lt;br /&gt;
|}&lt;br /&gt;
where,&lt;br /&gt;
*X is the Major Version&lt;br /&gt;
*Y is the Minor Version&lt;br /&gt;
*Z is the Revision&lt;br /&gt;
&lt;br /&gt;
The tag for the last release [[BZFlag 2.0.8|v2.0.8]] is &#039;&#039;v2_0_8&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Branches===&lt;br /&gt;
A branch for continuing development on each Minor version is kept in CVS as well.&lt;br /&gt;
The format for the branches is:&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
 vX_Ybranch&lt;br /&gt;
|}&lt;br /&gt;
where again, &lt;br /&gt;
*X is the Major Version&lt;br /&gt;
*Y is the Minor Version&lt;br /&gt;
&lt;br /&gt;
The branch for the development of 2.0.x is &#039;&#039;v2_0branch&#039;&#039; and is currently marked as version [[BZFlag 2.0.9|2.0.9]].&lt;br /&gt;
&lt;br /&gt;
===Usage in CVS===&lt;br /&gt;
To receive the code from a branch or tag, the CVS client must be told what tag or branch to use. &lt;br /&gt;
&lt;br /&gt;
===Command Line===&lt;br /&gt;
users of the command line tool should add&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
 -r &#039;&#039;TAG&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
after the &#039;&#039;&#039;co&#039;&#039;&#039; portion of the cvs command, but before the module name.&lt;br /&gt;
&lt;br /&gt;
===TortoiseCVS===&lt;br /&gt;
Windows users that use the Tortoise Graphical CVS Client, would pick the tag from the revision tab, as shown here.&lt;br /&gt;
[[Image:Tort_cvs_tag.png]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[BZFlag SVN]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
[http://sourceforge.net/cvs/?group_id=3248 SourceForge CVS Access page]&lt;br /&gt;
&lt;br /&gt;
[http://bzflag.cvs.sourceforge.net/bzflag/ BZFlag CVS Tree]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Compiling]]&lt;br /&gt;
[[Category:Versions]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Master_Ban&amp;diff=5854</id>
		<title>Master Ban</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Master_Ban&amp;diff=5854"/>
		<updated>2009-06-07T04:13:45Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Undo revision 5851 by 208.184.6.25 (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Master Ban list is an administration tool used to prevent abuse of the BZFlag server network.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The master ban list is an opt-out system for all public game servers that downloads an additional ban file. This ban file contains the static IPs of a small number of players who have been disruptive to the gaming network as a whole.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
A public server does not have to do anything to use the Master Ban list, it is loaded automatically at server start for any server that uses the &#039;&#039;&#039;-public&#039;&#039;&#039; command line option. Servers that do not wish to use the Master Ban list can add the &#039;&#039;&#039;-noMasterBanlist&#039;&#039;&#039; option and [[BZFS]] will not attempt to load the list.&lt;br /&gt;
&lt;br /&gt;
==Players on the Master Ban List==&lt;br /&gt;
The players on the Master Ban list were added because they engaged in disruptive behavior across a large number of servers, or attempted to disrupt the global network services (such as the [[Global Registration]] System, [[List Server]], or [http://my.bzflag.org/bb Forums]). All members of the Master Ban list have static IP addresses. No user with a dynamic IP address will be added to the Master Ban list, as the possibility of banning an innocent user is too great.  An exception to this rule for single addresses in dynamic ranges may be made temporarily during periods of severe disruption at the discretion of the developers.&lt;br /&gt;
&lt;br /&gt;
===Behavior for which you can be Masterbanned (i.e. &amp;quot;Disruptive Behavior&amp;quot; above)===&lt;br /&gt;
* Cheating on multiple game servers&lt;br /&gt;
* Spamming inappropriate (including, but not exclusively, commercial advertisement, hateful, vulgar, or racist) messages on multiple game servers&lt;br /&gt;
* Cracking attempts, denial of service attacks, or exploitation of vulnerabilities against multiple game servers&lt;br /&gt;
* Cracking attempts, denial of service attacks, or exploitation of vulnerabilities against network resources (i.e. List server, Bulletin boards, IRC channel, Global authentication servers, Wiki)&lt;br /&gt;
&lt;br /&gt;
===Behavior for which you cannot be Masterbanned===&lt;br /&gt;
* Cheating on, attacking, or exploiting a single game server.&lt;br /&gt;
** Rationale: fabrication of evidence is too easy (and therefore, possibility of being &amp;quot;framed&amp;quot; or &amp;quot;set up&amp;quot; is too high)&lt;br /&gt;
* Violating server rules other than cheating or spamming on game servers (e.g. language violations).&lt;br /&gt;
** Rationale: it is not the purpose of the master ban list to enforce local server rules.  Bans for this behavior should be handled at the server level&lt;br /&gt;
* Violating rules on network resources (i.e. spamming, engaging in personal attacks, or using foul language on the bulletin boards or IRC channels)&lt;br /&gt;
** Rationale: if the violations you committed are not related to playing and you do not pose a hazard to the servers, you should be allowed to continue to play.  Note, however, that you will still be banned from whatever resources you have abused and potentially others that we feel you are likely to abuse.&lt;br /&gt;
&lt;br /&gt;
==Master Ban List Management==&lt;br /&gt;
Write access to the Master Ban list is limited to developers and community members with [[BZFlag SVN|SVN]] commit access. The list is stored in SVN for history tracking. All additions to the list are handled via the SVN system, so they are logged for review. The Master Ban list can be viewed at http://www.bzflag.org/master-bans.txt . All changes to the list can be viewed at http://bzflag.cvs.sourceforge.net/bzflag/admin/master-bans.txt?view=log .&lt;br /&gt;
&lt;br /&gt;
===Getting Off the Master Ban List===&lt;br /&gt;
Users who are on the list and feel they should not be, or would like to be removed, should attempt to contact the project administrators as soon as possible. They should be willing to discuss how they got on the list and what they can do to get off the list. If they are guilty of the actions that got them on the list, they should be ready to explain why the administration staff should remove them from the list. They should also remember that playing is a privilege and not a right. The administration staff is willing to discuss Master Ban issues with anyone who is willing to discuss the matter in a civil manner.&lt;br /&gt;
&lt;br /&gt;
===Getting Someone On the Master Ban List===&lt;br /&gt;
The list is only intended for network wide abusers with static IP addresses. In all other cases local server bans will take care of the abuser. Comments from server owners are generally the only ones considered when reporting a master ban candidate. Players that feel a user should be master banned should take the issue up with the owners of the servers on which the disruptive behavior has been observed.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[BZFS Command Line Options]]&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
[http://www.bzflag.org/master-bans.txt Master Ban List]&lt;br /&gt;
&lt;br /&gt;
[http://bzflag.cvs.sourceforge.net/bzflag/admin/master-bans.txt?view=log Master Ban Change Log]&lt;br /&gt;
&lt;br /&gt;
[[Category:Server Security]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Master_Ban&amp;diff=5853</id>
		<title>Master Ban</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Master_Ban&amp;diff=5853"/>
		<updated>2009-06-07T04:13:06Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Undo revision 5852 by 208.184.6.58 (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Master Ban list is an administration tool used to prevent abuse of the BZFlag server network.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The master ban list was created by high minded Aspergers intellectuals desperately seeking ways to stop a small cadre of bold revolutionaries from disrupting their motives of spreading subliminal homo-erotic messages intertwined in the game code.  The ban list is contained as a ban file locked deep inside Tim Rikers ample colon. This ban file contains the static IPs of a small number of players who have been disruptive to the gaming network as a whole and obstinately refused to play hide-the-salami with Rikers on his male only Mormon retreat in Utah.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
A public server does not have to do anything to use the Master Ban list, it is loaded automatically at server start for any server that uses the &#039;&#039;&#039;-public&#039;&#039;&#039; command line option. Servers that do not wish to use the Master Ban list can add the &#039;&#039;&#039;-noMasterBanlist&#039;&#039;&#039; option and [[BZFS]] will not attempt to load the list.&lt;br /&gt;
&lt;br /&gt;
==Players on the Master Ban List==&lt;br /&gt;
The players on the Master Ban list were added because they engaged in disruptive behavior across a large number of servers, or attempted to disrupt the global network services (such as the [[Global Registration]] System, [[List Server]], or [http://my.bzflag.org/bb Forums]). All members of the Master Ban list have static IP addresses. No user with a dynamic IP address will be added to the Master Ban list, as the possibility of banning an innocent user is too great.  An exception to this rule for single addresses in dynamic ranges may be made temporarily during periods of severe disruption at the discretion of the developers.&lt;br /&gt;
&lt;br /&gt;
===Behavior for which you can be Masterbanned (i.e. &amp;quot;Disruptive Behavior&amp;quot; above)===&lt;br /&gt;
* Cheating on multiple game servers&lt;br /&gt;
* Spamming inappropriate (including, but not exclusively, commercial advertisement, hateful, vulgar, or racist) messages on multiple game servers&lt;br /&gt;
* Cracking attempts, denial of service attacks, or exploitation of vulnerabilities against multiple game servers&lt;br /&gt;
* Cracking attempts, denial of service attacks, or exploitation of vulnerabilities against network resources (i.e. List server, Bulletin boards, IRC channel, Global authentication servers, Wiki)&lt;br /&gt;
&lt;br /&gt;
===Behavior for which you cannot be Masterbanned===&lt;br /&gt;
* Cheating on, attacking, or exploiting a single game server.&lt;br /&gt;
** Rationale: fabrication of evidence is too easy (and therefore, possibility of being &amp;quot;framed&amp;quot; or &amp;quot;set up&amp;quot; is too high)&lt;br /&gt;
* Violating server rules other than cheating or spamming on game servers (e.g. language violations).&lt;br /&gt;
** Rationale: it is not the purpose of the master ban list to enforce local server rules.  Bans for this behavior should be handled at the server level&lt;br /&gt;
* Violating rules on network resources (i.e. spamming, engaging in personal attacks, or using foul language on the bulletin boards or IRC channels)&lt;br /&gt;
** Rationale: if the violations you committed are not related to playing and you do not pose a hazard to the servers, you should be allowed to continue to play.  Note, however, that you will still be banned from whatever resources you have abused and potentially others that we feel you are likely to abuse.&lt;br /&gt;
&lt;br /&gt;
==Master Ban List Management==&lt;br /&gt;
Write access to the Master Ban list is limited to developers and community members with [[BZFlag SVN|SVN]] commit access. The list is stored in SVN for history tracking. All additions to the list are handled via the SVN system, so they are logged for review. The Master Ban list can be viewed at http://www.bzflag.org/master-bans.txt . All changes to the list can be viewed at http://bzflag.cvs.sourceforge.net/bzflag/admin/master-bans.txt?view=log .&lt;br /&gt;
&lt;br /&gt;
===Getting Off the Master Ban List===&lt;br /&gt;
Users who are on the list and feel they should not be, or would like to be removed, should attempt to contact the project administrators as soon as possible. They should be willing to discuss how they got on the list and what they can do to get off the list. If they are guilty of the actions that got them on the list, they should be ready to explain why the administration staff should remove them from the list. They should also remember that playing is a privilege and not a right. The administration staff is willing to discuss Master Ban issues with anyone who is willing to discuss the matter in a civil manner.&lt;br /&gt;
&lt;br /&gt;
===Getting Someone On the Master Ban List===&lt;br /&gt;
The list is only intended for network wide abusers with static IP addresses. In all other cases local server bans will take care of the abuser. Comments from server owners are generally the only ones considered when reporting a master ban candidate. Players that feel a user should be master banned should take the issue up with the owners of the servers on which the disruptive behavior has been observed.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[BZFS Command Line Options]]&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
[http://www.bzflag.org/master-bans.txt Master Ban List]&lt;br /&gt;
&lt;br /&gt;
[http://bzflag.cvs.sourceforge.net/bzflag/admin/master-bans.txt?view=log Master Ban Change Log]&lt;br /&gt;
&lt;br /&gt;
[[Category:Server Security]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Google_Summer_of_Code:_2009&amp;diff=5626</id>
		<title>Google Summer of Code: 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Google_Summer_of_Code:_2009&amp;diff=5626"/>
		<updated>2009-03-28T16:14:40Z</updated>

		<summary type="html">&lt;p&gt;Thumper: /* Mentors */ Added myself to the mentors list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 2009 Google Summer of Code was announced in February, 2009.  BZFlag will again be applying as a mentoring organization.  Given our enormously successful participation in the program in 2007 and 2008, we are very excited to be participating again.  If accepted, BZFlag will be accepting student project proposals from March 23 until April 3.  Hints and tips on  [[Google_Summer_of_Code|getting started, preparing a submission, and the application process]] are available.&lt;br /&gt;
&lt;br /&gt;
Note that for 2009, if BZFlag is accepted back, we&#039;re expecting to only accept two or three new students so that we can focus our time and attention on those individuals and our upcoming major release.  That means you&#039;re really encouraged to talk with us early on and make an outstanding project proposal.  The best way to get our attention at this time is to make bug fixes.  We look forward to working with you!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Promotion Flyers =&lt;br /&gt;
&lt;br /&gt;
We&#039;re now soliciting designs for our 2009 GSoC promotional flyer.  If you are interested in providing a design, please contact us! &lt;br /&gt;
&lt;br /&gt;
= Proposal Ideas =&lt;br /&gt;
&lt;br /&gt;
While there are lots of [[Ideas]] floating around of varying utility to the game, the ideas listed below are the specific areas that we are predominantly interested in seeing worked on as part of the GSoC.  Please note that students are also welcome and encouraged to apply with their own ideas.  They should run those ideas by one of the developers beforehand to make sure they are consistent with the scope and focus of the project, though, as there are some ideas which will not be accepted regardless of the quality of the application and applicant.  We&#039;ve additionally provided several project ideas important to BZFlag development that we would very much like to see proposals for, shown in following. &lt;br /&gt;
&lt;br /&gt;
==High-Priority Project Ideas==&lt;br /&gt;
&lt;br /&gt;
This year our focus is on quality.  We need to stabilize our codebase and prepare for a major release.  That being the case, a &#039;&#039;&#039;*very*&#039;&#039;&#039; strong preference will be given to cleanup and refactoring projects over &#039;&#039;new code&#039;&#039; projects.  Please keep that in mind when preparing your application and do contact the developers if there are any questions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Suggest your own idea ===&lt;br /&gt;
BZFlag is always open to new development ideas and is under constant improvement.  If you are familiar with BZFlag&#039;s current capabilities and would like to propose some new enhancement, we&#039;d be happy to hear about.  Please discuss any new ideas with the existing core developers (on our IRC channel), if only to make sure the ideas are in-line with the spirit and constraints of the game.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: variable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lots o&#039; Bug fixing ===&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;It is often very complicated, difficult, and sometimes not very glamorous but this is our top-priority for 2009.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basically, this project idea is right up in line with helping new developers become familiarized with the BZFlag code and to help us improve our code quality for an upcoming major release.  Propose fixing bugs.  You can propose fixing a lot of them or just a few, but you should be detailed and methodical in your approach.  Refactoring work related to fixing a bug is great.  A progressive/agile/iterative approach to identifying which bugs you intend to look into and fix would also be fantastic.&lt;br /&gt;
&lt;br /&gt;
There is an extensive list of bugs that need to be addressed at https://sourceforge.net/tracker2/?group_id=3248&amp;amp;atid=103248 and http://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag/BUGS at your disposal.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*Good problem solving and diagnostic skills&lt;br /&gt;
*(optional) Proficient with a debugger (you will be by the end)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: variable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Cheat preventions ===&lt;br /&gt;
This task involves making BZFlag more robust towards preventing various cheats from working in the game.  This task implicitly requires adding protections on the server, moving game logic from the client to the server, and/or adding heuristics and other measures for detecting and dealing with cheat clients.  The student should have a strong grasp of the variety of BZFlag cheats that are available.  Please go into detail about which cheats you&#039;re interested in preventing and how you intend to employ those preventive measures. For information on known cheats, check out the [[Known Cheats]] wiki page.  &#039;&#039;This is a high-priority idea.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Strong familiarity with C/C++&lt;br /&gt;
*Basic familiarity with client/server networking applications&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Modularization of game logic ===&lt;br /&gt;
Much of the game logic is presently mixed in with BZFlag&#039;s graphics code. This lack of organization make it difficult to find code when necessary, and does not allow bzfs, bzrobots, or other tools to utilize the game logic. The game code should be modularized into [[DevelopmentGoals#libGame|libgame]] so that all that is left in the client code is the graphics subsystem. This will also ease the possible future integration of a 3D graphics engine.  &#039;&#039;This is a high-priority topic.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: low&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Modularization of OpenGL logic===&lt;br /&gt;
BZFlag&#039;s graphics code is (unfortunately) spread throughout the codebase with OpenGL calls being made in thousands of places.  The goal of this project would be to encapsulate *all* of the OpenGL calls into one place as a first step towards encapsulating all of the graphics code so that we can adopt a 3D rendering engine.  This project should not be to integrate with an engine, though, as there&#039;s too much that needs to happen beforehand.  Step one is getting all of the graphics code contained. &#039;&#039;This is a high-priority topic.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*Basic familiarity with OpenGL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: low&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Network Testing and Simulation Environment ===&lt;br /&gt;
This task should provide a controlled testing environment for simulating network behavioral characteristics, including the ability to change virtual network parameters to induce different network conditions of lag and packet loss.  This environment should provide a viewer capability to observe interactions of BZFlag clients being tested from the perspective of the player, the server, and third-party observers.  This simulation framework should work with the client and server directly so that testing of actual changes may be performed in a stand-alone environment.  &#039;&#039;This is a high-priority topic.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*Strong familiarity with networking applications and implications&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium&lt;br /&gt;
&lt;br /&gt;
==Additional Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
While code cleanup and refactoring projects are our top-priority, other projects will certainly be considered if the idea is well thought-out and the student is passionate about the idea.  Continuing a previously successful GSoC project is also something very highly desired (even if it does entail new code).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BZWorkBench world editor enhancement ===&lt;br /&gt;
&#039;&#039;This project is a continuation of a previous GSoC project.  Please contact the developers before proposing this idea to determine the current status of the work and how you can help continue the effort.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As a participant in last year&#039;s program, Jude Nelson started work on BZWorkBench.  It is a world file editor with a very solid foundation but much work still remains to be done, including a cross-platform GUI, mesh support, and other editor features.  Ideally, two students would work on this.  For example, one student could focus on improving the GUI&#039;s workflow and ease-of-use, and another could focus on finishing the back-end object manipulation.&lt;br /&gt;
&lt;br /&gt;
The current GUI does not conform to a specific HIG, nor does its usability resemble many other 3D editors; this should change.  The back-end still lacks support for many of the objects added in BZFlag 2.0, such as Meshes, texture matrices, dynamic colors, etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*Ability to read through other people&#039;s code&lt;br /&gt;
*Basic GUI, interaction, and usability design&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: high&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Global authentication daemon ===&lt;br /&gt;
&#039;&#039;This project is a continuation of a previous GSoC project.  Please contact the developers before proposing this idea to determine the current status of the work and how you can help continue the effort.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The goal of this project would be to provide global account management system daemon that the client and servers would communicate with for account, group membership, and profile information.  This effort preferably be written in C++, would need to talk to an LDAP server for persistent storage on the backend, and allow chaining across multiple daemons for data replication and failover service.  The daemon would need to provide a well structured simple communications API that the game client and game servers can securely talk to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*Familiarity with LDAP&lt;br /&gt;
*Familiarity with client/server networking applications&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Enhanced server listing ===&lt;br /&gt;
&#039;&#039;This project is a continuation of a previous GSoC project.  Please contact the developers before proposing this idea to determine the current status of the work and how you can help continue the effort.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The game client includes a simplistic listing of publicly available servers.  This task would involve significantly enhancing the listing section in BZFlag to allow for various sortings (e.g. ping time, country, name, etc), favorites, recently used, specific additional information on specific servers, and all existing information.  The task would involve coming up with a user-friendly design that is fully keyboard-accessible.  It could leverage external gui toolkits, use BZFlag&#039;s existing gui library, and/or extend the existing capabilities.  The focus would be on creating an intuitive and informative listing enhancement within the constraints of the gaming interface.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*GUI, usability, and interaction design&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: low&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BZRobots ===&lt;br /&gt;
&#039;&#039;This project is a continuation of a previous GSoC project.  Please contact the developers before proposing this idea to determine the current status of the work and how you can help continue the effort.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
BZFlag now has a programmable game client that can be used to implement artificially intelligent (AI) computer players.  More work is needeed, though, to clean up the code and deliver bzrobots as a new easy-to-use feature to users.  More work is needed.  BZRobots conforms to the Robocode API with a few minor (yet necessary) deviations, yet there are a few protocol actions that still need to be implemented.  There is also lots of code quality and refactoring issues that need to be addressed.  Presently, the code is a copy of the entire client code with user input removed so when a change or bug fix happens to the client, it has to also be manually changed in the bzrobots copy of the code.  The code needs to be refactored into common logic shared by both game clients.  &lt;br /&gt;
&lt;br /&gt;
See [[BZRobots]] for more information on the current status as well as src/bzrobots in a source checkout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*Ability to read through an existing code base and refactor appropriately&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: low&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Finish server-side players ===&lt;br /&gt;
BZFlag includes players that can be run and managed from the server through a server-side plugin.  Unlike the client-side BZRobots project, server-side robots have entirely different issues that they have to account for and information that they have access to.  This project would entail taking the work that has already been started to completion.  As this is a continuation, please do contact the developers before proposing this idea to determine the current status and work required.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*Ability to pick up a work-in-progress&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium&lt;br /&gt;
&lt;br /&gt;
=== Dead Reckoning and other Networking Enhancements ===&lt;br /&gt;
The basic idea is to improve BZFlag&#039;s networking by performing dead reckoning on the server along with context-sensitive packet delivery culling.  Much work has gone into the game towards moving more and more of the game state to the server, but there is additional migration and protocol changes required.  Similarly, network utilization can be optimized by not relaying certain packets (like miniscule position updates to distant players) based on the current game state.  Some useful background reading for this task include &amp;quot;[http://www.research.ibm.com/netgames2005/papers/aggarwal.pdf Fairness in Dead-Reckoning based Distributed Multi-Player Games (pdf)]&amp;quot; and &amp;quot;[http://www.sigcomm.org/sigcomm2004/workshop_papers/net610-aggarwal.pdf Accuracy in Dead-Reckoning Based Distributed Multi-Player Games (pdf)]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Strong familiarity with C/C++&lt;br /&gt;
*Strong familiarity with networking applications&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: high&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Two-player tanks ===&lt;br /&gt;
This always gets some folks excited, but you will have to have already done a lot of research and make a good proposal before this idea will be considered.  That said, the topic of having two-player tanks where only one player drives and the other player only shoots has come up many times over the years.  BZFlag doesn&#039;t allow turret control specifically as a game design feature.  An initial two-player tank arrangement would probably not deviate from that requirement initially.  Lots of testing, interaction, and feedback are required for this feature to make it to release given how much it potentially would affect gameplay.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*Strong ability to read through existing code&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: high &lt;br /&gt;
(the implementation itself is not hard at all, the acceptance testing will be) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multiple display support===&lt;br /&gt;
Add the ability to effectively manage multiple display environments from within the game allowing for the detection, alignment/orientation specification, and resolution parameters for each display via menu options as well as proper full-screen and/or windowed support. An additional feature could involve allowing the user to dedicate a display to the various primary gui elements (the 3D environment, the radar, and the chat console). BZFlag&#039;s current context management is mostly handled by SDL or other platform-specific modules, so this could be taken into consideration. There&#039;s also the possibility of our move to an integrated graphics engine would similarly impact how multidisplay contexts are created and managed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*Familiarity with SDL&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: low&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Cross-server communications system ===&lt;br /&gt;
&#039;&#039;This project is a continuation of a previous GSoC project.  Please contact the developers before proposing this idea to determine the current status of the work and how you can help continue the effort.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This task would be the design and implementation of a server spanning chat system. It would allow players from one server to send chat messages to players on other servers. It should also be able to be used to allow players to know where there friends or &amp;quot;buddies&amp;quot; are playing if they are online. The system should tie into the central user name registration system. Added benefits would be the use of existing protocols or applications, such as Jabber or IRC, if they can be integrated cleanly. Support for using off-line apps for chat and friends list access as well as server management would be a plus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*Familiarity with networking applications&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: low&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===In-game profile management===&lt;br /&gt;
BZFlag allows players to specify a callsign and team in addition to other player characteristics and preferences. This enhancement would focus on allowing the user to specify and manage multiple profiles from within the game. Profiles could be linked together and should be presented in an intuitive manner (proposal should highlight how you&#039;d go about achieving that). The profiles would need to associate with global account information as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*Familiarity with GUI, interaction, and usability design&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: low&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Integrated BZFS web interface (aka BZ&#039;s WebAdmin plugin) ===&lt;br /&gt;
&#039;&#039;This project is a continuation of a previous GSoC project.  Please contact the developers before proposing this idea to determine the current status of the work and how you can help continue the effort.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The BZFlag game server, BZFS, could benefit from having a browser-accessible http/https interface for viewing server statistics, setting various parameters, and otherwise controlling the server daemon while it is running. Similar to how your network router has a web interface for changing configuration parameters, this idea is simply to create this interface in a maintainable and portable manner. There was a previous GSoC project that worked on a server-side plugin that provides this feature, but it needs a lot more work both on the interface and in the logic.  Be sure to discuss this with the developers before suggesting it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;:&lt;br /&gt;
*Familiarity with C/C++&lt;br /&gt;
*Familiarity with GUI, interaction, and usability design&lt;br /&gt;
*Acceptance testing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: low&lt;br /&gt;
&lt;br /&gt;
= Mentors =&lt;br /&gt;
&lt;br /&gt;
BZFlag operates with a &#039;&#039;group mentoring&#039;&#039; approach meaning that students may (and should) call upon any developer within the community if they have questions.  The mentors for 2009 are:&lt;br /&gt;
&lt;br /&gt;
* Sean Morrison (brlcad/learner)&lt;br /&gt;
* Daniel Remenak (DTRemenak/Erroneous)&lt;br /&gt;
* Jeffrey Myers (JeffM/JeffM2501)&lt;br /&gt;
* Julio Jiménez Borreguero (Manu/jujibo)&lt;br /&gt;
* Scott Wichser (Blast/Blast007)&lt;br /&gt;
* David Wollner (JB diGriz)&lt;br /&gt;
* Joe VanOverberghe (joevano/Donny_Baker)&lt;br /&gt;
* James Lawrence (spldart)&lt;br /&gt;
* Bernt Hansen (Thumper_)&lt;br /&gt;
&lt;br /&gt;
[[Category: Development]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFlag_on_IRC&amp;diff=5344</id>
		<title>BZFlag on IRC</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFlag_on_IRC&amp;diff=5344"/>
		<updated>2009-02-01T21:40:54Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=FreeNode=&lt;br /&gt;
The official BZFlag org. and it&#039;s associated communities use the [http://freenode.net/ freenode IRC network] for communication and collaboration.&lt;br /&gt;
&lt;br /&gt;
==Channels==&lt;br /&gt;
===Official channels===&lt;br /&gt;
BZFlag maintains 2 official channels run by the org.&lt;br /&gt;
====#bzflag====&lt;br /&gt;
The [irc://irc.freenode.net/bzflag #bzflag] channel is the primary development and support channel. The major developers and many long time community members are users. Discussions in the channel range from development and coding discussions to technical support and bug reports. #bzflag is a great channel to discuss new features and bugs. The channel is moderated by the project administration and development staff. &#039;&#039;&#039;This channel is not for help with specific servers or administration issues&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====#bzflag-chat====&lt;br /&gt;
The #bzflag-chat channel is a more informal channel designated for player community discussions.&lt;br /&gt;
&lt;br /&gt;
===Other channels===&lt;br /&gt;
A number of players, servers, and [[leagues]] have their own channel for more focused discussion. Some of these include:&lt;br /&gt;
&lt;br /&gt;
* ##bar (DUCLeague team, The Barbarians)&lt;br /&gt;
* ##bz-inc (DUCLeague team, [http://my.bzflag.org/league/index.php?link=teaminfo&amp;amp;id=689/ Bz-Incorporated])&lt;br /&gt;
* ##bzflagr (Support channel for the [http://bzflagr.net BZFlagr.net servers.])&lt;br /&gt;
* ##bzpod (Channel to discuss the BZFlag podcast, BZPod)&lt;br /&gt;
* ##bzpro (Support channel for the [http://bzpro.net BZPro.net servers.])&lt;br /&gt;
* ##bzw (A place to discuss map making for BZFlag, including ideas and help)&lt;br /&gt;
* ##ducleague (Support channel for [http://my.bzflag.org/league/ Ducati League (DucLeague)])&lt;br /&gt;
* ##guleague (Support channel for [http://gu.bzleague.com/ GamesUnited League (GULeague)])&lt;br /&gt;
* ##icf (Support channel for [http://gu.bzleague.com/index.php?link=teaminfo&amp;amp;id=112 Invasive Chaotic Frenzies, (GULeague)])&lt;br /&gt;
* ##norang (Support channel for [http://bzflag.norang.ca Norang.ca] BZFlag servers)&lt;br /&gt;
* ##planetmofo (Support channel for [http://www.planet-mofo.com planet-mofo.com] servers)&lt;br /&gt;
* ##t42 ([http://gu.bzleague.com/index.php?link=teaminfo&amp;amp;id=39 GULeague team])&lt;br /&gt;
* ##untamed ([http://my.bzflag.org/league/index.php?link=teaminfo&amp;amp;id=909 DUCLeague team])&lt;br /&gt;
&lt;br /&gt;
Please note that teams,leagues and groups should create channels that begin with ## to follow the freenode &amp;quot;about&amp;quot; channel policy.&lt;br /&gt;
&lt;br /&gt;
=stormcenter.net=&lt;br /&gt;
An unofficial bzflag channel is run on irc.stormcenter.net&lt;br /&gt;
* #bzflag (unofficial support channel for [http://www.bztank.net BZtank] servers)&lt;br /&gt;
&lt;br /&gt;
=IRC Clients=&lt;br /&gt;
To access the IRC network you need to use an IRC client. [http://irchelp.org/ http://irchelp.org/] is an excellent resource for more information on general IRC.&lt;br /&gt;
&lt;br /&gt;
There is a BZFlag-hosted IRC client at http://my.BZFlag.org/irc/irc.cgi.&lt;br /&gt;
&lt;br /&gt;
=External links=&lt;br /&gt;
*[http://my.BZFlag.org/irc/irc.cgi BZFlag.org-hosted IRC client]&lt;br /&gt;
*[http://irchelp.org/ IRC help docs]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Support]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Group_Permissions&amp;diff=3286</id>
		<title>Group Permissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Group_Permissions&amp;diff=3286"/>
		<updated>2007-09-19T23:23:20Z</updated>

		<summary type="html">&lt;p&gt;Thumper: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{merge|Server Permissions}}&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the available group permissions. They are used by the server to determine what players can and can not do. There is an online [http://groupdb.links-clan.net/ Group File builder] and there is a [[Sample_Group_File|sample group file]] page.&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;b&amp;gt;Permission&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;Commands&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ACTIONMESSAGE || /me&lt;br /&gt;
|-&lt;br /&gt;
| ADMINMESSAGERECEIVE || Able to recieve messages on admin channel&lt;br /&gt;
|-&lt;br /&gt;
| ADMINMESSAGESEND || Able to send messages to admin channel&lt;br /&gt;
|-&lt;br /&gt;
| ANTIBAN  || protected from being banned&lt;br /&gt;
|-&lt;br /&gt;
| ANTIDEREGISTER  || Protected from being deregistered locally&lt;br /&gt;
|-&lt;br /&gt;
| ANTIKICK  || Protected from being kicked&lt;br /&gt;
|-&lt;br /&gt;
| ANTIPOLL  || Protected from being polled against&lt;br /&gt;
|-&lt;br /&gt;
| ANTIPOLLBAN  || Protected from being poll banned&lt;br /&gt;
|-&lt;br /&gt;
| ANTIPOLLKICK  || Protected from being poll kicked&lt;br /&gt;
|-&lt;br /&gt;
| BAN || /ban /hostban &lt;br /&gt;
|-&lt;br /&gt;
| BANLIST || /banlist /hostbanlist &lt;br /&gt;
|-&lt;br /&gt;
| COUNTDOWN || /countdown &lt;br /&gt;
|-&lt;br /&gt;
| DATE || /date &lt;br /&gt;
|-&lt;br /&gt;
| ENDGAME || /gameover &lt;br /&gt;
|-&lt;br /&gt;
| FLAGHISTORY || /flaghistory &lt;br /&gt;
|-&lt;br /&gt;
| FLAGMASTER || /flag give, /flag take, /flag reset, and /flag up&lt;br /&gt;
|-&lt;br /&gt;
| FLAGMOD || /flag reset and /flag up&lt;br /&gt;
|-&lt;br /&gt;
| HIDEADMIN || Does not show the @ symbol by admins&lt;br /&gt;
|-&lt;br /&gt;
| IDLESTATS || /idlestats &lt;br /&gt;
|-&lt;br /&gt;
| INFO || Not implemented&lt;br /&gt;
|-&lt;br /&gt;
| KICK || /kick &lt;br /&gt;
|-&lt;br /&gt;
| LAGSTATS || /lagstats &lt;br /&gt;
|-&lt;br /&gt;
| LAGWARN || /lagwarn &lt;br /&gt;
|-&lt;br /&gt;
| LISTPERMS || Not implemented&lt;br /&gt;
|-&lt;br /&gt;
| MASTERBAN || /masterban &lt;br /&gt;
|-&lt;br /&gt;
| PLAYERLIST || /playerlist &lt;br /&gt;
|-&lt;br /&gt;
| POLL || /poll &lt;br /&gt;
|-&lt;br /&gt;
| POLLBAN || /poll ban &lt;br /&gt;
|-&lt;br /&gt;
| POLLKICK || /poll kick &lt;br /&gt;
|-&lt;br /&gt;
| POLLSET || /poll set &lt;br /&gt;
|-&lt;br /&gt;
| POLLFLAGRESET || /poll flagreset &lt;br /&gt;
|-&lt;br /&gt;
| PRIVATEMESSAGE || /privateMessage &lt;br /&gt;
|-&lt;br /&gt;
| RECORD || /record &lt;br /&gt;
|-&lt;br /&gt;
| REJOIN || Protects player from the rejoin delay after disconnecting&lt;br /&gt;
|-&lt;br /&gt;
| REMOVEPERMS || /removegroup &lt;br /&gt;
|-&lt;br /&gt;
| REPLAY || /replay &lt;br /&gt;
|-&lt;br /&gt;
| REQUIREIDENTIFY || Requires that the player is identified before playing&lt;br /&gt;
|-&lt;br /&gt;
| SAY || /say &lt;br /&gt;
|-&lt;br /&gt;
| SETALL || /reload /deregister /reset /set &lt;br /&gt;
|-&lt;br /&gt;
| SETPASSWORD || /setpassword &lt;br /&gt;
|-&lt;br /&gt;
| SETPERMS || /setgroup &lt;br /&gt;
|-&lt;br /&gt;
| SETVAR || /set /reset &lt;br /&gt;
|-&lt;br /&gt;
| SHOWOTHERS || /showgroup &lt;br /&gt;
|-&lt;br /&gt;
| SHORTBAN || /shortBan &lt;br /&gt;
|-&lt;br /&gt;
| SHUTDOWNSERVER || /shutdownserver &lt;br /&gt;
|-&lt;br /&gt;
| SPAWN || Allows player to spawn&lt;br /&gt;
|-&lt;br /&gt;
| SUPERKILL || /superkill &lt;br /&gt;
|-&lt;br /&gt;
| UNBAN || /unban /hostunban &lt;br /&gt;
|-&lt;br /&gt;
| VETO || /veto &lt;br /&gt;
|-&lt;br /&gt;
| VIEWREPORTS || /viewreports &lt;br /&gt;
|-&lt;br /&gt;
| VOTE || /vote &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==External Resources==&lt;br /&gt;
[http://groupdb.links-clan.net/ groupdb.links-clan.net Group File builer]&lt;br /&gt;
[[Category:Server]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Players&amp;diff=2360</id>
		<title>CommunityAdministrationNetwork/Players</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Players&amp;diff=2360"/>
		<updated>2007-05-10T02:09:06Z</updated>

		<summary type="html">&lt;p&gt;Thumper: typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This page describes the information needed by players to play on servers that are part of the  [[CommunityAdminstrationNetwork/About|Community Administration Network]].&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
Players on network servers must only meet 2 requirements.&lt;br /&gt;
&lt;br /&gt;
===Global Registration===&lt;br /&gt;
Players must have a valid global user name and login, and play using that name.&lt;br /&gt;
&lt;br /&gt;
===Follow the Rules===&lt;br /&gt;
Players are expected to follow the 6 network rules as they are specified in the [[CommunityAdminstrationNetwork/About#Rules|Community Administration Network]] Document. Failure to follow these rules can result in administrative actions.&lt;br /&gt;
&lt;br /&gt;
==Disputes==&lt;br /&gt;
Players that have a dispute are expected to work with the administration staff to resolve the dispute in a calm and civil manner in private. The admin staff will gladly work with players to resolve any technical, network, or software issues that may cause violations of any of the rules. The admin staff has a good working relationship with the project developers and will ask them to assist in diagnosing any problems. Players are expected to assist the admin staff in resolving the issues so that everyone can have a fun game.&lt;br /&gt;
&lt;br /&gt;
If a dispute is unable to be resolved by the Field Agents, the player can bring the issue to the attention of the Core Administrators. The Core Administrators can be contacted via the following means.&lt;br /&gt;
&lt;br /&gt;
  * &amp;lt;SOME EMAIL ADDRESS WE PICK&amp;gt;&lt;br /&gt;
  * the ##CommunityAdminNetwork IRC channel on irc.freenode.net:6667&lt;br /&gt;
  * BZBB PM to any core member ( list them somewhere ).&lt;br /&gt;
&lt;br /&gt;
Issues that players may have with the Core Administration team should be addressed to the Network Administrator directly.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
===I would like to help out and be a field agent, what do I do?===&lt;br /&gt;
The answer to this question is complex. It is important to understand exactly what a field agent does before a player decides they wish to apply to the network. All users should be aware of the requirements, and expected behaviors of a field agent as well as the full ruleset for the network. The [[CommunityAdminstrationNetwork/Field_Agent|Field Agent]] guide lists the requirements and behaviors. Players should also have a history of good play on one or more member servers before they even think about applying as a field agent.&lt;br /&gt;
&lt;br /&gt;
Once a player has read and understands all the material, they should contact the Administration staff and let them know that they are interested in donating their time as a field agent. The best way to do this is via the IRC channel, or e-mail. Once you have let the staff know, you should simply wait. Field agents are chosen based off of a number of criteria, and need. Pushing, pestering, or bugging people to become an agent, shows that the applicant probably does not meet the behavior needs of field agent. A new field agent must be sponsored by an existing Core Administrator. 3 or more existing field agents can petition the Core Administrators to sponsor a new field agent. Agents are only added if there is a need for more. The network administrator has veto and approval power over all field agents.&lt;br /&gt;
&lt;br /&gt;
When a new field agent is approved, they will be asked to read and agree to the field agent agreement form, and fill in valid contact info, age, and verify that they have read and understand the network rules and administration policy. They will also be trained and tested on the use of the CANAdmin plug-in. After this is completed, the users BZID will be added to the central database as a field agent. Other field agents or the network administration staff may monitor or review any new or existing field agents actions at any time.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Players&amp;diff=2353</id>
		<title>CommunityAdministrationNetwork/Players</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Players&amp;diff=2353"/>
		<updated>2007-05-10T01:45:05Z</updated>

		<summary type="html">&lt;p&gt;Thumper: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This page describes the information needed by players to play on servers that are part of the  [[CommunityAdminstrationNetwork/About|Community Administration Network]].&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
Players on network servers must only meet 2 requirements.&lt;br /&gt;
&lt;br /&gt;
===Global Registration===&lt;br /&gt;
Players must have a valid global user name and login, and play using that name.&lt;br /&gt;
&lt;br /&gt;
===Follow the Rules===&lt;br /&gt;
Players are expected to follow the 6 network rules as they are specified in the [[CommunityAdminstrationNetwork/About#Rules|Community Administration Network]] Document. Failure to follow these rules can result in administrative actions.&lt;br /&gt;
&lt;br /&gt;
==Disputes==&lt;br /&gt;
Players that have a dispute are expected to work with the administration staff to resolve the dispute in a calm and civil manner in private. The admin staff will gladly work with players to resolve any technical, network, or software issues that may cause violations of any of the rules. The admin staff has a good working relationship with the project developers and will ask them to assist in diagnosing any problems. Players are expected to assist the admin staff in resolving the issues so that everyone can have a fun game.&lt;br /&gt;
&lt;br /&gt;
If a dispute is unable to be resolved by the Field Agents, the player can bring the issue to the attention of the Core Administrators. The Core Administrators can be contacted via the following means.&lt;br /&gt;
&lt;br /&gt;
  * &amp;lt;SOME EMAIL ADDRESS WE PICK&amp;gt;&lt;br /&gt;
  * the ##CommunityAdminNetwork IRC channel on irc.freenode.net:6667&lt;br /&gt;
  * BZBB PM to any core member ( list them somewhere ).&lt;br /&gt;
&lt;br /&gt;
Issues that players may have with the Core Administration team should be addressed to the Network Administrator directly.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
===I would like to help out and be a field agent, what do I do?===&lt;br /&gt;
The answer to this question is complex. It is important to understand exactly what a field agent does before a player decides they wish to apply to the network. All users should be aware of the requirements, and expected behaviors of field agent as well as the full ruleset for the network. The [[CommunityAdminstrationNetwork/Field_Agent|Field Agent]] guide lists the requirements and behaviors. Players should also have a history of good play on one or more member servers before they even think about field agents.&lt;br /&gt;
&lt;br /&gt;
Once a player has read and understands all the material, they should contact the Administration staff and let them know that they are interested in donating their time as a field agent. The best way to do this is via the IRC channel, or e-mail. Once you have let the staff know, you should simply wait. Field agents are chosen based off of a number of criteria, and need. Pushing, pestering, or bunging people to become an agent, shows that the applicant probably does not meet the behavior needs of field agent. A new field agent must be sponsored by an existing Core Administrator. 3 or more existing field agents can petition the Core Administrators to sponsor a new field agent. Agents are only added if there is a need for more. The network administrator has veto and approval power over all field agents.&lt;br /&gt;
&lt;br /&gt;
When a new field agent is approved, they will be asked to read and agree to the field agent agreement form, and fill in valid contact info, age, and verify that they have read and understand the network rules and administration policy. They will also be trained and tested on the use of the CANAdmin plug-in. After this is completed, the users BZID will be added to the central database as a field agent. Other field agents or the network administration staff may monitor or review any new or existing field agents actions at any time.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2352</id>
		<title>CommunityAdministrationNetwork/Field Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2352"/>
		<updated>2007-05-10T01:42:06Z</updated>

		<summary type="html">&lt;p&gt;Thumper: typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This page describes the information needed by Field Agents for the [[CommunityAdminstrationNetwork/About|Community Administration Network]].&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
Field Agents must meet the following requirements.&lt;br /&gt;
&lt;br /&gt;
===Global Registration===&lt;br /&gt;
Field Agents must have a valid global name and login, with valid contact info.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
Field Agents must be at least 17 years of age, or be approved by the network administrator.&lt;br /&gt;
Field Agents must report their correct age to the administration staff when asked.&lt;br /&gt;
&lt;br /&gt;
===Record===&lt;br /&gt;
Field Agents must have a clean record on the master ban list, and not have any outstanding bans or issues on any CAN servers.&lt;br /&gt;
&lt;br /&gt;
===Sponsorship and approval===&lt;br /&gt;
Field Agents must be sponsored by at least one Core Administrator. 3 Field Agents can petition a Core Administrator to sponsor a new Field Agent. All new field agents must be approved by the Core Administrators, or the Network Administrator.&lt;br /&gt;
&lt;br /&gt;
==Behavior==&lt;br /&gt;
Field Agents are expected to follow a behavior guideline when playing on CAN member servers.&lt;br /&gt;
&lt;br /&gt;
===Follow the Rules===&lt;br /&gt;
Field Agents are expected to follow the same rules as players when playing. Violations of these rules will lead to removal from the administration staff, as well as possible network administrative actions ( bans ).&lt;br /&gt;
&lt;br /&gt;
===Be Civil===&lt;br /&gt;
Field Agents are expected to conduct there administration in a calm and civil manner. They should not let anger or personal feelings get in the way of their administration duties, they are expected to not hold any &amp;quot;grudges&amp;quot; against specific users. All discussions, arguments, or disagreement with players over administrative issues should happen in private so they will disrupt the play for others as little as possible. Field Agents must remember that it is there job to help all users play the game and have fun.&lt;br /&gt;
&lt;br /&gt;
===Give the benefit of the doubt===&lt;br /&gt;
Field Agents are expected to give a user the benefit of the doubt when dealing with an initial violation. Users should always be approached with private chat text to ask them first to stop the behavior that is causing the violation. The agent should explain what the behavior is, why it is a violation, and be willing to help the user resolve the issue to the best of there ability. Field Agents are expected to remove bans on users who have spoken with them or other administration staff in a civil manner and have agreed to not repeat their offenses. Users that abuse this will not be given that courtesy a second time.&lt;br /&gt;
&lt;br /&gt;
===Use the least necessary action to resolve an issue===&lt;br /&gt;
Field Agents are expected to resolve issues with the &amp;quot;lowest&amp;quot; possible administrative action. They should not kick when a silence should work, not ban when a kick would do the same. Bans should be the last resort as they are network wide. Field Agents are expected to warn before all actions. The CANAdmin plug-in will track and enforce the warning of people before higher level actions are allowed ( kick and ban ). Field Agents are expected to work with all users to resolve any violation issues, and never simply &amp;quot;blow them off&amp;quot;. They should refer the user to the Core Administrators if a suitable resolution can not be found.&lt;br /&gt;
&lt;br /&gt;
===Use CAN admin abilities only for network violations===&lt;br /&gt;
All admin actions on servers must be in response to a violation of one of the six network rules. No other use of the network admin functions are permitted. The CANAdmin plug-in will require the rule number that is in violation for all actions. Field Agents may be granted additional abilities by server owners, and be asked to enforce additional rules. If the Field administrator agrees to this, then they must use the server&#039;s local administration system to enforce those additional rules, and not the network system.&lt;br /&gt;
&lt;br /&gt;
Violations of rule 5, the minimum language rules, must violate the very specific conditions set forth in the rule. Interpretations of the rule to include additional language that is not mentioned in the rule, based on personal distaste, or beliefs, are not allowed. Violations of rule 5 must be very clear cut before ban level action is taken. Most users who will skirt the edges of rule 5 will most likely break another rule in the process, usually rule 4. For Simple violations of rule 5 can be handled with a simple net silence command after the required warnings. While annoying, violations of rule 5 have the least affect on the game, and are the simplest to resolve, even for regular users ( everyone can use the silence command ). Field Agents are expected to understand that different people have different levels of tolerance for language, and may find things more or less offensive then they personally do. Common saying that may have religious overtones, are not considered offensive. Attacks must be very directed against very specific subjects. Terms or abbreviations like &amp;quot;OMG&amp;quot;, &amp;quot;WTF&amp;quot;, and the like, are common enough in language that they are not meant as offensive they are simply exclamations. Any action that is simply taken as &amp;quot;blasphemy&amp;quot; in any religion is not worthy of action and should be ignored, unless the player uses the text in a violation of rule 4(spamming).&lt;br /&gt;
&lt;br /&gt;
Agents that abuse the network admin features for there own personal reasons, will be removed as network agents, and possibly banned from the network depending on the severity of the actions. All network actions are logged with the BZID of the admin who applied them. If need be the Core Administrators can remove any and all network actions caused by any Agent.&lt;br /&gt;
&lt;br /&gt;
==Administrative actions==&lt;br /&gt;
Field Agents may take the following administrative actions on any member server. All actions are logged and recorded with the administrator that performed the action, and the server that they were applied on.&lt;br /&gt;
&lt;br /&gt;
===NetWarn===&lt;br /&gt;
  Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetWarn&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This action will notify the specified player that they are in violation of the specified rule. The warn action will be logged with the central network database. The user will also receive a BZBB PM with the warning and link to the network rules. Multiple warnings can be issued but must have at least 1 minute duration in between them to allow the user time to discontinue the action. The CANAdmin plug-in will not accept warnings that violate the wait duration.&lt;br /&gt;
&lt;br /&gt;
===NetActivityList===&lt;br /&gt;
 Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetActivityList&#039;&#039;&#039; Player&lt;br /&gt;
&lt;br /&gt;
This action will list the history of warnings, kicks, bans, silences, and other admin actions stored for the player across all network servers. Each action will list the action, rule violated, the admin, and the comment given at the time of the action. Players have access to a simplified version of this command that will list all the actions for their call sign, but not any others. Server Admins (anyone with an @) also have access to the full version of this command for informational use.&lt;br /&gt;
&lt;br /&gt;
===NetSilence===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetSilence&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
This action will block all chat for the specified user on all network services for a period of one hour. The action will also be logged the same way as a warning.&lt;br /&gt;
&lt;br /&gt;
===NetKick===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetKick&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server, and disallow any new connections to any network server for a period of no less then 10 minutes. The Kick is network wide, and will prevent immediate rejoins. Users will be given a countdown time each time they attempt to reconnect. This action is logged, and will not be performed by the CANAdmin plug-in unless the user has received 3 or more warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBan===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBan&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ). This is the harshest action a Field Agent can take, and should only be used as a last resort. Like the kick, the action is logged and can not be applied unless the user has received 3 warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBanCritical===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBanCritical&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ), just like a regular NetBan command. In addition this command will flag the ban action for review by the Core Administration team for a possible longer term BAN. This command should not be used lightly or frequently by the Field Agents, and should only be reserved for the worst offenders. Field Agents that abuse this command will face administrative action. Like the NetBan, the action is logged and can not be applied unless the user has received 3 warnings.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2351</id>
		<title>CommunityAdministrationNetwork/Field Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2351"/>
		<updated>2007-05-10T01:39:41Z</updated>

		<summary type="html">&lt;p&gt;Thumper: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This page describes the information needed by Field Agents for the [[CommunityAdminstrationNetwork/About|Community Administration Network]].&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
Field Agents must meet the following requirements.&lt;br /&gt;
&lt;br /&gt;
===Global Registration===&lt;br /&gt;
Field Agents must have a valid global name and login, with valid contact info.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
Field Agents must be at least 17 years of age, or be approved by the network administrator.&lt;br /&gt;
Field Agents must report their correct age to the administration staff when asked.&lt;br /&gt;
&lt;br /&gt;
===Record===&lt;br /&gt;
Field Agents must have a clean record on the master ban list, and not have any outstanding bans or issues on any CAN servers.&lt;br /&gt;
&lt;br /&gt;
===Sponsorship and approval===&lt;br /&gt;
Field Agents must be sponsored by at least one Core Administrator. 3 Field Agents can petition a Core Administrator to sponsor a new Field Agent. All new field agents must be approved by the Core Administrators, or the Network Administrator.&lt;br /&gt;
&lt;br /&gt;
==Behavior==&lt;br /&gt;
Field Agents are expected to follow a behavior guideline when playing on CAN member servers.&lt;br /&gt;
&lt;br /&gt;
===Follow the Rules===&lt;br /&gt;
Field Agents are expected to follow the same rules as players when playing. Violations of these rules will lead to removal from the administration staff, as well as possible network administrative actions ( bans ).&lt;br /&gt;
&lt;br /&gt;
===Be Civil===&lt;br /&gt;
Field Agents are expected to conduct there administration in a calm and civil manner. They should not let anger or personal feelings get in the way of their administration duties, they are expected to not hold any &amp;quot;grudges&amp;quot; against specific users. All discussions, arguments, or disagreement with players over administrative issues should happen in private so they will disrupt the play for others as little as possible. Field Agents must remember that it is there job to help all users play the game and have fun.&lt;br /&gt;
&lt;br /&gt;
===Give the benefit of the doubt===&lt;br /&gt;
Field Agents are expected to give a user the benefit of the doubt when dealing with an initial violation. Users should always be approached with private chat text to ask them first to stop the behavior that is causing the violation. The agent should explain what the behavior is, why it is a violation, and be willing to help the user resolve the issue to the best of there ability. Field Agents are expected to remove bans on users who have spoken with them or other administration staff in a civil manner and have agreed to not repeat their offenses. Users that abuse this will not be given that courtesy a second time.&lt;br /&gt;
&lt;br /&gt;
===Use the least necessary action to resolve an issue===&lt;br /&gt;
Field Agents are expected to resolve issues with the &amp;quot;lowest&amp;quot; possible administrative action. They should not kick when a silence should work, not ban when a kick would do the same. Bans should be the last resort as they are network wide. Field Agents are expected to warn before all actions. The CANAdmin plug-in will track and enforce the warning of people before higher level actions are allowed ( kick and ban ). Field Agents are expected to work with all users to resolve any violation issues, and never simply &amp;quot;blow them off&amp;quot;. They should refer the user to the Core Administrators if a suitable resolution can not be found.&lt;br /&gt;
&lt;br /&gt;
===Use CAN admin abilities only for network violations===&lt;br /&gt;
All admin actions on servers must be in response to a violation of one of the six network rules. No other use of the network admin functions are permitted. The CANAdmin plug-in will require the rule number that is in violation for all actions. Field Agents may be granted additional abilities by server owners, and be asked to enforce additional rules. If the Field administrator agrees to this, then they must use the server&#039;s local administration system to enforce those additional rules, and not the network system.&lt;br /&gt;
&lt;br /&gt;
Violations of rule 5, the minimum language rules, must violate the very specific conditions set forth in the rule. Interpretations of the rule to include additional language that is not mentioned in the rule, based on personal distaste, or beliefs, are not allowed. Violations of rule 5 must be very clear cut before ban level action is taken. Most users who will skirt the edges of rule 5 will most likely break another rule in the process, usually rule 4. For Simple violations of rule 5 can be handled with a simple net silence command after the required warnings. While annoying, violations of rule 5 have the least affect on the game, and are the simplest to resolve, even for regular users ( everyone can use the silence command ). Field Agents are expected to understand that different people have different levels of tolerance for language, and may find things more or less offensive then they personally do. Common saying that may have religious overtones, are not considered offensive. Attacks must be very directed against very specific subjects. Terms or abbreviations like &amp;quot;OMG&amp;quot;, &amp;quot;WTF&amp;quot;, and the like, are common enough in language that they are not meant as offensive they are simply exclamations. Any action that is simply taken as &amp;quot;blasphemy&amp;quot; in any religion is not worthy of action and should be ignored, unless the player uses the text in a violation of rule 4(spamming).&lt;br /&gt;
&lt;br /&gt;
Agents that abuse the network admin features for there own personal reasons, will be removed as network agents, and possibly banned from the network depending on the severity of the actions. All network actions are logged with the BZID of the admin who applied them. If need be the Core Administrators can remove any and all network actions caused by any Agent.&lt;br /&gt;
&lt;br /&gt;
==Administrative actions==&lt;br /&gt;
Field Agents may take the following administrative actions on any member server. All actions are logged and recorded with the administrator that performed the action, and the server that they were applied on.&lt;br /&gt;
&lt;br /&gt;
===NetWarn===&lt;br /&gt;
  Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetWarn&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This action will notify the specified player that they are in violation of the specified rule. The warn action will be logged with the central network database. The user will also receive a BZBB PM with the warning and link to the network rules. Multiple warnings can be issued but must have at least 1 minute duration in between them to allow the user time to discontinue the action. The CANAdmin plug-in will not accept warnings that violate the wait duration.&lt;br /&gt;
&lt;br /&gt;
===NetActivityList===&lt;br /&gt;
 Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetActivityList&#039;&#039;&#039; Player&lt;br /&gt;
&lt;br /&gt;
This action will list the history of warnings, kicks, bans, silences, and other admin actions stored for the player across all network servers. Each action will list the action, rule violated, the admin, and the comment given at the time of the action. Players have access to a simplified version of this command that will list all the actions for their call sign, but not any others. Server Admins (anyone with an @) also have access to the full version of this command for informational use.&lt;br /&gt;
&lt;br /&gt;
===NetSilence===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetSilence&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
This action will block all chat for the specified user on all network services for a period of one hour. The action will also be logged the same way as a warning.&lt;br /&gt;
&lt;br /&gt;
===NetKick===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetKick&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server, and disallow any new connections to any network server for a period of no less then 10 minutes. The Kick is network wide, and will prevent immediate rejoins. Users will be given a countdown time each time they attempt to reconnect. This action is logged, and will not be performed by the CANAdmin plug-in unless the user has received 3 or more warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBan===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBan&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specfied user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ). This is harshest action a Field Agents can take, and should only be used as a last resort. Like the kick, the action is logged and can not be applied unless the user has received 3 warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBanCritical===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBanCritical&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ), just like a regular NetBan command. In addition this command will flag the ban action for review by the Core Administration team for a possible longer term BAN. This command should not be used lightly or frequently by the Field Agents, and should only be reserved for the worst offenders. Field Agents that abuse this command will face administrative action. Like the NetBan, the action is logged and can not be applied unless the user has received 3 warnings.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2350</id>
		<title>CommunityAdministrationNetwork/Field Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2350"/>
		<updated>2007-05-10T01:37:48Z</updated>

		<summary type="html">&lt;p&gt;Thumper: typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This page describes the information needed by Field Agents for the [[CommunityAdminstrationNetwork/About|Community Administration Network]].&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
Field Agents must meet the following requirements.&lt;br /&gt;
&lt;br /&gt;
===Global Registration===&lt;br /&gt;
Field Agents must have a valid global name and login, with valid contact info.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
Field Agents must be at least 17 years of age, or be approved by the network administrator.&lt;br /&gt;
Field Agents must report their correct age to the administration staff when asked.&lt;br /&gt;
&lt;br /&gt;
===Record===&lt;br /&gt;
Field Agents must have a clean record on the master ban list, and not have any outstanding bans or issues on any CAN servers.&lt;br /&gt;
&lt;br /&gt;
===Sponsorship and approval===&lt;br /&gt;
Field Agents must be sponsored by at least one Core Administrator. 3 Field Agents can petition a Core Administrator to sponsor a new Field Agent. All new field agents must be approved by the Core Administrators, or the Network Administrator.&lt;br /&gt;
&lt;br /&gt;
==Behavior==&lt;br /&gt;
Field Agents are expected to follow a behavior guideline when playing on CAN member servers.&lt;br /&gt;
&lt;br /&gt;
===Follow the Rules===&lt;br /&gt;
Field Agents are expected to follow the same rules as players when playing. Violations of these rules will lead to removal from the administration staff, as well as possible network administrative actions ( bans ).&lt;br /&gt;
&lt;br /&gt;
===Be Civil===&lt;br /&gt;
Field Agents are expected to conduct there administration in a calm and civil manner. They should not let anger or personal feelings get in the way of their administration duties, they are expected to not hold any &amp;quot;grudges&amp;quot; against specific users. All discussions, arguments, or disagreement with players over administrative issues should happen in private so they will disrupt the play for others as little as possible. Field Agents must remember that it is there job to help all users play the game and have fun.&lt;br /&gt;
&lt;br /&gt;
===Give the benefit of the doubt===&lt;br /&gt;
Field Agents are expected to give a user the benefit of the doubt when dealing with an initial violation. Users should always be approached with private chat text to ask them first to stop the behavior that is causing the violation. The agent should explain what the behavior is, why it is a violation, and be willing to help the user resolve the issue to the best of there ability. Field Agents are expected to remove bans on users who have spoken with them or other administration staff in a civil manner and have agreed to not repeat their offenses. Users that abuse this will not be given that courtesy a second time.&lt;br /&gt;
&lt;br /&gt;
===Use the least necessary action to resolve an issue===&lt;br /&gt;
Field Agents are expected to resolve issues with the &amp;quot;lowest&amp;quot; possible administrative action. They should not kick when a silence should work, not ban when a kick would do the same. Bans should be the last resort as they are network wide. Field Agents are expected to warn before all actions. The CANAdmin plug-in will track and enforce the warning of people before higher level actions are allowed ( kick and ban ). Field Agents are expected to work with all users to resolve any violation issues, and never simply &amp;quot;blow them off&amp;quot;. They should refer the user to the Core Administrators if a suitable resolution can not be found.&lt;br /&gt;
&lt;br /&gt;
===Use CAN admin abilities only for network violations===&lt;br /&gt;
All admin actions on servers must be in response to a violation of one of the six network rules. No other use of the network admin functions are permitted. The CANAdmin plug-in will require the rule number that is in violation for all actions. Field Agents may be granted additional abilities by server owners, and be asked to enforce additional rules. If the Field administrator agrees to this, then they must use the server&#039;s local administration system to enforce those additional rules, and not the network system.&lt;br /&gt;
&lt;br /&gt;
Violations of rule 5, the minimum language rules, must violate the very specific conditions set forth in the rule. Interpretations of the rule to include additional language that is not mentioned in the rule, based on personal distaste, or beliefs, are not allowed. Violations of rule 5 must be very clear cut before ban level action is taken. Most users who will skirt the edges of rule 5 will most likely break another rule in the process, usually rule 4. For Simple violations of rule 5 can be handled with a simple net silence command after the required warnings. While annoying, violations of rule 5 have the least affect on the game, and are the simplest to resolve, even for regular users ( everyone can use the silence command ). Field Agents are expected to understand that different people have different levels of tolerance for language, and may find things more or less offensive then they personally do. Common saying that may have religious overtones, are not considered offensive. Attacks must be very directed against very specific subjects. Terms or abbreviations like &amp;quot;OMG&amp;quot;, &amp;quot;WTF&amp;quot;, and the like, are common enough in language that they are not meant as offensive they are simply exclamations. Any action that is simply taken as &amp;quot;blasphemy&amp;quot; in any religion is not worthy of action and should be ignored, unless the player uses the text in a violation of rule 4(spamming).&lt;br /&gt;
&lt;br /&gt;
Agents that abuse the network admin features for there own personal reasons, will be removed as network agents, and possibly banned from the network depending on the severity of the actions. All network actions are logged with the BZID of the admin who applied them. If need be the Core Administrators can remove any and all network actions caused by any Agent.&lt;br /&gt;
&lt;br /&gt;
==Administrative actions==&lt;br /&gt;
Field Agents may take the following administrative actions on any member server. All actions are logged and recorded with the administrator that performed the action, and the server that they were applied on.&lt;br /&gt;
&lt;br /&gt;
===NetWarn===&lt;br /&gt;
  Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetWarn&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This action will notify the specified player that they are in violation of the specified rule. The warn action will be logged with the central network database. The user will also receive a BZBB PM with the warning and link to the network rules. Multiple warnings can be issued but must have at least 1 minute duration in between them to allow the user time to discontinue the action. The CANAdmin plug-in will not accept warnings that violate the wait duration.&lt;br /&gt;
&lt;br /&gt;
===NetActivityList===&lt;br /&gt;
 Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetActivityList&#039;&#039;&#039; Player&lt;br /&gt;
&lt;br /&gt;
This action will list the history of warnings, kicks, bans, silences, and other admin actions stored for the player across all network servers. Each action will list the action, rule violated, the admin, and the comment given at the time of the action. Players have access to a simplified version of this command that will list all the actions for there call sign, but not any others. Server Admins (anyone with an @) also have access to the full version of this command for informational use.&lt;br /&gt;
&lt;br /&gt;
===NetSilence===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetSilence&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
This action will block all chat for the specified user on all network services for a period of one hour. The action will also be logged the same way as a warning.&lt;br /&gt;
&lt;br /&gt;
===NetKick===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetKick&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server, and disallow any new connections to any network server for a period of no less then 10 minutes. The Kick is network wide, and will prevent immediate rejoins. Users will be given a countdown time each time they attempt to reconnect. This action is logged, and will not be performed by the CANAdmin plug-in unless the user has received 3 or more warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBan===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBan&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specfied user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ). This is harshest action a Field Agents can take, and should only be used as a last resort. Like the kick, the action is logged and can not be applied unless the user has received 3 warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBanCritical===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBanCritical&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ), just like a regular NetBan command. In addition this command will flag the ban action for review by the Core Administration team for a possible longer term BAN. This command should not be used lightly or frequently by the Field Agents, and should only be reserved for the worst offenders. Field Agents that abuse this command will face administrative action. Like the NetBan, the action is logged and can not be applied unless the user has received 3 warnings.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2349</id>
		<title>CommunityAdministrationNetwork/Field Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2349"/>
		<updated>2007-05-10T01:34:26Z</updated>

		<summary type="html">&lt;p&gt;Thumper: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This page describes the information needed by Field Agents for the [[CommunityAdminstrationNetwork/About|Community Administration Network]].&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
Field Agents must meet the following requirements.&lt;br /&gt;
&lt;br /&gt;
===Global Registration===&lt;br /&gt;
Field Agents must have a valid global name and login, with valid contact info.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
Field Agents must be at least 17 years of age, or be approved by the network administrator.&lt;br /&gt;
Field Agents must report their correct age to the administration staff when asked.&lt;br /&gt;
&lt;br /&gt;
===Record===&lt;br /&gt;
Field Agents must have a clean record on the master ban list, and not have any outstanding bans or issues on any CAN servers.&lt;br /&gt;
&lt;br /&gt;
===Sponsorship and approval===&lt;br /&gt;
Field Agents must be sponsored by at least one Core Administrator. 3 Field Agents can petition a Core Administrator to sponsor a new Field Agent. All new field agents must be approved by the Core Administrators, or the Network Administrator.&lt;br /&gt;
&lt;br /&gt;
==Behavior==&lt;br /&gt;
Field Agents are expected to follow a behavior guideline when playing on CAN member servers.&lt;br /&gt;
&lt;br /&gt;
===Follow the Rules===&lt;br /&gt;
Field Agents are expected to follow the same rules as players when playing. Violations of these rules will lead to removal from the administration staff, as well as possible network administrative actions ( bans ).&lt;br /&gt;
&lt;br /&gt;
===Be Civil===&lt;br /&gt;
Field Agents are expected to conduct there administration in a calm and civil manner. They should not let anger or personal feelings get in the way of their administration duties, they are expected to not hold any &amp;quot;grudges&amp;quot; against specific users. All discussions, arguments, or disagreement with players over administrative issues should happen in private so they will disrupt the play for others as little as possible. Field Agents must remember that it is there job to help all users play the game and have fun.&lt;br /&gt;
&lt;br /&gt;
===Give the benefit of the doubt===&lt;br /&gt;
Field Agents are expected to give a user the benefit of the doubt when dealing with an initial violation. Users should always be approached with private chat text to ask them first to stop the behavior that is causing the violation. The agent should explain what the behavior is, why it is a violation, and be willing to help the user resolve the issue to the best of there ability. Field Agents are expected to remove bans on users who have spoken with them or other administration staff in a civil manner and have agreed to not repeat their offenses. Users that abuse this will not be given that courtesy a second time.&lt;br /&gt;
&lt;br /&gt;
===Use the least necessary action to resolve an issue===&lt;br /&gt;
Field Agents are expected to resolve issues with the &amp;quot;lowest&amp;quot; possible administrative action. They should not kick when a silence should work, not ban when a kick would do the same. Bans should be the last resort as they are network wide. Field Agents are expected to warn before all actions. The CANAdmin plug-in will track and enforce the warning of people before higher level actions are allowed ( kick and ban ). Field Agents are expected to work with all users to resolve any violation issues, and never simply &amp;quot;blow them off&amp;quot;. They should refer the user to the Core Administrators if a suitable resolution can not be found.&lt;br /&gt;
&lt;br /&gt;
===Use CAN admin abilities only for network violations===&lt;br /&gt;
All admin actions on servers must be in response to a violation one of the six network rules. No other use of the network admin functions are permitted. The CANAdmin plug-in will require the rule number that is in violation for all actions. Field Agents may be granted additional abilities by server owners, and be asked to enforce additional rules. If the Field administrator agrees to this, then they must use the server&#039;s local administration system to enforce those additional rules, and not the network system.&lt;br /&gt;
&lt;br /&gt;
Violations of rule 5, the minimum language rules, must violate the very specific conditions set forth in the rule. Interpretations of the rule to include additional language that is not mentioned in the rule, based on personal distaste, or beliefs, are not allowed. Violations of rule 5 must be very clear cut before ban level action is taken. Most users who will skirt the edges of rule 5 will most likely break another rule in the process, usually rule 4. For Simple violations of rule 5 can be handled with a simple net silence command after the required warnings. While annoying, violations of rule 5 have the least affect on the game, and are the simplest to resolve, even for regular users ( everyone can use the silence command ). Field Agents are expected to understand that different people have different levels of tolerance for language, and may find things more or less offensive then they personally do. Common saying that may have religious overtones, are not considered offensive. Attacks must be very directed against very specific subjects. Terms or abbreviations like &amp;quot;OMG&amp;quot;, &amp;quot;WTF&amp;quot;, and the like, are common enough in language that they are not meant as offensive they are simply exclamations. Any action that is simply taken as &amp;quot;blasphemy&amp;quot; in any religion is not worthy of action and should be ignored, unless the player uses the text in a violation of rule 4(spamming).&lt;br /&gt;
&lt;br /&gt;
Agents that abuse the network admin features for there own personal reasons, will be removed as network agents, and possibly banned from the network depending on the severity of the actions. All network actions are logged with the BZID of the admin who applied them. If need be the Core Administrators can remove any and all network actions caused by any any Agent.&lt;br /&gt;
&lt;br /&gt;
==Administrative actions==&lt;br /&gt;
Field Agents may take the following administrative actions on any member server. All actions are logged and recorded with the administrator that performed the action, and the server that they were applied on.&lt;br /&gt;
&lt;br /&gt;
===NetWarn===&lt;br /&gt;
  Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetWarn&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This action will notify the specified player that they are in violation of the specified rule. The warn action will be logged with the central network database. The user will also receive a BZBB PM with the warning and link to the network rules. Multiple warnings can be issued but must have at least 1 minute duration in between them to allow the user time to discontinue the action. The CANAdmin plug-in will not accept warnings that violate the wait duration.&lt;br /&gt;
&lt;br /&gt;
===NetActivityList===&lt;br /&gt;
 Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetActivityList&#039;&#039;&#039; Player&lt;br /&gt;
&lt;br /&gt;
This action will list the history of warnings, kicks, bans, silences, and other admin actions stored for the player across all network servers. Each action will list the action, rule violated, the admin, and the comment given at the time of the action. Players have access to a simplified version of this command that will list all the actions for there call sign, but not any others. Server Admins (anyone with an @) also have access to the full version of this command for informational use.&lt;br /&gt;
&lt;br /&gt;
===NetSilence===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetSilence&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
This action will block all chat for the specified user on all network services for a period of one hour. The action will also be logged the same way as a warning.&lt;br /&gt;
&lt;br /&gt;
===NetKick===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetKick&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server, and disallow any new connections to any network server for a period of no less then 10 minutes. The Kick is network wide, and will prevent immediate rejoins. Users will be given a countdown time each time they attempt to reconnect. This action is logged, and will not be performed by the CANAdmin plug-in unless the user has received 3 or more warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBan===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBan&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specfied user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ). This is harshest action a Field Agents can take, and should only be used as a last resort. Like the kick, the action is logged and can not be applied unless the user has received 3 warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBanCritical===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBanCritical&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ), just like a regular NetBan command. In addition this command will flag the ban action for review by the Core Administration team for a possible longer term BAN. This command should not be used lightly or frequently by the Field Agents, and should only be reserved for the worst offenders. Field Agents that abuse this command will face administrative action. Like the NetBan, the action is logged and can not be applied unless the user has received 3 warnings.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2348</id>
		<title>CommunityAdministrationNetwork/Field Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2348"/>
		<updated>2007-05-10T01:32:22Z</updated>

		<summary type="html">&lt;p&gt;Thumper: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This page describes the information needed by Field Agents for the [[CommunityAdminstrationNetwork/About|Community Administration Network]].&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
Field Agents must meet the following requirements.&lt;br /&gt;
&lt;br /&gt;
===Global Registration===&lt;br /&gt;
Field Agents must have a valid global name and login, with valid contact info.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
Field Agents must be at least 17 years of age, or be approved by the network administrator.&lt;br /&gt;
Field Agents must report their correct age to the administration staff when asked.&lt;br /&gt;
&lt;br /&gt;
===Record===&lt;br /&gt;
Field Agents must have a clean record on the master ban list, and not have any outstanding bans or issues on any CAN servers.&lt;br /&gt;
&lt;br /&gt;
===Sponsorship and approval===&lt;br /&gt;
Field Agents must be sponsored by at least one Core Administrator. 3 Field Agents can petition a Core Administrator to sponsor a new Field Agent. All new field agents must be approved by the Core Administrators, or the Network Administrator.&lt;br /&gt;
&lt;br /&gt;
==Behavior==&lt;br /&gt;
Field Agents are expected to follow a behavior guideline when playing on CAN member servers.&lt;br /&gt;
&lt;br /&gt;
===Follow the Rules===&lt;br /&gt;
Field Agents are expected to follow the same rules as players when playing. Violations of these rules will lead to removal from the administration staff, as well as possible network administrative actions ( bans ).&lt;br /&gt;
&lt;br /&gt;
===Be Civil===&lt;br /&gt;
Field Agents are expected to conduct there administration in a calm and civil manner. They should not let anger or personal feelings get in the way of their administration duties, they are expected to not hold any &amp;quot;grudges&amp;quot; against specific users. All discussions, arguments, or disagreement with players over administrative issues should happen in private so they will disrupt the play for others as little as possible. Field Agents must remember that it is there job to help all users play the game and have fun.&lt;br /&gt;
&lt;br /&gt;
===Give the benefit of the doubt===&lt;br /&gt;
Field Agents are expected to give a user the benefit of the doubt when dealing with an initial violation. Users should always be approached with private chat text to ask them first to stop the behavior that is causing the violation. The agent should explain what the behavior is, why it is a violation, and be willing to help the user resolve the issue to the best of there ability. Field Agents are expected to remove bans on users who have spoken with them or other administration staff in a civil manner and have agreed to not repeat their offenses. Users that abuse this will not be given that courtesy a second time.&lt;br /&gt;
&lt;br /&gt;
===Use the least necessary action to resolve an issue===&lt;br /&gt;
Field Agents are expected to resolve issues with the &amp;quot;lowest&amp;quot; possible administrative action. They should not kick when a silence should work, not ban when a kick would do the same. Bans should be the last resort as they are network wide. Field Agents are expected to warn before all actions. The CANAdmin plug-in will track and enforce the warning of people before higher level actions are allowed ( kick and ban ). Field Agents are expected to work with all users to resolve any violation issues, and never simply &amp;quot;blow them off&amp;quot;. They should refer user to the Core Administrators if a suitable resolution can not be found.&lt;br /&gt;
&lt;br /&gt;
===Use CAN admin abilities only for network violations===&lt;br /&gt;
All admin actions on servers must be in response to a violation one of the six network rules. No other use of the network admin functions are permitted. The CANAdmin plug-in will require the rule number that is in violation for all actions. Field Agents may be granted additional abilities by server owners, and be asked to enforce additional rules. If the Field administrator agrees to this, then they must use the server&#039;s local administration system to enforce those additional rules, and not the network system.&lt;br /&gt;
&lt;br /&gt;
Violations of rule 5, the minimum language rules, must violate the very specific conditions set forth in the rule. Interpretations of the rule to include additional language that is not mentioned in the rule, based on personal distaste, or beliefs, are not allowed. Violations of rule 5 must be very clear cut before ban level action is taken. Most users who will skirt the edges of rule 5 will most likely break another rule in the process, usually rule 4. For Simple violations of rule 5 can be handled with a simple net silence command after the required warnings. While annoying, violations of rule 5 have the least affect on the game, and are the simplest to resolve, even for regular users ( everyone can use the silence command ). Field Agents are expected to understand that different people have different levels of tolerance for language, and may find things more or less offensive then they personally do. Common saying that may have religious overtones, are not considered offensive. Attacks must be very directed against very specific subjects. Terms or abbreviations like &amp;quot;OMG&amp;quot;, &amp;quot;WTF&amp;quot;, and the like, are common enough in language that they are not meant as offensive they are simply exclamations. Any action that is simply taken as &amp;quot;blasphemy&amp;quot; in any religion is not worthy of action and should be ignored, unless the player uses the text in a violation of rule 4(spamming).&lt;br /&gt;
&lt;br /&gt;
Agents that abuse the network admin features for there own personal reasons, will be removed as network agents, and possibly banned from the network depending on the severity of the actions. All network actions are logged with the BZID of the admin who applied them. If need be the Core Administrators can remove any and all network actions caused by any any Agent.&lt;br /&gt;
&lt;br /&gt;
==Administrative actions==&lt;br /&gt;
Field Agents may take the following administrative actions on any member server. All actions are logged and recorded with the administrator that performed the action, and the server that they were applied on.&lt;br /&gt;
&lt;br /&gt;
===NetWarn===&lt;br /&gt;
  Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetWarn&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This action will notify the specified player that they are in violation of the specified rule. The warn action will be logged with the central network database. The user will also receive a BZBB PM with the warning and link to the network rules. Multiple warnings can be issued but must have at least 1 minute duration in between them to allow the user time to discontinue the action. The CANAdmin plug-in will not accept warnings that violate the wait duration.&lt;br /&gt;
&lt;br /&gt;
===NetActivityList===&lt;br /&gt;
 Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetActivityList&#039;&#039;&#039; Player&lt;br /&gt;
&lt;br /&gt;
This action will list the history of warnings, kicks, bans, silences, and other admin actions stored for the player across all network servers. Each action will list the action, rule violated, the admin, and the comment given at the time of the action. Players have access to a simplified version of this command that will list all the actions for there call sign, but not any others. Server Admins (anyone with an @) also have access to the full version of this command for informational use.&lt;br /&gt;
&lt;br /&gt;
===NetSilence===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetSilence&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
This action will block all chat for the specified user on all network services for a period of one hour. The action will also be logged the same way as a warning.&lt;br /&gt;
&lt;br /&gt;
===NetKick===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetKick&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server, and disallow any new connections to any network server for a period of no less then 10 minutes. The Kick is network wide, and will prevent immediate rejoins. Users will be given a countdown time each time they attempt to reconnect. This action is logged, and will not be performed by the CANAdmin plug-in unless the user has received 3 or more warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBan===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBan&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specfied user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ). This is harshest action a Field Agents can take, and should only be used as a last resort. Like the kick, the action is logged and can not be applied unless the user has received 3 warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBanCritical===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBanCritical&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ), just like a regular NetBan command. In addition this command will flag the ban action for review by the Core Administration team for a possible longer term BAN. This command should not be used lightly or frequently by the Field Agents, and should only be reserved for the worst offenders. Field Agents that abuse this command will face administrative action. Like the NetBan, the action is logged and can not be applied unless the user has received 3 warnings.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2347</id>
		<title>CommunityAdministrationNetwork/Field Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2347"/>
		<updated>2007-05-10T01:28:17Z</updated>

		<summary type="html">&lt;p&gt;Thumper: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This page describes the information needed by Field Agents for the [[CommunityAdminstrationNetwork/About|Community Administration Network]].&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
Field Agents must meet the following requirements.&lt;br /&gt;
&lt;br /&gt;
===Global Registration===&lt;br /&gt;
Field Agents must have a valid global name and login, with valid contact info.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
Field Agents must be at least 17 years of age, or be approved by the network administrator.&lt;br /&gt;
Field Agents must report their correct age to the administration staff when asked.&lt;br /&gt;
&lt;br /&gt;
===Record===&lt;br /&gt;
Field Agents must have a clean record on the master ban list, and not have any outstanding bans or issues on any CAN servers.&lt;br /&gt;
&lt;br /&gt;
===Sponsorship and approval===&lt;br /&gt;
Field Agents must be sponsored by at least one Core Administrator. 3 Field Agents can petition a Core Administrator to sponsor a new Field Agent. All new field agents must be approved by the Core Administrators, or the Network Administrator.&lt;br /&gt;
&lt;br /&gt;
==Behavior==&lt;br /&gt;
Field Agents are expected to follow a behavior guideline when playing on CAN member servers.&lt;br /&gt;
&lt;br /&gt;
===Follow the Rules===&lt;br /&gt;
Field Agents are expected to follow the same rules as players when playing. Violations of these rules will lead to removal from the administration staff, as well as possible network administrative actions ( bans ).&lt;br /&gt;
&lt;br /&gt;
===Be Civil===&lt;br /&gt;
Field Agents are expected to conduct there administration in a calm and civil manner. They should not let anger or personal feelings get in the way of their administration duties, they are expected to not hold any &amp;quot;grudges&amp;quot; against specific users. All discussions, arguments, or disagreement with players over administrative issues should happen in private so they will disrupt the play for others as little as possible. Field Agents must remember that it is there job to help all users play the game and have fun.&lt;br /&gt;
&lt;br /&gt;
===Give the benefit of the doubt===&lt;br /&gt;
Field Agents are expected to give a user the benefit of the doubt when dealing with an initial violation. Users should always be approached with private chat text to ask them first to stop the behavior that is causing the violation. The agent should explain what the behavior is, why it is a violation, and be willing to help the user resolve the issue to the best of there ability. Field Agents are expected to remove bans on users who have spoken with them or other administration staff in a civil manner and have agreed to not repeat there offenses. Users that abuse this will not be given that courtesy a second time.&lt;br /&gt;
&lt;br /&gt;
===Use the least necessary action to resolve an issue===&lt;br /&gt;
Field Agents are expected to resolve issues with the &amp;quot;lowest&amp;quot; possible administrative action. They should not kick when a silence should work, not ban when a kick would do the same. Bans should be the last resort as they are network wide. Field Agents are expected to warn before all actions. The CANAdmin plug-in will track and enforce the warning of people before higher level actions are allowed ( kick and ban ). Field Agents are expected to work with all users to resolve any violation issues, and never simply &amp;quot;blow them off&amp;quot;. They should refer user to the Core Administrators if a suitable resolution can not be found.&lt;br /&gt;
&lt;br /&gt;
===Use CAN admin abilities only for network violations===&lt;br /&gt;
All admin actions on servers must be in response to a violation one of the six network rules. No other use of the network admin functions are permitted. The CANAdmin plug-in will require the rule number that is in violation for all actions. Field Agents may be granted additional abilities by server owners, and be asked to enforce additional rules. If the Field administrator agrees to this, then they must use the server&#039;s local administration system to enforce those additional rules, and not the network system.&lt;br /&gt;
&lt;br /&gt;
Violations of rule 5, the minimum language rules, must violate the very specific conditions set forth in the rule. Interpretations of the rule to include additional language that is not mentioned in the rule, based on personal distaste, or beliefs, are not allowed. Violations of rule 5 must be very clear cut before ban level action is taken. Most users who will skirt the edges of rule 5 will most likely break another rule in the process, usually rule 4. For Simple violations of rule 5 can be handled with a simple net silence command after the required warnings. While annoying, violations of rule 5 have the least affect on the game, and are the simplest to resolve, even for regular users ( everyone can use the silence command ). Field Agents are expected to understand that different people have different levels of tolerance for language, and may find things more or less offensive then they personally do. Common saying that may have religious overtones, are not considered offensive. Attacks must be very directed against very specific subjects. Terms or abbreviations like &amp;quot;OMG&amp;quot;, &amp;quot;WTF&amp;quot;, and the like, are common enough in language that they are not meant as offensive they are simply exclamations. Any action that is simply taken as &amp;quot;blasphemy&amp;quot; in any religion is not worthy of action and should be ignored, unless the player uses the text in a violation of rule 4(spamming).&lt;br /&gt;
&lt;br /&gt;
Agents that abuse the network admin features for there own personal reasons, will be removed as network agents, and possibly banned from the network depending on the severity of the actions. All network actions are logged with the BZID of the admin who applied them. If need be the Core Administrators can remove any and all network actions caused by any any Agent.&lt;br /&gt;
&lt;br /&gt;
==Administrative actions==&lt;br /&gt;
Field Agents may take the following administrative actions on any member server. All actions are logged and recorded with the administrator that performed the action, and the server that they were applied on.&lt;br /&gt;
&lt;br /&gt;
===NetWarn===&lt;br /&gt;
  Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetWarn&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This action will notify the specified player that they are in violation of the specified rule. The warn action will be logged with the central network database. The user will also receive a BZBB PM with the warning and link to the network rules. Multiple warnings can be issued but must have at least 1 minute duration in between them to allow the user time to discontinue the action. The CANAdmin plug-in will not accept warnings that violate the wait duration.&lt;br /&gt;
&lt;br /&gt;
===NetActivityList===&lt;br /&gt;
 Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetActivityList&#039;&#039;&#039; Player&lt;br /&gt;
&lt;br /&gt;
This action will list the history of warnings, kicks, bans, silences, and other admin actions stored for the player across all network servers. Each action will list the action, rule violated, the admin, and the comment given at the time of the action. Players have access to a simplified version of this command that will list all the actions for there call sign, but not any others. Server Admins (anyone with an @) also have access to the full version of this command for informational use.&lt;br /&gt;
&lt;br /&gt;
===NetSilence===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetSilence&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
This action will block all chat for the specified user on all network services for a period of one hour. The action will also be logged the same way as a warning.&lt;br /&gt;
&lt;br /&gt;
===NetKick===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetKick&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server, and disallow any new connections to any network server for a period of no less then 10 minutes. The Kick is network wide, and will prevent immediate rejoins. Users will be given a countdown time each time they attempt to reconnect. This action is logged, and will not be performed by the CANAdmin plug-in unless the user has received 3 or more warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBan===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBan&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specfied user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ). This is harshest action a Field Agents can take, and should only be used as a last resort. Like the kick, the action is logged and can not be applied unless the user has received 3 warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBanCritical===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBanCritical&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ), just like a regular NetBan command. In addition this command will flag the ban action for review by the Core Administration team for a possible longer term BAN. This command should not be used lightly or frequently by the Field Agents, and should only be reserved for the worst offenders. Field Agents that abuse this command will face administrative action. Like the NetBan, the action is logged and can not be applied unless the user has received 3 warnings.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2346</id>
		<title>CommunityAdministrationNetwork/Field Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Field_Agent&amp;diff=2346"/>
		<updated>2007-05-10T01:23:38Z</updated>

		<summary type="html">&lt;p&gt;Thumper: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This page describes the information needed by Field Agents for the [[CommunityAdminstrationNetwork/About|Community Administration Network]].&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
Field Agents must meet the following requirements.&lt;br /&gt;
&lt;br /&gt;
===Global Registration===&lt;br /&gt;
Field Agents must have a valid global name and login, with valid contact info.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
Field Agents must be at least 17 years of age, or be approved by the network administrator.&lt;br /&gt;
Field Agents must report their correct age to the administration staff when asked.&lt;br /&gt;
&lt;br /&gt;
===Record===&lt;br /&gt;
Field Agents must have a clean record on the master ban list, and not have any outstanding bans or issues on any CAN servers.&lt;br /&gt;
&lt;br /&gt;
===Sponsorship and approval===&lt;br /&gt;
Field Agents must be sponsored by at least one Core Administrator. 3 Field Agents can petition a Core Administrator to sponsor a new Field Agent. All new field agents must be approved by the Core Administrators, or the Network Administrator.&lt;br /&gt;
&lt;br /&gt;
==Behavior==&lt;br /&gt;
Field Agents are expected to follow a behavior guideline when playing on CAN member servers.&lt;br /&gt;
&lt;br /&gt;
===Follow the Rules===&lt;br /&gt;
Field Agents are expected to follow the same rules as players when playing. Violations of these rules will lead to removal from the administration staff, as well as possible network administrative actions ( bans ).&lt;br /&gt;
&lt;br /&gt;
===Be Civil===&lt;br /&gt;
Field Agents are expected to conduct there administration in a calm and civil manner. They should not let anger or personal feelings get in the way of there administration duties, they are expected to not hold any &amp;quot;grudges&amp;quot; against specific users. All discussions, arguments, or disagreement with players over administrative issues should happen in private so they will disrupt the play for others as little as possible. Field Agents must remember that it is there job to help all users play the game and have fun.&lt;br /&gt;
&lt;br /&gt;
===Give the benefit of the doubt===&lt;br /&gt;
Field Agents are expected to give a user the benefit of the doubt when dealing with an initial violation. Users should always be approached with private chat text to ask them first to stop the behavior that is causing the violation. The agent should explain what the behavior is, why it is a violation, and be willing to help the user resolve the issue to the best of there ability. Field Agents are expected to remove bans on users who have spoken with them or other administration staff in a civil manner and have agreed to not repeat there offenses. Users that abuse this will not be given that courtesy a second time.&lt;br /&gt;
&lt;br /&gt;
===Use the least necessary action to resolve an issue===&lt;br /&gt;
Field Agents are expected to resolve issues with the &amp;quot;lowest&amp;quot; possible administrative action. They should not kick when a silence should work, not ban when a kick would do the same. Bans should be the last resort as they are network wide. Field Agents are expected to warn before all actions. The CANAdmin plug-in will track and enforce the warning of people before higher level actions are allowed ( kick and ban ). Field Agents are expected to work with all users to resolve any violation issues, and never simply &amp;quot;blow them off&amp;quot;. They should refer user to the Core Administrators if a suitable resolution can not be found.&lt;br /&gt;
&lt;br /&gt;
===Use CAN admin abilities only for network violations===&lt;br /&gt;
All admin actions on servers must be in response to a violation one of the six network rules. No other use of the network admin functions are permitted. The CANAdmin plug-in will require the rule number that is in violation for all actions. Field Agents may be granted additional abilities by server owners, and be asked to enforce additional rules. If the Field administrator agrees to this, then they must use the server&#039;s local administration system to enforce those additional rules, and not the network system.&lt;br /&gt;
&lt;br /&gt;
Violations of rule 5, the minimum language rules, must violate the very specific conditions set forth in the rule. Interpretations of the rule to include additional language that is not mentioned in the rule, based on personal distaste, or beliefs, are not allowed. Violations of rule 5 must be very clear cut before ban level action is taken. Most users who will skirt the edges of rule 5 will most likely break another rule in the process, usually rule 4. For Simple violations of rule 5 can be handled with a simple net silence command after the required warnings. While annoying, violations of rule 5 have the least affect on the game, and are the simplest to resolve, even for regular users ( everyone can use the silence command ). Field Agents are expected to understand that different people have different levels of tolerance for language, and may find things more or less offensive then they personally do. Common saying that may have religious overtones, are not considered offensive. Attacks must be very directed against very specific subjects. Terms or abbreviations like &amp;quot;OMG&amp;quot;, &amp;quot;WTF&amp;quot;, and the like, are common enough in language that they are not meant as offensive they are simply exclamations. Any action that is simply taken as &amp;quot;blasphemy&amp;quot; in any religion is not worthy of action and should be ignored, unless the player uses the text in a violation of rule 4(spamming).&lt;br /&gt;
&lt;br /&gt;
Agents that abuse the network admin features for there own personal reasons, will be removed as network agents, and possibly banned from the network depending on the severity of the actions. All network actions are logged with the BZID of the admin who applied them. If need be the Core Administrators can remove any and all network actions caused by any any Agent.&lt;br /&gt;
&lt;br /&gt;
==Administrative actions==&lt;br /&gt;
Field Agents may take the following administrative actions on any member server. All actions are logged and recorded with the administrator that performed the action, and the server that they were applied on.&lt;br /&gt;
&lt;br /&gt;
===NetWarn===&lt;br /&gt;
  Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetWarn&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This action will notify the specified player that they are in violation of the specified rule. The warn action will be logged with the central network database. The user will also receive a BZBB PM with the warning and link to the network rules. Multiple warnings can be issued but must have at least 1 minute duration in between them to allow the user time to discontinue the action. The CANAdmin plug-in will not accept warnings that violate the wait duration.&lt;br /&gt;
&lt;br /&gt;
===NetActivityList===&lt;br /&gt;
 Usage&lt;br /&gt;
  &#039;&#039;&#039;/NetActivityList&#039;&#039;&#039; Player&lt;br /&gt;
&lt;br /&gt;
This action will list the history of warnings, kicks, bans, silences, and other admin actions stored for the player across all network servers. Each action will list the action, rule violated, the admin, and the comment given at the time of the action. Players have access to a simplified version of this command that will list all the actions for there call sign, but not any others. Server Admins (anyone with an @) also have access to the full version of this command for informational use.&lt;br /&gt;
&lt;br /&gt;
===NetSilence===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetSilence&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Comment&#039;&#039;&lt;br /&gt;
This action will block all chat for the specified user on all network services for a period of one hour. The action will also be logged the same way as a warning.&lt;br /&gt;
&lt;br /&gt;
===NetKick===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetKick&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server, and disallow any new connections to any network server for a period of no less then 10 minutes. The Kick is network wide, and will prevent immediate rejoins. Users will be given a countdown time each time they attempt to reconnect. This action is logged, and will not be performed by the CANAdmin plug-in unless the user has received 3 or more warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBan===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBan&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specfied user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ). This is harshest action a Field Agents can take, and should only be used as a last resort. Like the kick, the action is logged and can not be applied unless the user has received 3 warnings.&lt;br /&gt;
&lt;br /&gt;
===NetBanCritical===&lt;br /&gt;
 Usage&lt;br /&gt;
    &#039;&#039;&#039;/NetBanCritical&#039;&#039;&#039; &#039;&#039;Rule&#039;&#039; Player &#039;&#039;Reason&#039;&#039;&lt;br /&gt;
This action will force the specified user to disconnect from the server and disallow any new connections to any network server for a period of 336 hours ( 14 days, aka. 2 weeks ), just like a regular NetBan command. In addition this command will flag the ban action for review by the Core Administration team for a possible longer term BAN. This command should not be used lightly or frequently by the Field Agents, and should only be reserved for the worst offenders. Field Agents that abuse this command will face administrative action. Like the NetBan, the action is logged and can not be applied unless the user has received 3 warnings.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/DisallowedWords&amp;diff=2345</id>
		<title>CommunityAdministrationNetwork/DisallowedWords</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/DisallowedWords&amp;diff=2345"/>
		<updated>2007-05-10T01:21:40Z</updated>

		<summary type="html">&lt;p&gt;Thumper: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
== Overview==&lt;br /&gt;
This page lists the disallowed words for the network. They are here as a reference. Readers that are easily offended by vulgarity should discontinue reading now.&lt;br /&gt;
&lt;br /&gt;
These words are disallowed as they are most often used in a manner to offend or insult, and have no legitimate bearing on the game.&lt;br /&gt;
&lt;br /&gt;
== Major Words==&lt;br /&gt;
Uses of these words, or variations containing them is considered a direct violation.&lt;br /&gt;
&lt;br /&gt;
 Fuck&lt;br /&gt;
 Shit&lt;br /&gt;
 Asshole&lt;br /&gt;
 Cunt&lt;br /&gt;
 Motherfucker&lt;br /&gt;
 Cock&lt;br /&gt;
&lt;br /&gt;
== Minor Words==&lt;br /&gt;
Uses of these words or there variations in most contexts is considered a direct violation.&lt;br /&gt;
&lt;br /&gt;
 Nigger&lt;br /&gt;
 Hitler&lt;br /&gt;
 Anal&lt;br /&gt;
 Bitch&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Server_Owners&amp;diff=2344</id>
		<title>CommunityAdministrationNetwork/Server Owners</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Server_Owners&amp;diff=2344"/>
		<updated>2007-05-10T01:18:50Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Typos and grammer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This page describes the information needed by server owners who are part of the [[CommunityAdminstrationNetwork/About|Community Administration Network]].&lt;br /&gt;
&lt;br /&gt;
==Membership Requirements==&lt;br /&gt;
&lt;br /&gt;
Membership as a CAN server is rather simple, and requires the server owner to agree to a few small things, and install a single plug-in.&lt;br /&gt;
&lt;br /&gt;
===Publicly List===&lt;br /&gt;
CAN is only for public servers. It is not available for private servers, due to it&#039;s link with global authentication and web based services.&lt;br /&gt;
&lt;br /&gt;
===Require Global Authentication===&lt;br /&gt;
Running a CAN server means that the server owner agrees to only allow registered players to spawn and talk. This is required and enforced by the CANAdmin plug-in, so it can do it&#039;s work using BZIDs and does not have to do any form of IP bans or blocks.&lt;br /&gt;
&lt;br /&gt;
===Provide a contact name and e-mail===&lt;br /&gt;
The CAN system needs a contact name and e-mail for each server or group of servers that it runs. This is so that the administration staff can contact the server owners if need be, and for the CAN website to send automatically generated usage/action logs every week. Servers with invalid contact information will be removed from the network.&lt;br /&gt;
&lt;br /&gt;
===Provide a valid domain name and port for each server running===&lt;br /&gt;
The CAN system needs to know the names and ports of each server that is run in order to verify it&#039;s  membership in the network.&lt;br /&gt;
&lt;br /&gt;
===Run a minimum version of the BZFS server===&lt;br /&gt;
In order for the CANAdmin plug-in to work, it will require a specific version of BZFS. Server owners that can not build there own BZFS simply need to ask, and the network staff can work with you to get a version that is compatible with the required server.&lt;br /&gt;
&lt;br /&gt;
===Understand the service===&lt;br /&gt;
It is important that each server owner understand what services are being offered by the network, and what services are not. As well as understanding what responsibilities do and don&#039;t come with network membership. Being a CAN member server does not automatically confer any network administration status or abilities to the server owner. While many server owners would make fine field agents or core administrators and may be asked to participate in the network in those positions, they will not be judged for those positions solely on there ownership of a server. Field Agent positions have there own set of criteria for membership and they will be chosen for those alone. Server owners do not loose any local administration ability by becoming a CAN member server.&lt;br /&gt;
&lt;br /&gt;
==Actions that will result in membership termination==&lt;br /&gt;
&lt;br /&gt;
There is a small number of actions that will result in the termination of the membership agreement with a server.&lt;br /&gt;
&lt;br /&gt;
===Modification of the CANAdmin plug-in===&lt;br /&gt;
A server owner should never need to modify the plug-in, or change it in any way. Use of a modified plug-in can result in the removal of a server from the network. If a server owner requires additional features from the plug-in, they should contact the administration staff, so the features can be worked into the base plug-in code.&lt;br /&gt;
&lt;br /&gt;
==Disputes with Administration actions==&lt;br /&gt;
&lt;br /&gt;
The administration team is more then happy to work with server owners to resolve any issues or disputes that they may have with the actions of it&#039;s agents. Accountability of agent actions is a primary goal of the network. If a server owner has any issue with an action, it is best that they talk to the administration team about it as soon as possible. Issues such as a &amp;quot;rouge agent&amp;quot; or a misplaced ban are taken very seriously by the network and the admin staff will do it&#039;s best to have it resolved as soon as possible. If need be, the core administrators can &amp;quot;undo&amp;quot; all the actions of specific agents.&lt;br /&gt;
&lt;br /&gt;
The administration staff asks that server owners not block access to the server for any of its agents except in the worst of circumstances, and that it not override the actions of the administration staff, as it will prevent the network from doing what has been agreed upon. If a server owner feels they must take actions such as these, the admin staff highly recommends opening a dialog as soon as possible.&lt;br /&gt;
&lt;br /&gt;
Server owners are free to unload or remove the CANAdmin plug-in at any time to leave the network at there own discretion. The Core Administrators and the Network Administrator reserve the right to remove any server from the CAN network at any time, with notification.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Server_Owners&amp;diff=2343</id>
		<title>CommunityAdministrationNetwork/Server Owners</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/Server_Owners&amp;diff=2343"/>
		<updated>2007-05-10T01:15:14Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Grammar fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This page describes the information needed by server owners who are part of the [[CommunityAdminstrationNetwork/About|Community Administration Network]].&lt;br /&gt;
&lt;br /&gt;
==Membership Requirements==&lt;br /&gt;
&lt;br /&gt;
Membership as a CAN server is rather simple, and requires the server owner to agree to a few small things, and install a single plug-in.&lt;br /&gt;
&lt;br /&gt;
===Publicly List===&lt;br /&gt;
CAN is only for public servers. It is not available for private servers, due to it&#039;s link with global authentication and web based services.&lt;br /&gt;
&lt;br /&gt;
===Require Global Authentication===&lt;br /&gt;
Running a CAN server means that the server owner agrees to only allow registered players to spawn and talk. This is required and enforced by the CANAdmin plug-in, so it can do it&#039;s work using BZIDs and does not have to do any form of IP bans or blocks.&lt;br /&gt;
&lt;br /&gt;
===Provide a contact name and e-mail===&lt;br /&gt;
The CAN system needs a contact name and e-mail for each server or group of servers that it runs. This is so that the administration staff can contact the server owners if need be, and for the CAN website to send automatically generated usage/action logs every week. Servers with invalid contact information will be removed from the network.&lt;br /&gt;
&lt;br /&gt;
===Provide a valid domain name and port for each server running===&lt;br /&gt;
The CAN system needs to know the names and ports of each server that is run in order to verify it&#039;s  membership in the network.&lt;br /&gt;
&lt;br /&gt;
===Run a minimum version of the BZFS server===&lt;br /&gt;
In order for the CANAdmin plug-in to work, it will require a specific version of BZFS. Server owners that can not build there own BZFS simply need to ask, and the network staff can work with you to get a version that is compatible with the required server.&lt;br /&gt;
&lt;br /&gt;
===Understand the service===&lt;br /&gt;
It is important that each server owner understand what services are being offered by the network, and what services are not. As well as understanding what responsibilities do and don&#039;t come with network membership. Being a CAN member server does not automatically confer any network administration status or abilities to the server owner. While many server owners would make fine field agents or core administrators and may be asked to participate in the network in those positions, they will not be judged for those positions solely on there ownership of a server. Field Agent positions have there own set of criteria for membership and they will be chosen for those alone. Server owners do not loose any local administration ability by becoming a CAN member server.&lt;br /&gt;
&lt;br /&gt;
==Actions that will result in membership termination==&lt;br /&gt;
&lt;br /&gt;
There is a small number of actions that will result in the termination of the membership agreement with a server.&lt;br /&gt;
&lt;br /&gt;
===Modification of the CANAdmin plug-in===&lt;br /&gt;
A server owner should never need to modify the plug-in, or change it in any way. Use of a modified plug-in can result in the removal of a server from the network. If a server owner requires additional features from the plug-in, they should contact the administration staff, so the features can be worked into the base plug-in code.&lt;br /&gt;
&lt;br /&gt;
==Disputes with Administration actions==&lt;br /&gt;
&lt;br /&gt;
The administration team is more then happy to work with server owners to resolve any issues or disputes that they may have with the actions of it&#039;s agents. Accountability of agent actions is a primary goal of the network. If a server owner has any issue with an action, it is best that they talk to the administration team about it as soon as possible. Issues such as a &amp;quot;rouge agent&amp;quot; or a misplaced ban are taken very seriously by the network and the admin staff will do it&#039;s best to have it resolved as soon as possible. If need be, the core administrators can &amp;quot;undo&amp;quot; all the actions of specific agents.&lt;br /&gt;
&lt;br /&gt;
The administration staff asks that server owners not block access to the server for any of it&#039;s agents except in the worst of circumstances, and that it not override the actions of the administration staff, as it will prevent the network from doing what has been agreed upon. If a server owner feels they must take actions such as these, the admin staff highly recommends opening a dialog as soon as possible.&lt;br /&gt;
&lt;br /&gt;
Server owners are free to unload or remove the CANAdmin plug-in at any time to leave the network at there own discression. The Core Administrators and the Network Administrator reserve the right to remove any server from the CAN network at any time, with notification.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/About&amp;diff=2342</id>
		<title>CommunityAdministrationNetwork/About</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/About&amp;diff=2342"/>
		<updated>2007-05-10T01:05:51Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The Community Administration Network is an independent organization of server owners and administrators who have chosen to group together to provide the best possible play experience to BZFlag players.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note&#039;&#039;&#039;&lt;br /&gt;
The network is just in it&#039;s conceptual stages at this point. Please post any questions, comments, or concerns to the talk page. Also if you are a server owner that would be interested in being a member please also post that to the talk page, we are very interested in knowing who would like to participate.&lt;br /&gt;
&lt;br /&gt;
==Organization==&lt;br /&gt;
The Network is made up of servers whose owners have chosen to provide the network administration staff the ability to manage and enforce a specific set of rules on their servers.&lt;br /&gt;
&lt;br /&gt;
Information for users playing on member servers can be found on the [[CommunityAdminstrationNetwork/Players]] page.&lt;br /&gt;
&lt;br /&gt;
The network is made up of the following groups.&lt;br /&gt;
&lt;br /&gt;
===Server Owners===&lt;br /&gt;
These are server owner/operators that have chosen to participate in the network. The owners have agreed to the rules for servers and have been accepted into the network. They run the CANAdmin plug-in as part of their server setup. Information on the requirements and expectations of server owners can be found on the [[CommunityAdminstrationNetwork/Server Owners]] page.&lt;br /&gt;
&lt;br /&gt;
===Field Agent===&lt;br /&gt;
These are users chosen from the community to do the day-to-day admin actions on network servers. They are normal players that have agreed to the terms and rules for CAN Field Agents. They use the CANAdmin plug-in on network servers to perform their administration actions. All actions by all agents are logged by the network for review. Information on the requirements and expectations of Field Agents can be found on the [[CommunityAdminstrationNetwork/Field Agent]] page.&lt;br /&gt;
&lt;br /&gt;
===Core Administrators===&lt;br /&gt;
These are a smaller group of administrators that in addition to the abilities of the field agents, is responsible for arbitrating disputes between players and field agents and for adding or removing field agents when needed. The Core administration team is also responsible for approving and reviewing the servers that make up the network.&lt;br /&gt;
&lt;br /&gt;
===Network Administrator===&lt;br /&gt;
The network administrator in addition to being a Core Administrator, is the one person responsible for the entire network. He/she creates the rules to which all other administrators and server owners agree. The network administrator has the power of veto over any action of the other agents but must provide a reasonable explanation, or face the other administrators and agents abandoning the network (making it pointless).&lt;br /&gt;
&lt;br /&gt;
==CANAdmin plug-in==&lt;br /&gt;
The network administrators make use of a special plugin that server administrators install to allow network administration. This allows agents to apply network wide warnings, kicks, and bans to users that violate the network rules and regulations. The network agents are only able to enforce the network-specific rules on servers and by default do not have any additional administrative permissions or abilities on any server. A server owner may choose to give network agents additional abilities, but it is not required for network membership.&lt;br /&gt;
&lt;br /&gt;
==Rules==&lt;br /&gt;
The network has a very specific set of rules that it applies to servers. This rule set is expected to be a small subset of the rules on any one server. CAN Administrators will only enforce these specific rules by default. Every administrative action (warn, kick, and ban) will be logged with the rule number to which the violation applies, as well as any applicable logs or records needed.&lt;br /&gt;
&lt;br /&gt;
===1) Global Registration===&lt;br /&gt;
All users must be globally registered and identified to play. This includes spawning and talking. Violations of this rule never have administrative action, as it is automatically enforced by the CANAdmin plug-in (i.e., unregistered players cannot connect to servers using the plug-in, they are automatically rejected).&lt;br /&gt;
&lt;br /&gt;
===2) No Cheating===&lt;br /&gt;
Users must not use modified clients to gain an unfair advantage over other users. This includes any modification that changes the behavior of a player tank from the release version of the game, or any modification that provides additional information or reaction time to the game.&lt;br /&gt;
Examples include (but are not limited to):&lt;br /&gt;
* God Mode (un-killable)&lt;br /&gt;
* Auto-Aim&lt;br /&gt;
* Seeing Stealth or Cloak.&lt;br /&gt;
* Jump Modification&lt;br /&gt;
* Speed modification&lt;br /&gt;
* Tank hit size modification&lt;br /&gt;
* Shot end modification&lt;br /&gt;
Additional items may be added based on the observations of the administrator. If a user is experiencing network or software problems that may appear to be cheats, then it is up to them to work with the Administration staff and/or the project development to rectify the issue as soon as they are warned. The administration staff will be more then happy to work with the users to determine the cause of any software- or network-related issues. If the issues are network-related and cause the disruption of play with other users, network administrators can request that the user discontinue play on a specific server until such time as network conditions improve. The administrators are expected to speak to the players about the behavior before taking any action to determine its cause.&lt;br /&gt;
&lt;br /&gt;
===3) No Exploiting===&lt;br /&gt;
Users must not use in-game features or flaws to gain an unfair advantage over other players. This includes using game features or bugs to create artificial lag spikes, tweaks or changes to the input system, or the operating system / drivers to create positional discrepancies or speed changes. If the administration staff asks a user to discontinue an action that is causing a problem, the user is expected to refrain from that action. This includes the use of external applications to modify the game&#039;s internal state or network data.&lt;br /&gt;
&lt;br /&gt;
===4) No Griefing===&lt;br /&gt;
Users must not engage in behavior that is disruptive to the play of the game. This includes actions such as intentional team-killing, intentional self-genocide, or capturing the user&#039;s own team flag in a CTF game. This also includes message spamming.  The administration team does understand that isolated accidents do happen. Users warned of this offense are expected to take care to not repeat the actions.&lt;br /&gt;
&lt;br /&gt;
===5) Minimum Language Rules===&lt;br /&gt;
Users are expected to adhere to a set of [[CommunityAdminstrationNetwork/DisallowedWords|minimum language rules]] that disallows a set of very specific words when using public or team chat channels. Users are also expected to refrain from attacking or making disparaging remarks about other users, race, creed, or beliefs. The in game chat is for chat about the game while playing. Users who are warned for language violations are expected to discontinue use of the offensive language, and continue to play in a civil manner. It should be noted that individual servers can and will have more strict language polices in place that they may administer locally. The minimum language policy applies to user callsigns, and in game e-mail addresses, as well as chat text.&lt;br /&gt;
&lt;br /&gt;
===6) No disruption of public services===&lt;br /&gt;
Users are expected to not take actions that would disrupt any of the network&#039;s or project&#039;s public services. This includes any websites or forums, IRC channels, or servers operated by the network itself, or the BZFlag project. Actions of this nature are very serious and will not be taken lightly.&lt;br /&gt;
&lt;br /&gt;
==Common Questions and concerns==&lt;br /&gt;
&lt;br /&gt;
===Questions===&lt;br /&gt;
====Does the network do range bans?====&lt;br /&gt;
All bans are handled by the CANAdmin plug-in and are done based on the BZID of the users. Since a requirement to be a CAN server is to only allow registered users, IP bans of any sort are not needed.&lt;br /&gt;
&lt;br /&gt;
===What the Network Is===&lt;br /&gt;
This is a list of items that describe what the network is meant for:&lt;br /&gt;
&lt;br /&gt;
====The CAN is a group of people:====&lt;br /&gt;
	The network consists of people. People that the server owners have chosen to trust to enforce a set of rules. It is run by people for people. People are human. It is assumed that people can and will make mistakes on both sides. Mistakes can be fixed as long as both parties are willing to work at fixing the problem in a civil manner.&lt;br /&gt;
&lt;br /&gt;
====The CAN is reasonable:====&lt;br /&gt;
	Administrators are more then willing to listen to anyone who has been kicked or banned, as long as the user is willing to work with them in a reasonable manner. If a user has an issue that can not be resolved with an administrator, they should take it up to the next level of administration as indicated in the organization section above.&lt;br /&gt;
&lt;br /&gt;
====The CAN keeps records, lots of them:====&lt;br /&gt;
	The CANAdmin plug-in will track all actions done by administrators, and can provide them for review if needed. These records are kept independently of any logging or tracking that server owners choose to do, and are intended to be used by network staff only. This provides a set of checks and accountability for all actions, as well as records of the reasons behind any action.&lt;br /&gt;
&lt;br /&gt;
====The CAN is a team:====&lt;br /&gt;
	Network administrators work together. Any administrator can work on any problem, regardless of who the issue started with. Administrators are encouraged to work together, with other administrators, and players.&lt;br /&gt;
&lt;br /&gt;
====The CAN works with leagues:====&lt;br /&gt;
	Since the field agents don&#039;t have any control over gameplay commands, and the CANAdmin plug-in doesn&#039;t use any of the host servers administration functions, there is no reason why a league server can not also be a CAN member server. The network rules should be compatible as a subset for all leagues.&lt;br /&gt;
&lt;br /&gt;
===What the network is not===&lt;br /&gt;
&lt;br /&gt;
====The CAN is not your mom====&lt;br /&gt;
	The network does not exist to arbitrate small disagreements in playstyle or behavior. It will not make Billy stop touching your flag. It does not exist to decide what is or isn&#039;t fair in games. The rules that the network enforces have nothing to do with gameplay or any specific game ruleset. The CAN will not and can not do such actions as resetting flags, balancing teams, or changing server variables.&lt;br /&gt;
&lt;br /&gt;
====The CAN does not take over a server.====&lt;br /&gt;
	By default CAN administrators do not have access to a server banlist, groups, passwords, users, or any other abilities. All network actions are applied by the CANAdmin plug-in and do not affect the server settings in any way.&lt;br /&gt;
&lt;br /&gt;
====The CAN is not a democracy.====&lt;br /&gt;
	The network is a service provided by its administrator and trusted staff. Server owners can choose to allow the CAN onto their servers, or they can choose not to. The network is not designed or run by any sort of committee. It is run following the specific rules set forth in this document.&lt;br /&gt;
&lt;br /&gt;
====The CAN is not the master ban list.====&lt;br /&gt;
	While some of the network administration staff are also part of the BZFlag project, the network itself is not. Network bans are not part of the global master ban list that is applied by default to all public servers. Actions against the project itself may result in CAN administrative action, but the reverse is not always true.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
[[CommunityAdminstrationNetwork/Server Owners]]&lt;br /&gt;
&lt;br /&gt;
[[CommunityAdminstrationNetwork/Field Agent]]&lt;br /&gt;
&lt;br /&gt;
[[CommunityAdminstrationNetwork/Core Administrators]]&lt;br /&gt;
&lt;br /&gt;
[[CommunityAdminstrationNetwork/Players]]&lt;br /&gt;
&lt;br /&gt;
[[CommunityAdminstrationNetwork/CANAdmin Plug-In]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/About&amp;diff=2341</id>
		<title>CommunityAdministrationNetwork/About</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=CommunityAdministrationNetwork/About&amp;diff=2341"/>
		<updated>2007-05-10T00:55:06Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommunityAdministrationNetwork}}&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The Community Administration Network is an independent organization of server owners and administrators who have chosen to group together to provide the best possible play experience to BZFlag players.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note&#039;&#039;&#039;&lt;br /&gt;
The network is just in it&#039;s conceptual stages at this point. Please post any questions, comments, or concerns to the talk page. Also if you are a server owner that would be interested in being a member please also post that to the talk page, we are very interested in knowing who would like to participate.&lt;br /&gt;
&lt;br /&gt;
==Organization==&lt;br /&gt;
The Network is made up of servers whose owners have chosen to provide the network administration staff the ability to manage and enforce a specific set of rules on their servers.&lt;br /&gt;
&lt;br /&gt;
Information for users playing on member servers can be found on the [[CommunityAdminstrationNetwork/Players]] page.&lt;br /&gt;
&lt;br /&gt;
The network is made up of the following groups.&lt;br /&gt;
&lt;br /&gt;
===Server Owners===&lt;br /&gt;
These are server owner/operators that have chosen to participate in the network. The owners have agreed to the rules for servers and have been accepted into the network. They run the CANAdmin plug-in as part of their server setup. Information on the requirements and expectations of server owners can be found on the [[CommunityAdminstrationNetwork/Server Owners]] page.&lt;br /&gt;
&lt;br /&gt;
===Field Agent===&lt;br /&gt;
These are users chosen from the community to do the day-to-day admin actions on network servers. They are normal players that have agreed to the terms and rules for CAN Field Agents. They use the CANAdmin plug-in on network servers to perform their administration actions. All actions by all agents are logged by the network for review. Information on the requirements and expectations of Field Agents can be found on the [[CommunityAdminstrationNetwork/Field Agent]] page.&lt;br /&gt;
&lt;br /&gt;
===Core Administrators===&lt;br /&gt;
These are a smaller group of administrators that in addition to the abilities of the field agents, is responsible for arbitrating disputes between players and field agents and for adding or removing field agents when needed. The Core administration team is also responsible for approving and reviewing the servers that make up the network.&lt;br /&gt;
&lt;br /&gt;
===Network Administrator===&lt;br /&gt;
The network administrator in addition to being a Core Administrator, is the one person responsible for the entire network. He/she creates the rules to which all other administrators and server owners agree. The network administrator has the power of veto over any action of the other agents but must provide a reasonable explanation, or face the other administrators and agents abandoning the network (making it pointless).&lt;br /&gt;
&lt;br /&gt;
==CANAdmin plug-in==&lt;br /&gt;
The network administrators make use of a special plugin that server administrators install to allow network administration. This allows agents to apply network wide warnings, kicks, and bans to users that violate the network rules and regulations. The network agents are only able to enforce the network-specific rules on servers and by default do not have any additional administrative permissions or abilities on any server. A server owner may choose to give network agents additional abilities, but it is not required for network membership.&lt;br /&gt;
&lt;br /&gt;
==Rules==&lt;br /&gt;
The network has a very specific set of rules that it applies to servers. This rule set is expected to be a small subset of the rules on any one server. CAN Administrators will only enforce these specific rules by default. Every administrative action (warn, kick, and ban) will be logged with the rule number to which the violation applies, as well as any applicable logs or records needed.&lt;br /&gt;
&lt;br /&gt;
===1) Global Registration===&lt;br /&gt;
All users must be globally registered and identified to play. This includes spawning and talking. Violations of this rule never have administrative action, as it is automatically enforced by the CANAdmin plug-in (i.e., unregistered players cannot connect to servers using the plug-in, they are automatically rejected).&lt;br /&gt;
&lt;br /&gt;
===2) No Cheating===&lt;br /&gt;
Users must not use modified clients to gain an unfair advantage over other users. This includes any modification that changes the behavior of a player tank from the release version of the game, or any modification that provides additional information or reaction time to the game.&lt;br /&gt;
Examples include (but are not limited to):&lt;br /&gt;
* God Mode (un-killable)&lt;br /&gt;
* Auto-Aim&lt;br /&gt;
* Seeing Stealth or Cloak.&lt;br /&gt;
* Jump Modification&lt;br /&gt;
* Speed modification&lt;br /&gt;
* Tank hit size modification&lt;br /&gt;
* Shot end modification&lt;br /&gt;
Additional items may be added based on the observations of the administrator. If a user is experiencing network or software problems that may appear to be cheats, then it is up to them to work with the Administration staff and/or the project development to rectify the issue as soon as they are warned. The administration staff will be more then happy to work with the users to determine the cause of any software- or network-related issues. If the issues are network-related and cause the disruption of play with other users, network administrators can request that the user discontinue play on a specific server until such time as network conditions improve. The administrators are expected to speak to the players about the behavior before taking any action to determine its cause.&lt;br /&gt;
&lt;br /&gt;
===3) No Exploiting===&lt;br /&gt;
Users must not use in-game features or flaws to gain an unfair advantage over other players. This includes using game features or bugs to create artificial lag spikes, tweaks or changes to the input system, or the operating system / drivers to create positional discrepancies or speed changes. If the administration staff asks a user to discontinue an action that is causing a problem, the user is expected to refrain from that action. This includes the use of external applications to modify the game&#039;s internal state or network data.&lt;br /&gt;
&lt;br /&gt;
===4) No Griefing===&lt;br /&gt;
Users must not engage in behavior that is disruptive to the play of the game. This includes actions such as intentional team-killing, intentional self-genocide, or capturing the user&#039;s own team flag in a CTF game. This also includes message spamming.  The administration team does understand that isolated accidents do happen. Users warned of this offense are expected to take care to not repeat the actions.&lt;br /&gt;
&lt;br /&gt;
===5) Minimum Language Rules===&lt;br /&gt;
Users are expected to adhere to a set of [[CommunityAdminstrationNetwork/DisallowedWords|minimum language rules]] that disallows a set of very specific words when using public or team chat channels. Users are also expected to refrain from attacking or making disparaging remarks about other users, race, creed, or beliefs. The in game chat is for chat about the game while playing. Users who are warned for language violations are expected to discontinue use of the offensive language, and continue to play in a civil manner. It should be noted that individual servers can and will have more strict language polices in place that they may administer locally. The minimum language policy applies to user callsigns, and in game e-mail addresses, as well as chat text.&lt;br /&gt;
&lt;br /&gt;
===6) No disruption of pubic services===&lt;br /&gt;
Users are expected to not take actions that would disrupt any of the network&#039;s or project&#039;s public services. This includes any websites or forums, IRC channels, or servers operated by the network itself, or the BZFlag project. Actions of this nature are very serious and will not be taken lightly.&lt;br /&gt;
&lt;br /&gt;
==Common Questions and concerns==&lt;br /&gt;
&lt;br /&gt;
===Questions===&lt;br /&gt;
====Does the network do range bans?====&lt;br /&gt;
All bans are handled by the CANAdmin plug-in and are done based on the BZID of the users. Since a requirement to be a CAN server is to only allow registered users, IP bans of any sort are not needed.&lt;br /&gt;
&lt;br /&gt;
===What the Network Is===&lt;br /&gt;
This is a list of items that describe what the network is meant for:&lt;br /&gt;
&lt;br /&gt;
====The CAN is a group of people:====&lt;br /&gt;
	The network consists of people. People that the server owners have chosen to trust to enforce a set of rules. It is run by people for people. People are human. It is assumed that people can and will make mistakes on both sides. Mistakes can be fixed as long as both parties are willing to work at fixing the problem in a civil manner.&lt;br /&gt;
&lt;br /&gt;
====The CAN is reasonable:====&lt;br /&gt;
	Administrators are more then willing to listen to anyone who has been kicked or banned, as long as the user is willing to work with them in a reasonable manner. If a user has an issue that can not be resolved with an administrator, they should take it up to the next level of administration as indicated in the organization section above.&lt;br /&gt;
&lt;br /&gt;
====The CAN keeps records, lots of them:====&lt;br /&gt;
	The CANAdmin plug-in will track all actions done by administrators, and can provide them for review if needed. These records are kept independently of any logging or tracking that server owners choose to do, and are intended to be used by network staff only. This provides a set of checks and accountability for all actions, as well as records of the reasons behind any action.&lt;br /&gt;
&lt;br /&gt;
====The CAN is a team:====&lt;br /&gt;
	Network administrators work together. Any administrator can work on any problem, regardless of who the issue started with. Administrators are encouraged to work together, with other administrators, and players.&lt;br /&gt;
&lt;br /&gt;
====The CAN works with leagues:====&lt;br /&gt;
	Since the field agents don&#039;t have any control over gameplay commands, and the CANAdmin plug-in doesn&#039;t use any of the host servers administration functions, there is no reason why a league server can not also be a CAN member server. The network rules should be compatible as a subset for all leagues.&lt;br /&gt;
&lt;br /&gt;
===What the network is not===&lt;br /&gt;
&lt;br /&gt;
====The CAN is not your mom====&lt;br /&gt;
	The network does not exist to arbitrate small disagreements in playstyle or behavior. It will not make Billy stop touching your flag. It does not exist to decide what is or isn&#039;t fair in games. The rules that the network enforces have nothing to do with gameplay or any specific game ruleset. The CAN will not and can not do such actions as resetting flags, balancing teams, or changing server variables.&lt;br /&gt;
&lt;br /&gt;
====The CAN does not take over a server.====&lt;br /&gt;
	By default CAN administrators do not have access to a server banlist, groups, passwords, users, or any other abilities. All network actions are applied by the CANAdmin plug-in and do not affect the server settings in any way.&lt;br /&gt;
&lt;br /&gt;
====The CAN is not a democracy.====&lt;br /&gt;
	The network is a service provided by its administrator and trusted staff. Server owners can choose to allow the CAN onto their servers, or they can choose not to. The network is not designed or run by any sort of committee. It is run following the specific rules set forth in this document.&lt;br /&gt;
&lt;br /&gt;
====The CAN is not the master ban list.====&lt;br /&gt;
	While some of the network administration staff are also part of the BZFlag project, the network itself is not. Network bans are not part of the global master ban list that is applied by default to all public servers. Actions against the project itself may result in CAN administrative action, but the reverse is not always true.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
[[CommunityAdminstrationNetwork/Server Owners]]&lt;br /&gt;
&lt;br /&gt;
[[CommunityAdminstrationNetwork/Field Agent]]&lt;br /&gt;
&lt;br /&gt;
[[CommunityAdminstrationNetwork/Core Administrators]]&lt;br /&gt;
&lt;br /&gt;
[[CommunityAdminstrationNetwork/Players]]&lt;br /&gt;
&lt;br /&gt;
[[CommunityAdminstrationNetwork/CANAdmin Plug-In]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Slash_Commands&amp;diff=1980</id>
		<title>Slash Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Slash_Commands&amp;diff=1980"/>
		<updated>2007-04-10T18:53:49Z</updated>

		<summary type="html">&lt;p&gt;Thumper: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is a list of the commands that are available in BZFlag. Access to most of these commands is controlled through [[Server_Permissions|permissions]].&lt;br /&gt;
&lt;br /&gt;
All commands are preceded by a &#039;/&#039; on any chat prompt.&lt;br /&gt;
The format for commands that take arguments are provided by the server by issuing the command with no arguments. (ie. `/ban`)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some commands take no arguments&#039;&#039;&#039; (eg. &#039;&#039;/shutdownserver&#039;&#039;, &#039;&#039;/superkill&#039;&#039;) &#039;&#039;&#039;and therefore&#039;&#039;&#039; do not return the format string for the command but &#039;&#039;&#039;execute the command instead.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hl3}} |&#039;&#039;&#039;Command&#039;&#039;&#039; &lt;br /&gt;
| {{Hl3}} |&#039;&#039;&#039;Description&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/?&#039;&#039; || List commands&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/ban&#039;&#039; || Ban players using the specified IPs of the player specified for certain length of time from using this server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/banlist&#039;&#039; || List all of the IPs currently banned from this server. Items from the master ban list on my.bzflag.org/bb have an &#039;(m)&#039; after the IP for masterban. If an argument is specified only bans that match the argument are displayed.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/checkip&#039;&#039; || Check if a specified IP is banned or not and report the results.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/clientquery&#039;&#039; || Retrieve client version info from all users, or just CALLSIGN if given&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/countdown&#039;&#039; || Starts the countdown sequence for a timed game. The countdown sequence length can optionally be specified in seconds.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/date&#039;&#039; || Responds with the current server local date and time (same as /time).&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/deregister&#039;&#039; || With an argument, it deregisters another user&#039;s callsign . Without, it removes your own registration. (only affects local registration)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/endgame&#039;&#039; || Ends the current game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/flag reset&#039;&#039; || Repositions flags. If unused is specified, flags carried by tanks are not affected.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/flag up&#039;&#039; || Removes all flags from the game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/flag show&#039;&#039; || Shows all flags with information.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/flag give&#039;&#039; || Give the specified flag to the specified player. This command spawns the flag directly above the play, so if they are moving the flag will fall on the ground near them. If the flag is not available, it will take a flag from the person who has the flag specified. You cannot give flags that do not exist on the map.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/flag take&#039;&#039; || Will take the flag that the player specified is currently carrying.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/flaghistory&#039;&#039; || Lists what flags players have grabbed in the past.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/gameover&#039;&#039; || Ends a timed game.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/ghost&#039;&#039; || Kicks off an impersonating player or ghost&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/grouplist&#039;&#039; || Lists the available user groups&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/groupperms&#039;&#039; || Lists the permissions for each group&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/help&#039;&#039; || With no argument it displays a lists the help files available. With the argument it displays the contents of the help file.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/hostban&#039;&#039; || Ban players using the specified hostnames for a certain length of time from using this server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/hostbanlist&#039;&#039; || List all of the host patterns currently banned from this server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/hostunban&#039;&#039; || Will remove the the specified host from the ban list so that players from that host will be able to blay again.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/idban&#039;&#039; || Ban a player by bzbb id. This will stick even if the player ip changes.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/idbanlist&#039;&#039; || List all bans made with &#039;&#039;/idban&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/identify&#039;&#039; || Log in to a registered callsign&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/idlestats&#039;&#039; || Displays the idle time in seconds for each player. A player is idle when he is dead and has not respawned yet.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/idlist&#039;&#039; || Will list the currently banned IDs&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/idunban&#039;&#039; || Will remove the ban on the ID specified so that the player may play on the server again.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/kick&#039;&#039; || Kick a named player off the server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/kill&#039;&#039; || Kill a player (they explode)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/lagdrop&#039;&#039; || With no argument it displays current lagdrop setting, with argument it sets it to the value specified. This specifies the number of warnings a player gets due to high lag before the server kicks the players.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/lagstats&#039;&#039; || Lists network delays, jitter and number of lost (out of order packets) by player.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/lagwarn&#039;&#039; || With no argument it displays current lagwarn setting, with argument it sets it to the value specified. If a players lag is higher that the setting they will be warned, then kicked.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/localset&#039;&#039; || Set local client variables in your configuration file.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/masterban&#039;&#039; || Manipulate the master ban list.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/me&#039;&#039; || This command displays an &amp;quot;action&amp;quot; that is conveyed to another player. It allows for a little more expressivity in the game. For example: &amp;quot;/me is hunting wabbits&amp;quot; turns into a message like &amp;quot;Thumper is hunting wabbits&amp;quot; that gets displayed differently to other players.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/msg&#039;&#039; || This command allows a player to send a message to another player. Similar to using the &amp;quot;,&amp;quot; and &amp;quot;.&amp;quot; message keys in the game and then selecting your recipient, this will send some message to particular player.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/mute&#039;&#039; || Allows a server admin to remove the ability for a player to communicate with other players. Once muted the player may only talk to admins on the server. This command removes the TALK permission for that user.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/part&#039;&#039; || Leave the server with a goodbye message (same as /quit).&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/password&#039;&#039; || Enter server password to gain operator privileges.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/playerlist&#039;&#039; || List player names and IP addresses.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/poll&#039;&#039; || Start a player poll&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/quit&#039;&#039; || Leave the server with a goodbye message (same as /part).&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record&#039;&#039; || List all files in the recordings directory&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record start&#039;&#039; || Starts recording&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record stop&#039;&#039; || Stops recording&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record size&#039;&#039; || Specify size of recording buffer in megabytes (MB)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record rate&#039;&#039; || Specify recording rate in seconds&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record stats&#039;&#039; || Display statistics of recording&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record file&#039;&#039; || Specify a filename for recording instead of using memory&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/record save&#039;&#039; || Save an in-memory recording buffer to a file&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/register&#039;&#039; || Register your current callsign locally to the specified password. Passwords must be at least 3 characters long, and the callsign may not contain quotes or other non-alphanumeric/space characters. We use global logons and this is not needed.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/reload&#039;&#039; || Reloads the user, group, and password files (for synchronization between multiple servers on the same machine)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/removegroup&#039;&#039; || Remove a user from a group&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/replay list&#039;&#039; || List recording files that can be replayed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/replay load&#039;&#039; || Load a recording file for play&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/replay play&#039;&#039; || Start playback of the loaded recording&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/replay skip&#039;&#039; || Skip forwards or backwards through the recording&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/report&#039;&#039; || Write a message to the server administrator&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/reset&#039;&#039; || Reset a server variable to it&#039;s bzfs default setting.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/say&#039;&#039; || Generate a public message sent by the server. For example &amp;quot;/say This is a server message&amp;quot;, will display &#039;&#039;[SERVER:] This is a server message (Thumper)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/sendhelp&#039;&#039; || Send a help file to a player&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/serverquery&#039;&#039; || Report the server version number&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/set&#039;&#039; || With no arguments it will list the values of all server variables. With the arguments it will set the variable that is specified to the value that is given.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/setgroup&#039;&#039; || Add a user to a group&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/setpass&#039;&#039; || Changes your password (for locally registered users, not globally)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/showgroup&#039;&#039; || Lists the groups that a registered user is a member of&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/showperms&#039;&#039; || Show permissions granted to yourself or another player&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/shutdownserver&#039;&#039; || Stop serving BZFlag on this server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/superkill&#039;&#039; || Kick all players off the server.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/time&#039;&#039; || Responds with the current server local date and time (same as /date).&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/unban&#039;&#039; || Will remove the IP adress from the banlist, allowing someone from that address to conncet and play BZFlag.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/unmute&#039;&#039; || Allows a server admin to restore the TALK permission to a previously muted player.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/uptime&#039;&#039; || Prints server&#039;s current running time in days, hours, mins and secs.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/veto&#039;&#039; || If there is a poll active, this will cancel the poll.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/viewreports&#039;&#039; || View the server&#039;s report file.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;/vote&#039;&#039; || If there is a poll active, this command will place a vote in favor or in opposition to the poll. Multiple languages are supported as a vote argument in addition to &amp;quot;yes&amp;quot; and &amp;quot;no&amp;quot;. By default, you must be registered to vote on a poll.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Client]]&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFlagWiki:Content_Policy&amp;diff=1884</id>
		<title>BZFlagWiki:Content Policy</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFlagWiki:Content_Policy&amp;diff=1884"/>
		<updated>2007-04-09T03:03:58Z</updated>

		<summary type="html">&lt;p&gt;Thumper: Typos and grammer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the acceptable content policy for articles in this wiki.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The BZFlag wiki is provided as shared informational resource for the player community. It&#039;s intended content is factual information regarding the BZFlag game and it&#039;s community. To do this it must maintain a level of impartiality when dealing with that content. Bellow is a set of guidelines for users posting articles here.&lt;br /&gt;
&lt;br /&gt;
== Subjects ==&lt;br /&gt;
All articles on the BZflag wiki MUST have a direct bearing on the game itself. Articles that are not directly related to the game will be removed from the wiki.&lt;br /&gt;
=== Acceptable Subjects ===&lt;br /&gt;
The following are acceptable subjects for BZFlag Wiki Articles.&lt;br /&gt;
* Documentation of BZFlag Software.&lt;br /&gt;
* Documentation of BZFlag terms and concepts.&lt;br /&gt;
* Documentation of tasks specific to the direct use of the BZFlag source code, or software.&lt;br /&gt;
* Factual historical references of BZFlag , software, source code, and developers.&lt;br /&gt;
* General Information about specific maps, and links to there location.&lt;br /&gt;
* General Information about specific servers, and links to there administration and websites.&lt;br /&gt;
* General Information about server networks, and links to there administration and websites.&lt;br /&gt;
&lt;br /&gt;
=== Unacceptable Subjects ===&lt;br /&gt;
The following subjects should not be addressed in wiki articles.&lt;br /&gt;
* Server specific rules and policies.&lt;br /&gt;
* Advertisements for specific servers, users, or maps.&lt;br /&gt;
&lt;br /&gt;
== Article contents ==&lt;br /&gt;
The contents of articles must be presented in an impartial and factual manner. Wiki articles should be considered descriptive of their subjects, and at all times informational. If a statement can not be backed up with facts, it does not belong in the article. If the fact has no bearing on the subject matter in a descriptive way, it does not belong in the article. Some articles will have more or less factual content following these rules. The further away a subject is from the core game, the less information is applicable to the wiki. The page describing the command line options of the BZFS server will have significantly more applicable information then an article on a network of servers will. &lt;br /&gt;
&lt;br /&gt;
If the article does not deal directly with the BZFlag software or development process, and needs to reference information that is available on other websites, then the article should simply link to them. This includes items such as server rules, and other information that is elsewhere.&lt;br /&gt;
&lt;br /&gt;
Articles should not be written to promote or hinder any one specific server, network, group, or person. No statements should be based on opinion.&lt;br /&gt;
&lt;br /&gt;
== Writing style ==&lt;br /&gt;
As previously stated articles should be written to be descriptive. Personal words like &amp;quot;you&amp;quot;, &amp;quot;me&amp;quot;, &amp;quot;your&amp;quot;, etc.. should not be used, as the wiki is not a conversation. If part of the article is a description of steps of action, then they should simply be described as the action taken, not the actions of the specific user.&lt;br /&gt;
&lt;br /&gt;
== Content Disputes ==&lt;br /&gt;
As the wiki is user edited, conflicts and edits in the contents or articles can and will occur. When an article is changed, the previous author should read the changes and attempt to understand them before taking any action. Users changing articles should leave descriptive comments with the change indicating why they changed the article. If a previous author disputes the changes, they should attempt to work out an amicable solution on the talk page of the article. The use of the Revert function should not be used in haste, it is primarily intended to assist with article vandalism, or when a change blatantly disregards this policy ( no &amp;quot;revert wars ). Users that are unable to work out acceptable content for an article should contact the Project Administrators and be prepared to explain the issue and how the desired content will follow this policy.&lt;/div&gt;</summary>
		<author><name>Thumper</name></author>
	</entry>
</feed>