<?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=Bullet+Catcher</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=Bullet+Catcher"/>
	<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/Special:Contributions/Bullet_Catcher"/>
	<updated>2026-04-06T17:18:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Talk:BZFX&amp;diff=8739</id>
		<title>Talk:BZFX</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Talk:BZFX&amp;diff=8739"/>
		<updated>2013-11-12T04:12:25Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: Reverted edits by 178.150.106.88 (talk) to last revision by JeffM2501&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DonnyBaker&#039;s page removal ==&lt;br /&gt;
&lt;br /&gt;
I don&#039;t see why BZFX can&#039;t have extended information. It is relevant to BZFlag and a major server network. It&#039;s also in a convenient place to find - not everyone knows about the BZFX web-site. --[[User:A Meteorite|A Meteorite]] 18:47, 5 April 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As I stated in my rollback. The information you have is suited for a BZFX website, not BZFlag. The &#039;majorness&#039; of your network is pretty much an opinion, yours. I will do the same to any other &amp;quot;Network&amp;quot; that posts information that belongs on their own website. --[[User:DonnyBaker|DonnyBaker]] 20:52, 5 April 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
 The &#039;majorness&#039; of your network is pretty much an opinion, yours. I will do the same to any other &amp;quot;Network&amp;quot; that posts information that belongs on their own website. [[User:DonnyBaker|DonnyBaker]] 20:52, 5 April 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
Wait, what? Opinion? Rules are not opinion. Group information is not opinion. Those are all things BZFX and BZFX rules, which are facts &#039;&#039;&#039;to BZFX&#039;&#039;&#039; (which is what the article is &#039;&#039;&#039;about&#039;&#039;&#039;). I never say BZFX is a major server network on the wiki page either, because that is opinion. The other stuff is facts to BZFX. Plus some of this is important information and might possibly only get the exposure it needs on this wiki. --[[User:A Meteorite|A Meteorite]] 21:59, 5 April 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Any network should be treated as if it were a league - basic information only (website, irc channel...etc). On the leagues page it does not go into full explanation of what the league is; just the basics. -[[User:Tanner|Tanner]] 22:30, 5 April 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
::If I so choose to have more information about BZFX, why not? Information is good. The more the merrier. If this is because BZFX&#039;s page has more info than a league page, that is really lame. The league owners - or even players - could add more info so as long as it&#039;s not opinion. --[[User:A Meteorite|A Meteorite]] 22:44, 5 April 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
:[[User:A Meteorite|A Meteorite]] the information you present adds nothing to BZFlag... it is valuable to BZFX and therefore belongs on the BZFX web page. You are more than welcome to put the link to that site here (which you did). If people are interested in your rules and who your admins/cops are they can go to your website where you have full control of the content. As for the opinion comment, and I quote: &amp;quot;[[User:A_Meteorite|A Meteorite]] believed that no well-created and managed unified BZFlag server network existed. He believed he could do it better, and others have believed in him and BZFX. Since BZFX has been founded and taken off, several pieces of software has been in development for the higher furthering of BZFlag servers.&amp;quot; Sounds like a bunch of chest beating to me, and that is not what the wiki is for. There are several &amp;quot;Networks&amp;quot;, as you call them and they will get the same treatment if and when they post items like this. The fight is over, the page is protected and is noted on the page. --[[User:DonnyBaker|DonnyBaker]] 06:06, 6 April 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;[[User:A_Meteorite|A Meteorite]] believed that no well-created and managed unified BZFlag server network existed. He believed he could do it better, and others have believed in him and BZFX. Since BZFX has been founded and taken off, several pieces of software has been in development for the higher furthering of BZFlag servers.&amp;quot;&lt;br /&gt;
::That part can be removed, if is what it takes to be able to have rules and such. --[[User:A Meteorite|A Meteorite]] 01:06, 7 April 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
I am hard pressed to see how the rules of your server and the admins adds something for the BZFlag community. This is great information for &#039;&#039;&#039;your&#039;&#039;&#039; website, but not here. Keep it on your website so that anyone who might be interested can find it. The groups are bound to be dynamic as you add and remove people and having them on your server gives you one place to manage it. As for how you enforce &#039;&#039;&#039;your&#039;&#039;&#039; rules, again that is for &#039;&#039;&#039;your&#039;&#039;&#039; web site. The link has been established between the wiki and your site, that is what is necessary. The wiki is a place for information the affects the entire community and the documentation of BZFlag, your rules and admins affect your servers only and don&#039;t really belong here. --[[User:DonnyBaker|DonnyBaker]] 07:26, 7 April 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
The wiki is not a replacement for an informational website. IT should contain basic information on the network, server, whatever, and then links to where to get more info. The article can contain historical facts that may be of interest. Mostly the server/network articles are here to provide links for users to get more info. They are not duplicates for ease of use.  Met, chill, Donny, when you have user issues please contact the project administration first before you begin to discuss resolutions. - [[User:JeffM2501]] 12:15, 8 April 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Before any further edits to this page: ==&lt;br /&gt;
&lt;br /&gt;
Before anyone else edits this article, they should read the [[Content Policy]] for the wiki.&lt;br /&gt;
This page is not to be an advertisement, for BZFX, it is simply to contain descriptive information about the network, and links to further information about it.&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Master-ChildAccountSystem&amp;diff=8591</id>
		<title>Master-ChildAccountSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Master-ChildAccountSystem&amp;diff=8591"/>
		<updated>2013-02-13T05:28:48Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: spelling, grammar, note a BZID complication&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DesignDocument}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The main goal of the Master/Child account system is twofold;&lt;br /&gt;
# To limit or remove the liability of project services under the COPPA laws [http://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act]&lt;br /&gt;
# To provide additional features for parents to use when managing a child&#039;s time online.&lt;br /&gt;
&lt;br /&gt;
==Concept==&lt;br /&gt;
In order to support children the current authentication system will be converted into what will be known as &amp;quot;master accounts&amp;quot;. These master accounts will only be given out to users who are 13 years of age or older and will store personally identifiable information such as an e-mail address. Users who sign up for an master account must agree to the site terms and be 13 or older. Any user who has a master account and is found to be under the age of 13 will have the account deleted and all saved data flushed from the system.&lt;br /&gt;
&lt;br /&gt;
Master accounts will have the option of creating a limited number of &amp;quot;child&amp;quot; accounts that are linked to the master account. These child accounts will NOT store any identifying information and will only contain a callsign and a randomly generated password. A parent can then allow his/her children to use these accounts for play. A user who creates a child account will agree to a separate set of site terms that will grant the server the rights to store the call-sign and randomly generated password.&lt;br /&gt;
&lt;br /&gt;
Since a parent is required to create the child account and no personal information for the child is stored, this will limit the liability for the project under COPPA.&lt;br /&gt;
&lt;br /&gt;
==Additional Features==&lt;br /&gt;
Since the child accounts will be linked to a master account we can add a number of parental control features based on the child account, including&lt;br /&gt;
&lt;br /&gt;
# Listing the servers and log-in times or linked accounts&lt;br /&gt;
# Limiting what servers the child accounts are shown in the list server based on parent defined filters&lt;br /&gt;
# Preventing child accounts from authenticating on forbidden servers based on parent defined filters.&lt;br /&gt;
# Preventing authentication based on parent defined time-frames.&lt;br /&gt;
# Allowing the master account to reset the child password to a new random password, or revoking access to the account.&lt;br /&gt;
&lt;br /&gt;
==Other uses==&lt;br /&gt;
Players that wish to play under multiple callsigns could also create child accounts to use. This would prevent the large number of account renames that happen and limit the number of times an account gets &amp;quot;stolen&amp;quot; during a name change.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===General Plan===&lt;br /&gt;
The initial implementation can be built upon the current authentication system. Child accounts would be stored in a separate database or table and tied to the BZID of the master account. Child accounts would be given a BZID in a specific range so they would not collide with the normal BZID system (use negative numbers, or a prefix? What about when they turn 13?). A website would be made to allow users who authenticate with Weblogin to create and manage child accounts. The list server would be modified to check the child user list if the callsign was not found in the master password database.&lt;br /&gt;
&lt;br /&gt;
When this is complete the current COPPA group on BZBB would be mass emailed and asked to provide proof that they are over 13 years of age. Those users who provide proof would be removed from the COPPA group and made normal users. The users who were left would all be notified that they now need to have a parent create a child account for them and the current accounts will be deleted. This will let us purge the COPPA group of users who are no longer too young.&lt;br /&gt;
&lt;br /&gt;
When the COPPA group is purged the forum system will be changed to disallow users under 13 from registering new accounts and direct them to the child account system.&lt;br /&gt;
&lt;br /&gt;
===Specifics===&lt;br /&gt;
# Child accounts should never be able to set a password, they must always use the password set by the master account. This password will be defaulted to a randomly generated password for enhanced security against weak passwords.&lt;br /&gt;
# A separate table would need to store a record that stored the data from every master user that created a child account. This includes the Child account name, date, IP address used, and a flag indicting that the user checked the &amp;quot;I agree&amp;quot; checkbox on the new child account form. This table is the proof that the user is agreeing to let us store the data for the child.&lt;br /&gt;
# The current PHPBB system will need to be modified to check the child account list when creating new accounts to know what names are invalid.&lt;br /&gt;
# Child accounts should not be allowed to login to webauth and only be allowed to authenticate in game by default. The master account can enable web logins if it desires.&lt;br /&gt;
# Child accounts should be added to a special &amp;quot;group&amp;quot; on the list server to identify them as child accounts. This will let servers know if the account is a child and they can set permissions appropriately.&lt;br /&gt;
# A method should exist for converting a child account to a master account with the master account&#039;s permission. This can be used when a child turns 13 and is capable of maintaining their own account. The master account would be asked to agree to a set of terms that state that the new user is of age.&lt;br /&gt;
&lt;br /&gt;
===Database Design===&lt;br /&gt;
&lt;br /&gt;
[[Image:BZ_Child_Accounts_DB.png]]&lt;br /&gt;
&lt;br /&gt;
===GUI Design===&lt;br /&gt;
The GUI should be done in a manner that can be extended into a full user manager.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main log-in page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page should look as similar as possible to the current weblogin system to show consistency and trust. Eventually the same log-in page should be used for both systems.&lt;br /&gt;
&lt;br /&gt;
[[image:Users_BZFlag_Org_Login_Mockup.png|450px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child account page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page will list the child accounts that the master currently has. Here they can add/remove and edit the child accounts. On creation the user will be asked for the child account name, and a randomly generated password will be shown in the password field after the account is created. Normally the password field will be blank and will only be used if/when the user wishes to set the password manually or use the Random button to generate a new random password. The system will NOT store the password, only a hash to it.&lt;br /&gt;
&lt;br /&gt;
[[image:Users_BZFlag_Org_ChildAccounts_Mockup.png|450px]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Development_RoadMap&amp;diff=8372</id>
		<title>Development RoadMap</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Development_RoadMap&amp;diff=8372"/>
		<updated>2012-08-05T21:32:06Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* 2.4.0 (Wake the dead) */ 2.4 -&amp;gt; 2.4.0&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;
==Current Development Target==&lt;br /&gt;
The current development target (trunk) is the [[DevelopmentPlans/2.4.2|2.4.2]] release &lt;br /&gt;
&lt;br /&gt;
==2.4==&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039; Get a release out&lt;br /&gt;
&lt;br /&gt;
2.4 will be the next release of BZFlag and is protocol incompatible with all previous versions.&lt;br /&gt;
===2.4.0 (Wake the dead)===&lt;br /&gt;
Released on 2011/07/03 [[BZFlag 2.4.0]]&lt;br /&gt;
&lt;br /&gt;
===2.4.2===&lt;br /&gt;
[[DevelopmentPlans/2.4.2|Planning page for 2.4.2]]&lt;br /&gt;
&lt;br /&gt;
2.4.2 will be the first maintenance release of the 2.4.x compatibility line. It does contain some bug fixes but it&#039;s primary function is to provide an updated package for the debian system. It does include non breaking items that were not ready during the initial release including:&lt;br /&gt;
&lt;br /&gt;
* Fastmap&lt;br /&gt;
* Ensure bzadmin on Windows gets built with PDCurses&lt;br /&gt;
&lt;br /&gt;
===2.4.4===&lt;br /&gt;
[[DevelopmentPlans/2.4.4|Planning page for 2.4.4]]&lt;br /&gt;
&lt;br /&gt;
2.4.4 will be a bug fix maintenance release of the 2.4.x compatibility line. Its primary function is to fix bugs found in the 2.4.0/2 releases and to include non breaking items that were not ready during the initial release including:&lt;br /&gt;
&lt;br /&gt;
* All the horrible things we missed&lt;br /&gt;
* BZFScron&lt;br /&gt;
* Push Stats&lt;br /&gt;
* Joystick fixes&lt;br /&gt;
* CIDR/subnet bans from Filter.cxx&lt;br /&gt;
&lt;br /&gt;
===2.4.6===&lt;br /&gt;
* New Death effects&lt;br /&gt;
* HTTP Management plugins&lt;br /&gt;
* Bug fixes&lt;br /&gt;
* New Font System&lt;br /&gt;
* New Server List&lt;br /&gt;
* New Translations&lt;br /&gt;
* Download Authorization Dialog&lt;br /&gt;
* GM lock-on markers on the radar.&lt;br /&gt;
* Fix mac .app build system (make it just use a script not xcode?)&lt;br /&gt;
* Sever side IP/Host/callsign (not perm base) mute&lt;br /&gt;
* Graphic tank on radar at high zoom&lt;br /&gt;
* Evaluate rabbit logic.&lt;br /&gt;
* how to deal with third party libs in plugins, specialy ones we build optionaly.&lt;br /&gt;
* command line options that have -set &amp;lt;name&amp;gt; &amp;lt;value&amp;gt; equivalents should be reviewed and possibly eliminated&lt;br /&gt;
* bzfs should error out if no users or groups have SPAWN&lt;br /&gt;
* Teach Roger not to drive into deadly physics drivers&lt;br /&gt;
* Test anti permissions.&lt;br /&gt;
* Translation update push.&lt;br /&gt;
* Set app icon for as many OSs as possible (SDL does not do this)&lt;br /&gt;
* Case insensitive bans.&lt;br /&gt;
* Block spamers on rejoin (using BZID?)&lt;br /&gt;
* Max chat rate (using filters?) with auto scilence. (maybe a plugin?)&lt;br /&gt;
* Windows BZAdmin cleanup ( eval if it works the same as linux)&lt;br /&gt;
* Sanity check list server input ( players over limit, etc..)&lt;br /&gt;
* Extend player name cycling (like on /kick and /ban) to /poll kick and /poll ban&lt;br /&gt;
* When game is over, autoboot everyone after some time, so server cannot be blocked forever by one player just sitting there.&lt;br /&gt;
&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;
&#039;&#039;&#039;Goals:&#039;&#039;&#039; Continue Development and cleanup gameplay.&lt;br /&gt;
&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 (Client side)&lt;br /&gt;
* Acceleration changes&lt;br /&gt;
* Flag Drop &amp;quot;Zone&amp;quot; feature&lt;br /&gt;
* XFire ?&lt;br /&gt;
* OpenAL/Support, OGG, Hardware mixing and 3d (replace platform audio?)&lt;br /&gt;
* Solution for dropped shots (TCP? confirm message? logging?)&lt;br /&gt;
* Tank parts? Customization? [[CustomTanks]]&lt;br /&gt;
* Team After Join?&lt;br /&gt;
* More colors in OFFA?&lt;br /&gt;
* Dialogs and prompts?&lt;br /&gt;
* Eval ID and ID label markers (MMO style? Always show teammates?)&lt;br /&gt;
* Graphics settings cleanup, optimize for GF2 or newer. Make low good for GMA chipsets.&lt;br /&gt;
* List server indication of game options that are per object or zone ( rico, jump, etc..)&lt;br /&gt;
* Server List showing that games require ID ( cool little icon?)&lt;br /&gt;
* Use BZID for all saved user identifiers not names.&lt;br /&gt;
* Cleanup MOTD into optimal system ( using db?).&lt;br /&gt;
* Grouping for links (with  relative and absolute names)&lt;br /&gt;
* Grouping for weapons and entry zones (with transforms)&lt;br /&gt;
* Grouping for physics drivers (with transforms and copying)&lt;br /&gt;
* Grouping for texture matrices, dynamic color, xforms, and materials&lt;br /&gt;
* Extern cleanup&lt;br /&gt;
* Vector class use instead of float[3]&lt;br /&gt;
* Incorporate the player&#039;s handicap value and physic drivers into the check calculations.&lt;br /&gt;
* Decide what a GM is and how it should behave when guided when the user has or does not have the flag, and how the lock should work with ST and CL&lt;br /&gt;
* -noSelfKills server option at [https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3537226&amp;amp;group_id=3248&amp;amp;atid=353248 tracker]&lt;br /&gt;
&lt;br /&gt;
==3.0 (Next Major)==&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039; Get back to where V3 wanted to be.&lt;br /&gt;
&lt;br /&gt;
Using the 2.99 continuing branch, or the 2.6 branch with a lot of back-ports depending on code-base stability.&lt;br /&gt;
&lt;br /&gt;
* Have BZFS convert all world objects into mesh representations for consistent client collisions.&lt;br /&gt;
* Point in Polyhedron tests to remove inside/outside points.&lt;br /&gt;
* New Simulation&lt;br /&gt;
* Shot Type/Flag Type split&lt;br /&gt;
* Things added in previous versions that were not back-ported from the codebase this release uses.&lt;br /&gt;
* Lobby&lt;br /&gt;
* Support additional map objects inside definitions ([https://sourceforge.net/tracker/?func=detail&amp;amp;aid=2938335&amp;amp;group_id=3248&amp;amp;atid=103248 SF Bug 2938335])&lt;br /&gt;
&lt;br /&gt;
===3.0.2===&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039; End user experience&lt;br /&gt;
&lt;br /&gt;
Compatible release ( if possible ) that makes the game easier for new users to play and for servers to manage players.&lt;br /&gt;
* UI Cleanup&lt;br /&gt;
* New Group and User Management.&lt;br /&gt;
* In game registration&lt;br /&gt;
* Tutorials&lt;br /&gt;
* Option to kick to observer.&lt;br /&gt;
* Make the texture manager give out IDs and have everyone use the ID, not the image pointer, as it can change. Or make the image pointer self updating.&lt;br /&gt;
* Binding keys to multiple actions (lua macros?)&lt;br /&gt;
&lt;br /&gt;
==3.2==&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039; Modernization&lt;br /&gt;
&lt;br /&gt;
Goals for this release are to bring the game&#039;s networking and simulation system up to par with modern games.&lt;br /&gt;
* Lag compensation&lt;br /&gt;
* Threaded Networking&lt;br /&gt;
* Threaded Simulation&lt;br /&gt;
* UI customization&lt;br /&gt;
* General Resource Updates and Downloads (sounds, scripts etc..)?&lt;br /&gt;
* HTF as real mode&lt;br /&gt;
* IPV 6&lt;br /&gt;
&lt;br /&gt;
==3.4==&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039; Server State&lt;br /&gt;
&lt;br /&gt;
* Server Side Radar&lt;br /&gt;
* Server Side Shots (Iterative octree cell shot collision detection)&lt;br /&gt;
* Server Side Deaths&lt;br /&gt;
* Server Side Bot API and good bot samples&lt;br /&gt;
* Removal of Client Side Logic&lt;br /&gt;
* Generic Simulation serialization for recordings that are independent of network format.&lt;br /&gt;
* Third party networking?&lt;br /&gt;
&lt;br /&gt;
==4.0==&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039; Graphics Upgrades&lt;br /&gt;
&lt;br /&gt;
* Third party graphics engine? Ogre? Irrlicht? lightfeather?&lt;br /&gt;
* Patching?&lt;br /&gt;
* Shader/Material Support?&lt;br /&gt;
* OpenGL 2+?&lt;br /&gt;
* Better Lighting, light objects in maps ( shaders or projected textures?)&lt;br /&gt;
* A library of &amp;quot;smart server side bots&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==5.0==&lt;br /&gt;
&#039;&#039;&#039;Goals:&#039;&#039;&#039; Extensibility&lt;br /&gt;
&lt;br /&gt;
* Server defined game logic and settings&lt;br /&gt;
* Game mode plug-ins/scripts on the server&lt;br /&gt;
* Server defined graphics elements ( shots, models, etc)&lt;br /&gt;
* List server separation by game mode&lt;br /&gt;
* Require Registration and limit server choices until verified?&lt;br /&gt;
* Social Components for players ( player ratings, facebooklike stuff?)&lt;br /&gt;
* League Integration&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=8371</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=8371"/>
		<updated>2012-08-05T21:30:47Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: 2.4 -&amp;gt; 2.4.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Note=&lt;br /&gt;
2.3 was released as [[BZFlag_2.4.0|2.4.0]], the documentation contained here was just a worksheet and does not represent the final list of features released.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
BZFlag 2.3 was the development version released as 2.4.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]] 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;
===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. Not all items were implemented in 2.4, check [[BZFlag_2.4.0|2.4.0]] release document for final release list.&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;BulletCatcher&#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>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=2.4_Releases&amp;diff=8370</id>
		<title>2.4 Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=2.4_Releases&amp;diff=8370"/>
		<updated>2012-08-05T21:25:41Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Articles in category &amp;quot;Releases&amp;quot; */ 2.4 -&amp;gt; 2.4.0, add 2.4.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages related to various releases of BZFlag.&lt;br /&gt;
&lt;br /&gt;
== Articles in category &amp;quot;Releases&amp;quot; ==&lt;br /&gt;
These are the 37 releases of BZFlag, starting with the earliest.&lt;br /&gt;
&lt;br /&gt;
* [[BZFlag 1.7c-1]]&lt;br /&gt;
* [[BZFlag 1.7c-2]]&lt;br /&gt;
* [[BZFlag 1.7c-2-1]]&lt;br /&gt;
* [[BZFlag 1.7c-2-2]]&lt;br /&gt;
* [[BZFlag 1.7c-2-3]]&lt;br /&gt;
* [[BZFlag 1.7d-1]]&lt;br /&gt;
* [[BZFlag 1.7d-2]]&lt;br /&gt;
* [[BZFlag 1.7d-3]]&lt;br /&gt;
* [[BZFlag 1.7d-4]]&lt;br /&gt;
* [[BZFlag 1.7d-5]]&lt;br /&gt;
* [[BZFlag 1.7d-6]]&lt;br /&gt;
* [[BZFlag 1.7d-7]]&lt;br /&gt;
* [[BZFlag 1.7d-8]]&lt;br /&gt;
* [[BZFlag 1.7d-9]]&lt;br /&gt;
* [[BZFlag 1.7e]]&lt;br /&gt;
* [[BZFlag 1.7e1]]&lt;br /&gt;
* [[BZFlag 1.7e2]]&lt;br /&gt;
* [[BZFlag 1.7e4]]&lt;br /&gt;
* [[BZFlag 1.7e6]]&lt;br /&gt;
* [[BZFlag 1.7g0]]&lt;br /&gt;
* [[BZFlag 1.7g2]]&lt;br /&gt;
* [[BZFlag 1.10.0]]&lt;br /&gt;
* [[BZFlag 1.10.2]]&lt;br /&gt;
* [[BZFlag 1.10.4]]&lt;br /&gt;
* [[BZFlag 1.10.6]]&lt;br /&gt;
* [[BZFlag 1.10.8]]&lt;br /&gt;
* [[BZFlag 2.0.0]]&lt;br /&gt;
* [[BZFlag 2.0.2]]&lt;br /&gt;
* [[BZFlag 2.0.4]]&lt;br /&gt;
* [[BZFlag 2.0.6]]&lt;br /&gt;
* [[BZFlag 2.0.8]]&lt;br /&gt;
* [[BZFlag 2.0.10]]&lt;br /&gt;
* [[BZFlag 2.0.12]]&lt;br /&gt;
* [[BZFlag 2.0.14]]&lt;br /&gt;
* [[BZFlag 2.0.16]]&lt;br /&gt;
* [[BZFlag 2.4.0]]&lt;br /&gt;
* [[BZFlag 2.4.2]]&lt;br /&gt;
[[Category:History]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Versions&amp;diff=8369</id>
		<title>Versions</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Versions&amp;diff=8369"/>
		<updated>2012-08-05T21:23:11Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Released versions of BZFlag */ 2.4 -&amp;gt; 2.4.0, add 2.4.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Version Numbering Systems==&lt;br /&gt;
===History===&lt;br /&gt;
BZFlag has undergone several different numbering schemes over the years (decades) that can be roughly categorized as follows:  the 1.7 alphabet soup series, the 1.10 through 2.0 series, and the &amp;quot;new&amp;quot; &amp;quot;quad&amp;quot; system currently in place.  The information in following regarding BZFlag&#039;s version scheme pertains to the system put into place for the v2.3 /2.4 release&lt;br /&gt;
&lt;br /&gt;
===Current System===&lt;br /&gt;
The version system uses a 4 digit system that contains the following values&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MAJOR&#039;&#039;&#039; . &#039;&#039;&#039;MINOR&#039;&#039;&#039; . &#039;&#039;&#039;RELEASE&#039;&#039;&#039; . &#039;&#039;&#039;BUILD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This numbering scheme is similar to many open source software projects. &lt;br /&gt;
&lt;br /&gt;
In this version numbering scheme, the &#039;&#039;&#039;MAJOR&#039;&#039;&#039; number implies predominant changes to the software system that makes it visually different from the previous version. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;MINOR&#039;&#039;&#039; number represents changes to a version that break it&#039;s compatibility with with previous releases.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;RELEASE&#039;&#039;&#039; number is iterated across the various releases of that given &#039;&#039;&#039;MAJOR.MINOR&#039;&#039;&#039; version and represents feature additions and enhancements that maintain compatability with all versions sharing the same &#039;&#039;&#039;MAJOR.MINOR&#039;&#039;&#039; pair. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;BUILD&#039;&#039;&#039; number is incremented each time a package is built and posted. It is updated often and represents only minor changes to the code or packaging system. This is what we change to differentiate different downloads of the same code.&lt;br /&gt;
&lt;br /&gt;
===Development Versions and Release Versions===&lt;br /&gt;
Development of a new version of BZFlag occurs on the odd version of the lowest required version number. Incompatable releases use an odd &#039;&#039;&#039;MINOR&#039;&#039;&#039; version. A special case is held for development of a new &#039;&#039;&#039;MAJOR&#039;&#039;&#039; version, it is done using the &#039;&#039;&#039;MINOR&#039;&#039;&#039; version of 99.&lt;br /&gt;
&lt;br /&gt;
Releases are always done with even numbers in the first triplet. The build number is simply increment for each publishing.&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
2.3.x.x is development for 2.4.0.0&lt;br /&gt;
&lt;br /&gt;
2.4.0.1 and 2.4.0.2 are both builds of a 2.4.0 release.&lt;br /&gt;
&lt;br /&gt;
2.4.1.x is development for 2.4.2.0&lt;br /&gt;
&lt;br /&gt;
2.99.x.x is development for 3.0.0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Release Candidates===&lt;br /&gt;
Labels and comments that a given release is an &#039;&#039;RC&#039;&#039; (Release Candidate) version or that it&#039;s a &#039;&#039;beta&#039;&#039; or an &#039;&#039;alpha&#039;&#039; release are merely intended to describe the stability of a given version but are &#039;&#039;&#039;not&#039;&#039;&#039; part of the version itself.  Lower patch numbers on a developer revision (where the &#039;&#039;&#039;MINOR&#039;&#039;&#039; number is an &#039;&#039;odd-number&#039;&#039;) tend to imply less stability whereas higher patch numbers tend to imply greater stability.  On non-developer releases, the number is generally only incremented and reposed if there was something deficient with the version already posted.  &lt;br /&gt;
&lt;br /&gt;
== Released versions of BZFlag ==&lt;br /&gt;
There are currently 34 open source versions of BZFlag. Versions earlier then 1.7c-X were closed source.&lt;br /&gt;
&lt;br /&gt;
The versions in chronological order are;&lt;br /&gt;
&lt;br /&gt;
* [[BZFlag 1.7c-1]]&lt;br /&gt;
* [[BZFlag 1.7c-2]]&lt;br /&gt;
* [[BZFlag 1.7c-2-1]]&lt;br /&gt;
* [[BZFlag 1.7c-2-2]]&lt;br /&gt;
* [[BZFlag 1.7c-2-3]]&lt;br /&gt;
* [[BZFlag 1.7d-1]]&lt;br /&gt;
* [[BZFlag 1.7d-2]]&lt;br /&gt;
* [[BZFlag 1.7d-3]]&lt;br /&gt;
* [[BZFlag 1.7d-4]]&lt;br /&gt;
* [[BZFlag 1.7d-5]]&lt;br /&gt;
* [[BZFlag 1.7d-6]]&lt;br /&gt;
* [[BZFlag 1.7d-7]]&lt;br /&gt;
* [[BZFlag 1.7d-8]]&lt;br /&gt;
* [[BZFlag 1.7d-9]]&lt;br /&gt;
* [[BZFlag 1.7e]]&lt;br /&gt;
* [[BZFlag 1.7e1]]&lt;br /&gt;
* [[BZFlag 1.7e2]]&lt;br /&gt;
* [[BZFlag 1.7e4]]&lt;br /&gt;
* [[BZFlag 1.7e6]]&lt;br /&gt;
* [[BZFlag 1.7g0]]&lt;br /&gt;
* [[BZFlag 1.7g2]]&lt;br /&gt;
* [[BZFlag 1.10.0]]&lt;br /&gt;
* [[BZFlag 1.10.2]]&lt;br /&gt;
* [[BZFlag 1.10.4]]&lt;br /&gt;
* [[BZFlag 1.10.6]]&lt;br /&gt;
* [[BZFlag 1.10.8]]&lt;br /&gt;
* [[BZFlag 2.0.0]]&lt;br /&gt;
* [[BZFlag 2.0.2]]&lt;br /&gt;
* [[BZFlag 2.0.4]]&lt;br /&gt;
* [[BZFlag 2.0.6]]&lt;br /&gt;
* [[BZFlag 2.0.8]]&lt;br /&gt;
* [[BZFlag 2.0.9]]&lt;br /&gt;
* [[BZFlag 2.0.10]]&lt;br /&gt;
* [[BZFlag 2.0.12]]&lt;br /&gt;
* [[BZFlag 2.0.14]]&lt;br /&gt;
* [[BZFlag 2.0.16]]&lt;br /&gt;
* [[BZFlag 2.3]]&lt;br /&gt;
* [[BZFlag 2.4.0]]&lt;br /&gt;
* [[BZFlag 2.4.2]]&lt;br /&gt;
* [[BZFlag 3.0]]&lt;br /&gt;
* [[BZFlag SVN]]&lt;br /&gt;
&lt;br /&gt;
[[Category:History]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFlag_2.4.2&amp;diff=8366</id>
		<title>BZFlag 2.4.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFlag_2.4.2&amp;diff=8366"/>
		<updated>2012-08-05T21:18:38Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: Fix link to page with previous version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BZFlag version 2.4.2 &#039;&#039;&#039;&amp;quot;Doomsday Edition&amp;quot;&#039;&#039;&#039; is the current maintenance version of the BZFlag game for Windows, Mac OS X, and Linux. It was released on 07/28/2012 and contains some new features that are compatible with the [[BZFlag 2.4.0]] release.&lt;br /&gt;
&lt;br /&gt;
==Change Log==&lt;br /&gt;
The new features include:&lt;br /&gt;
&lt;br /&gt;
*server UPnP support&lt;br /&gt;
*thiefControl plugin&lt;br /&gt;
*fairCTF plugin&lt;br /&gt;
*autoFlagReset plugin&lt;br /&gt;
*Fastmap plugin&lt;br /&gt;
*combined leading and lagging radar shot lines&lt;br /&gt;
*option for chat on the left and radar on the right&lt;br /&gt;
*joystick hat support&lt;br /&gt;
&lt;br /&gt;
The full change log can be found at http://bzflag.svn.sourceforge.net/svnroot/bzflag/tags/v2_4_2/ChangeLog .&lt;br /&gt;
&lt;br /&gt;
[[Category:Versions]]&lt;br /&gt;
[[Category:Releases]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFlag_2.4.0&amp;diff=8365</id>
		<title>BZFlag 2.4.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFlag_2.4.0&amp;diff=8365"/>
		<updated>2012-08-05T21:15:48Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: moved BZFlag 2.4 to BZFlag 2.4.0: Use the complete version number in the page name.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BZFlag version 2.4.0 &#039;&#039;&#039;&amp;quot;Wake the Dead&amp;quot;&#039;&#039;&#039;, is the current maintenance version of the BZFlag game for Windows, Apple OSX, and Linux. It was released on 07/03/2011 after a long period of development inactivity.&lt;br /&gt;
&lt;br /&gt;
This new version is incompatible with previous versions of the game. The primary goals of the release were to fix a number of bugs that required changes to the gaming protocol and clients as well as to get development moving again. It should be noted that this is the first version of BZFlag that had a development plan and release schedule.&lt;br /&gt;
&lt;br /&gt;
The version contains a number of new features.&lt;br /&gt;
&lt;br /&gt;
==Change Log==&lt;br /&gt;
Some of the major features include:&lt;br /&gt;
&lt;br /&gt;
*The ability to turn off teamkilling on the server&lt;br /&gt;
*The OpenFFA game mode which is a teamless FFA, meaning you can shoot anyone regardless of color&lt;br /&gt;
*Per-object ricochet, which lets map authors selectively enable ricochet for individual objects&lt;br /&gt;
*Removal of local authentication&lt;br /&gt;
*Ability for the server to force flags to be hidden on the radar&lt;br /&gt;
*Fog can not be turned off&lt;br /&gt;
*The screenshot code does not lag the client badly anymore&lt;br /&gt;
*The ID flag identification was moved to the server&lt;br /&gt;
*Public servers must have a -publickey&lt;br /&gt;
*Polls only count users that are able to vote&lt;br /&gt;
&lt;br /&gt;
The full changelog can be found at https://bzflag.svn.sourceforge.net/svnroot/bzflag/tags/v2_4_0/ChangeLog&lt;br /&gt;
&lt;br /&gt;
==Upgrades==&lt;br /&gt;
2.4 has requires server owners to take note of a few upgrade steps in order to move from 2.0.x to 2.4&lt;br /&gt;
&lt;br /&gt;
A general overview of the upgrade procedure can be found on the [[BZFS 2.4 Upgrade]] page.&lt;br /&gt;
&lt;br /&gt;
===API===&lt;br /&gt;
The [[BZFS API]] received a major overhaul in 2.4 and is incompatible with older plug-ins, upgrade information can be found on the [[BZFS API 2.4 Upgrade]] page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Versions]]&lt;br /&gt;
[[Category:Releases]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFlag_2.4.2&amp;diff=8364</id>
		<title>BZFlag 2.4.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFlag_2.4.2&amp;diff=8364"/>
		<updated>2012-08-05T21:14:05Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: Created page with &amp;quot;BZFlag version 2.4.2 &amp;#039;&amp;#039;&amp;#039;&amp;quot;Doomsday Edition&amp;quot;&amp;#039;&amp;#039;&amp;#039; is the current maintenance version of the BZFlag game for Windows, Mac OS X, and Linux. It was released on 07/28/2012 and contains s...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BZFlag version 2.4.2 &#039;&#039;&#039;&amp;quot;Doomsday Edition&amp;quot;&#039;&#039;&#039; is the current maintenance version of the BZFlag game for Windows, Mac OS X, and Linux. It was released on 07/28/2012 and contains some new features that are compatible with the [[BZFlag 2.4]] release.&lt;br /&gt;
&lt;br /&gt;
==Change Log==&lt;br /&gt;
The new features include:&lt;br /&gt;
&lt;br /&gt;
*server UPnP support&lt;br /&gt;
*thiefControl plugin&lt;br /&gt;
*fairCTF plugin&lt;br /&gt;
*autoFlagReset plugin&lt;br /&gt;
*Fastmap plugin&lt;br /&gt;
*combined leading and lagging radar shot lines&lt;br /&gt;
*option for chat on the left and radar on the right&lt;br /&gt;
*joystick hat support&lt;br /&gt;
&lt;br /&gt;
The full change log can be found at http://bzflag.svn.sourceforge.net/svnroot/bzflag/tags/v2_4_2/ChangeLog .&lt;br /&gt;
&lt;br /&gt;
[[Category:Versions]]&lt;br /&gt;
[[Category:Releases]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Category:Leagues&amp;diff=8142</id>
		<title>Category:Leagues</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Category:Leagues&amp;diff=8142"/>
		<updated>2011-12-09T21:05:11Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: the Pillbox and Fun leagues are defunct&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Active Leagues ==&lt;br /&gt;
&lt;br /&gt;
To join a league click on one of the links below and register your callsign. Some leagues may require that you be added to a list by an admin before you are allowed to talk/spawn on match servers. Please use the same callsign for matching that you have register on the league site. Most of the IRC channels for each league are situated on the [http://freenode.net/ freenode] network. Please refer to [[BZFlag on IRC]] for help on using IRC.&lt;br /&gt;
&lt;br /&gt;
=== Ducati League ===&lt;br /&gt;
Website: [http://league.bzflag.org/ http://league.bzflag.net/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: [irc://irc.freenode.net/##ducleague ##ducleague]&lt;br /&gt;
&lt;br /&gt;
Match Length: 15, 20 or 30 minutes&lt;br /&gt;
&lt;br /&gt;
Rules: 2 shots, no jumping, ricochet, CTF, randomly generated map.&lt;br /&gt;
&lt;br /&gt;
=== [[GU League]] ===&lt;br /&gt;
Website: [http://www.guleague.org/ http://www.guleague.org/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: [irc://irc.freenode.net/##guleague ##guleague]&lt;br /&gt;
&lt;br /&gt;
Match Length: 30 minutes.&lt;br /&gt;
&lt;br /&gt;
Rules: 3 shots, jumping, ricochet, CTF, [[HiX]] map.&lt;br /&gt;
&lt;br /&gt;
=== Open League ===&lt;br /&gt;
Website: [http://openleague.net/ http://openleague.net/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: [irc://irc.freenode.net/#openleague.net ##openleague]&lt;br /&gt;
&lt;br /&gt;
Match Length: 15, 20, 30, 45 or 60 minutes.&lt;br /&gt;
&lt;br /&gt;
Rules: 3 shots, jumping , ricochet, CTF, [[babel]] or a map that changes every week (which can have different rules).&lt;br /&gt;
&lt;br /&gt;
=== 1vs1 League ===&lt;br /&gt;
Website: [http://1vs1.bzflag.net/ http://1vs1.bzflag.net/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: None.&lt;br /&gt;
&lt;br /&gt;
Match Length: First to 10 kills.&lt;br /&gt;
&lt;br /&gt;
Rules: &lt;br /&gt;
:classic &amp;amp; fancy style: -&amp;gt; FFA mode, 2 shots, ricochet, no jumping, no superflags, small randomly generated map&lt;br /&gt;
:hix style -&amp;gt; FFA mode, 3 shots, ricochet, jumping, no superflags, hix map&lt;br /&gt;
&lt;br /&gt;
== Defunct Leagues ==&lt;br /&gt;
&lt;br /&gt;
=== Pillbox League ===&lt;br /&gt;
Website: [http://pillbox.bzleague.com/ http://pillbox.bzleague.com/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: [irc://irc.freenode.net/#pillbox #pillbox]&lt;br /&gt;
&lt;br /&gt;
Match Length: 15, 20 or 30 minutes.&lt;br /&gt;
&lt;br /&gt;
Rules: 3 shots, no jumping, no ricochet, CTF, pillbox map.&lt;br /&gt;
&lt;br /&gt;
=== Fun League ===&lt;br /&gt;
Website: [http://fun.bzleague.com/ http://fun.bzleague.com/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: None.&lt;br /&gt;
&lt;br /&gt;
Match Length: Depends on which map you play on.&lt;br /&gt;
&lt;br /&gt;
Rules: Depends on which map you play on.&lt;br /&gt;
&lt;br /&gt;
=== BZSoccer League ===&lt;br /&gt;
&lt;br /&gt;
Website: [http://bzsoccer.bzleague.com/ http://bzsoccer.bzleague.com/] *Note* Website has many bugs and will be fixed soon.&lt;br /&gt;
&lt;br /&gt;
IRC Channel: ##divi&lt;br /&gt;
&lt;br /&gt;
Match length: 15 minutes&lt;br /&gt;
&lt;br /&gt;
Rules: 2 shots, jumping, ricochet, soccer field map.&lt;br /&gt;
&lt;br /&gt;
Please note that this league is inactive. The league will be revived when the website is fixed.&lt;br /&gt;
&lt;br /&gt;
=== Plosileague ===	 &lt;br /&gt;
&lt;br /&gt;
Website: [http://bzfx.net/league/ http://bzfx.net/league/]	 &lt;br /&gt;
&lt;br /&gt;
IRC Channel: [irc://irc.freenode.net/#plosileague #plosileague]	 &lt;br /&gt;
&lt;br /&gt;
Match Length: 30 minutes or first to 5 caps and ahead of the other team by at least 2 caps	 &lt;br /&gt;
&lt;br /&gt;
Rules: 3 shots, jumping, ricochet, CTF, [[overlord]] or [[babel]] map.&lt;br /&gt;
&lt;br /&gt;
=== LavaHiX League ===&lt;br /&gt;
Website: [http://lavahix.wtwrp.de/ http://lavahix.wtwrp.de/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: None.&lt;br /&gt;
&lt;br /&gt;
Match Length: 15 minutes.&lt;br /&gt;
&lt;br /&gt;
Rules: 3 shots, jumping, ricochet, CTF, [[HiX]] map with &amp;quot;lava&amp;quot; ground.&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Events_(API)&amp;diff=8120</id>
		<title>Events (API)</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Events_(API)&amp;diff=8120"/>
		<updated>2011-11-10T05:08:03Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Events */ spell bz_eNetDataReceiveEvent correctly&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BZFS_API_Doc}}&lt;br /&gt;
==Overview==&lt;br /&gt;
API events are callbacks that a [[Plug-ins|plug-in]] can install into [[BZFS]] to be called in response to specific actions or state changes in the server side game world. Events are the primary method of communication from BZFS to installed plug-ins. Specific events exist for nearly all logical actions that can happen during a game of BZFlag.&lt;br /&gt;
&lt;br /&gt;
==Installation and Removal==&lt;br /&gt;
The callbacks for events are typically installed during the [[bz_Load]] (2.0.x) or [[Init]] (2.4+) entry point in a plug-in, so they can be active when a plug-in is first loaded.&lt;br /&gt;
&lt;br /&gt;
The plug-in must call the function;&lt;br /&gt;
&lt;br /&gt;
2.0.x&lt;br /&gt;
 BZF_API bool [[bz_registerEvent]] ( bz_eEventType eventType, [[bz_EventHandler]]* eventHandler );&lt;br /&gt;
&lt;br /&gt;
2.4+&lt;br /&gt;
 Register ( bz_eEventType );&lt;br /&gt;
&lt;br /&gt;
The plug-in registers and event callback derived from [[bz_EventHandler]] (2.0.x) or [[bz_Plugin]] (2.4+) for each specific event types it wishes to monitor.&lt;br /&gt;
&lt;br /&gt;
When a plug-in no longer needs to monitor an event, or when it is unloaded in the [[bz_Unload]] (2.0.x) or [[Cleanup]] (2.4+) entry point, the plug-in must remove the installed callback by calling the function;&lt;br /&gt;
&lt;br /&gt;
2.0.x&lt;br /&gt;
 BZF_API bool [[bz_removeEvent]] ( bz_eEventType eventType, [[bz_EventHandler]]* eventHandler );&lt;br /&gt;
&lt;br /&gt;
2.4+&lt;br /&gt;
 Flush();&lt;br /&gt;
&lt;br /&gt;
In BZFlag 2.4, events are no longer removed individually but instead they are all removed automatically by calling on the &#039;Flush()&#039; method.&lt;br /&gt;
&lt;br /&gt;
==Event Handler==&lt;br /&gt;
The plug-in must define a class that is derived from [[bz_EventHandler]] (2.0.x) or [[bz_Plugin]] (2.4+) and pass a pointer to an object of that class when ever it registers an event callback.&lt;br /&gt;
&lt;br /&gt;
When ever a specific event is triggered, BZFS will call the &#039;process&#039; (2.0.x) or &#039;Event&#039; (2.4+) method of the installed callback class.&lt;br /&gt;
&lt;br /&gt;
2.0.x&lt;br /&gt;
   virtual void process ( bz_EventData *eventData ) = 0;&lt;br /&gt;
&lt;br /&gt;
2.4+&lt;br /&gt;
   virtual void Event ( bz_EventData *eventData ) = 0;&lt;br /&gt;
&lt;br /&gt;
==Event Data==&lt;br /&gt;
With each call to the &#039;process&#039; method of the installed event handler, BZFS will pass the plug-in a pointer to a class that contains all the data provided by the event. Each event derives a specific data class from [[bz_EventData]] that contains the specific member variables that contain the data. The base class [[bz_EventData]] contains the data member;&lt;br /&gt;
   bz_eEventType	eventType;&lt;br /&gt;
This data member allows a plug-in to identify the specific event and cast the &#039;bz_EventData&#039; pointer to the appropriate specific data class. This is usefull for plug-ins that use the same &#039;bz_EventHandler&#039; to process more then one specific message.&lt;br /&gt;
&lt;br /&gt;
Please see the descriptions of each specific event for information and descriptions of the data classes for each event. Some specific events allow plug-ins to change the values of data members in the data class and will use the modified values instead.&lt;br /&gt;
&lt;br /&gt;
Plug-ins should never delete or free the memory for a data class. BZFS will manage all pointers passed to plug-ins.&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
The following list contains all the event types currently supported by BZFS version 2.99&lt;br /&gt;
&lt;br /&gt;
  [[bz_eAllowAutoPilotChangeEvent]]&lt;br /&gt;
  [[bz_eAllowCTFCaptureEvent]]&lt;br /&gt;
  [[bz_eAllowFlagGrabEvent]]&lt;br /&gt;
  [[bz_eAllowKillCommandEvent]]&lt;br /&gt;
  [[bz_eAllowPlayer]]&lt;br /&gt;
  [[bz_eAllowSpawn]]&lt;br /&gt;
  [[bz_eAnointRabbitEvent]]&lt;br /&gt;
  [[bz_eAutoPilotChangeEvent]]&lt;br /&gt;
  [[bz_eBZDBChange]]&lt;br /&gt;
  [[bz_eBanEvent]]&lt;br /&gt;
  [[bz_eCaptureEvent]]&lt;br /&gt;
  [[bz_eFilteredChatMessageEvent]]&lt;br /&gt;
  [[bz_eFlagDroppedEvent]]&lt;br /&gt;
  [[bz_eFlagGrabbedEvent]]&lt;br /&gt;
  [[bz_eFlagResetEvent]]&lt;br /&gt;
  [[bz_eFlagTransferredEvent]]&lt;br /&gt;
  [[bz_eGameStartEvent]]&lt;br /&gt;
  [[bz_eGameStartEvent|bz_eGameEndEvent]]&lt;br /&gt;
  [[bz_eGetAutoTeamEvent]]&lt;br /&gt;
  [[bz_eGetPlayerInfoEvent]]&lt;br /&gt;
  [[bz_eGetPlayerSpawnPosEvent]]&lt;br /&gt;
  [[bz_eGetWorldEvent]]&lt;br /&gt;
  [[bz_eHostBanModifyEvent]]&lt;br /&gt;
  [[bz_eHostBanNotifyEvent]]&lt;br /&gt;
  [[bz_eIdBanEvent]]&lt;br /&gt;
  [[bz_eIdleNewNonPlayerConnection]]&lt;br /&gt;
  [[bz_eKickEvent]]&lt;br /&gt;
  [[bz_eKillEvent]]&lt;br /&gt;
  [[bz_eListServerUpdateEvent]]&lt;br /&gt;
  [[bz_eLogingEvent]]&lt;br /&gt;
  [[bz_eLuaDataEvent]]&lt;br /&gt;
  [[bz_eMessageFilteredEvent]]&lt;br /&gt;
  [[bz_eNetDataReceiveEvent]]&lt;br /&gt;
  [[bz_eNetDataSendEvent]]&lt;br /&gt;
  [[bz_eNewNonPlayerConnection]]&lt;br /&gt;
  [[bz_eNewRabbitEvent]]&lt;br /&gt;
  [[bz_eNullEvent]]&lt;br /&gt;
  [[bz_ePlayerAuthEvent]]&lt;br /&gt;
  [[bz_ePlayerCollision]]&lt;br /&gt;
  [[bz_ePlayerCustomDataChanged]]&lt;br /&gt;
  [[bz_ePlayerDieEvent]]&lt;br /&gt;
  [[bz_ePlayerJoinEvent]]&lt;br /&gt;
  [[bz_ePlayerPartEvent]]&lt;br /&gt;
  [[bz_ePlayerPauseRequestEvent]]&lt;br /&gt;
  [[bz_ePlayerPausedEvent]]&lt;br /&gt;
  [[bz_ePlayerSentCustomData]]&lt;br /&gt;
  [[bz_ePlayerSpawnEvent]]&lt;br /&gt;
  [[bz_ePlayerTeamChangeEvent]]&lt;br /&gt;
  [[bz_ePlayerUpdateDoneEvent]]&lt;br /&gt;
  [[bz_ePlayerUpdateEvent]]&lt;br /&gt;
  [[bz_eRawChatMessageEvent]]&lt;br /&gt;
  [[bz_eReloadEvent]]&lt;br /&gt;
  [[bz_eReportFiledEvent]]&lt;br /&gt;
  [[bz_eServerMsgEvent]]&lt;br /&gt;
  [[bz_eShotEndedEvent]]&lt;br /&gt;
  [[bz_eShotExpiredEvent]]&lt;br /&gt;
  [[bz_eShotFiredEvent]]&lt;br /&gt;
  [[bz_eShotRicochetEvent]]&lt;br /&gt;
  [[bz_eShotStoppedEvent]]&lt;br /&gt;
  [[bz_eShotTeleportEvent]]&lt;br /&gt;
  [[bz_eSlashCommandEvent]]&lt;br /&gt;
  [[bz_eTeleportEvent]]&lt;br /&gt;
  [[bz_eTickEvent]]&lt;br /&gt;
  [[bz_eUnknownSlashCommand]]&lt;br /&gt;
  [[bz_eWorldFinalized]]&lt;br /&gt;
  [[bz_eZoneEntryEvent]]&lt;br /&gt;
  [[bz_eZoneExitEvent]]&lt;br /&gt;
&lt;br /&gt;
The following list contains all the event types currently supported by BZFS version 2.4&lt;br /&gt;
  [[bz_eAllowCTFCaptureEvent]]&lt;br /&gt;
  [[bz_eAllowPlayer]]&lt;br /&gt;
  [[bz_eAllowSpawn]]&lt;br /&gt;
  [[bz_eBanEvent]]&lt;br /&gt;
  [[bz_eBZDBChange]]&lt;br /&gt;
  [[bz_eCaptureEvent]]&lt;br /&gt;
  [[bz_eFilteredChatMessageEvent]]&lt;br /&gt;
  [[bz_eFlagDroppedEvent]]&lt;br /&gt;
  [[bz_eFlagGrabbedEvent]]&lt;br /&gt;
  [[bz_eFlagTransferredEvent]]&lt;br /&gt;
  [[bz_eGameEndEvent]]&lt;br /&gt;
  [[bz_eGameStartEvent]]&lt;br /&gt;
  [[bz_eGetAutoTeamEvent]]&lt;br /&gt;
  [[bz_eGetPlayerInfoEvent]]&lt;br /&gt;
  [[bz_eGetPlayerMotto]]&lt;br /&gt;
  [[bz_eGetPlayerSpawnPosEvent]]&lt;br /&gt;
  [[bz_eGetWorldEvent]]&lt;br /&gt;
  [[bz_eHostBanModifyEvent]]&lt;br /&gt;
  [[bz_eKickEvent]]&lt;br /&gt;
  [[bz_eKillEvent]]&lt;br /&gt;
  [[bz_eListServerUpdateEvent]]&lt;br /&gt;
  [[bz_eLoggingEvent]]&lt;br /&gt;
  [[bz_eMsgDebugEvent]]&lt;br /&gt;
  [[bz_eMessageFilteredEvent]]&lt;br /&gt;
  [[bz_eNetDataReceiveEvent]]&lt;br /&gt;
  [[bz_eNetDataSendEvent]]&lt;br /&gt;
  [[bz_eNewNonPlayerConnection]]&lt;br /&gt;
  [[bz_ePlayerAuthEvent]]&lt;br /&gt;
  [[bz_ePlayerDieEvent]]&lt;br /&gt;
  [[bz_ePlayerJoinEvent]]&lt;br /&gt;
  [[bz_ePlayerPartEvent]]&lt;br /&gt;
  [[bz_ePlayerPausedEvent]]&lt;br /&gt;
  [[bz_ePlayerScoreChanged]]&lt;br /&gt;
  [[bz_ePlayerSpawnEvent]]&lt;br /&gt;
  [[bz_ePlayerUpdateEvent]]&lt;br /&gt;
  [[bz_ePluginLoaded]]&lt;br /&gt;
  [[bz_ePluginUnloaded]]&lt;br /&gt;
  [[bz_eRawChatMessageEvent]]&lt;br /&gt;
  [[bz_eReportFiledEvent]]&lt;br /&gt;
  [[bz_eServerMsgEvent]]&lt;br /&gt;
  [[bz_eShotEndedEvent]]&lt;br /&gt;
  [[bz_eShotFiredEvent]]&lt;br /&gt;
  [[bz_eSlashCommandEvent]]&lt;br /&gt;
  [[bz_eTeamScoreChanged]]&lt;br /&gt;
  [[bz_eTickEvent]]&lt;br /&gt;
  [[bz_eUnknownSlashCommand]]&lt;br /&gt;
  [[bz_eWorldFinalized]]&lt;br /&gt;
  [[bz_eZoneEntryEvent]]&lt;br /&gt;
  [[bz_eZoneExitEvent]]&lt;br /&gt;
&lt;br /&gt;
There exists one additional event in the &#039;bz_eEventType&#039; enumeration in &#039;bzfsAPI.h&#039;, &#039;&#039;bz_eLastEvent&#039;&#039;. This event is simply used by BZFS to assist in the counting of the total number of events, it will never be called and can not be installed.&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_Events]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=UsageQuestions&amp;diff=8029</id>
		<title>UsageQuestions</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=UsageQuestions&amp;diff=8029"/>
		<updated>2011-10-17T06:05:03Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: Add statistics about the number of league matches played.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
Given the decline in players and development a number of questions should be answered to find out where the major failings of the project are. The answers can help determine what direction should be taken.&lt;br /&gt;
&lt;br /&gt;
Answers to these questions must cite sources and have data to backup the answer. Guesses are not acceptable.&lt;br /&gt;
&lt;br /&gt;
==General Usage==&lt;br /&gt;
How many players (unique) play every week(month)?&lt;br /&gt;
&lt;br /&gt;
How many players are playing on average at various times in the day?&lt;br /&gt;
&lt;br /&gt;
How long does the average player play in a session?&lt;br /&gt;
&lt;br /&gt;
How many separate games (join/part) does a player play a day/week?&lt;br /&gt;
&lt;br /&gt;
How many official league games are there a week/month?&lt;br /&gt;
&lt;br /&gt;
* [[GU League]]&lt;br /&gt;
** 15 official matches were played during the 7 days from 10-16 October 2011.&lt;br /&gt;
** 102 official matches were played during the month from 17 September through 16 October 2011. [http://www.guleague.org/Matches/]&lt;br /&gt;
* [http://league.bzflag.net/ Ducati League]&lt;br /&gt;
** 12 official matches were played during the 7 days from 10-16 October 2011.&lt;br /&gt;
** 76 official matches were played during the month from 17 September through 16 October 2011. [http://league.bzflag.net/Matches/]&lt;br /&gt;
** A [http://league.bzflag.net/Teams/stats.php chart] shows the number of Ducati league matches played each month for the last 12 months.&lt;br /&gt;
&lt;br /&gt;
How many players play in official league games in a week/month?&lt;br /&gt;
&lt;br /&gt;
==Player Retention==&lt;br /&gt;
How many people register then play less then 5 games? 1 game?&lt;br /&gt;
&lt;br /&gt;
How many players stop playing after 24 hours? 2 weeks?&lt;br /&gt;
&lt;br /&gt;
==Website questions==&lt;br /&gt;
How many people who hit the site, download the game?&lt;br /&gt;
&lt;br /&gt;
How many people who hit the screenshots page look at a screenshot?&lt;br /&gt;
&lt;br /&gt;
How many people leave the site with no download once they see the screenshots page?&lt;br /&gt;
&lt;br /&gt;
[[Category:Usage]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFS_API_2.4_Upgrade&amp;diff=7898</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=7898"/>
		<updated>2011-08-01T01:32:50Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Upgrade */ replace bz_PlayerRecord with bz_BasePlayerRecord&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;
 # &#039;&#039;&#039;bz_PlayerRecord&#039;&#039;&#039; with &#039;&#039;&#039;bz_BasePlayerRecord&#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>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.4.2&amp;diff=7854</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=7854"/>
		<updated>2011-07-16T04:48:21Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Secondary */ SF bug 3368415 is now closed&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 Fixes===&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)&lt;br /&gt;
* Fastmap ( make work )&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;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Plans]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7652</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=7652"/>
		<updated>2011-05-16T01:51:38Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* New Changes */ import 2.0 config settings&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;mdskpr&#039;&#039;&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;
* Hunter as proper team &#039;&#039;mdskpr (grabbed by DTRemenak)&#039;&#039;&lt;br /&gt;
* bzfs -publickey&lt;br /&gt;
* Lua&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>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFlag_SVN&amp;diff=7643</id>
		<title>BZFlag SVN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFlag_SVN&amp;diff=7643"/>
		<updated>2011-05-14T20:59:14Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: Update URL for 2.0 branch.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BZFlag SVN, is the [http://en.wikipedia.org/wiki/Subversion_(software) Subversion Revision Control System] used by the development team to maintain and store the [[BZFlag Source]] code. The SVN system is hosted by [http://www.sourceforge.net SourceForge] and is accessible by anyone with the proper software. The SVN system replaces the [[BZFlag CVS]] system that was used in the past.&lt;br /&gt;
&lt;br /&gt;
==SVN clients==&lt;br /&gt;
To access the source code via SVN , you will need a SVN client. Most unix/linux type operating systems have the command line SVN client as an installable option. Windows users must download the Windows native [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 SVN command line utility] or a third party SVN client, such as [http://tortoisesvn.tigris.org/ the Tortoise Graphical SVN Client] (highly recommended). SVN is also available to Windows users via [http://cygwin.com/ Cygwin] with SVN and other common Devel tools selected during installation.&lt;br /&gt;
&lt;br /&gt;
==Getting code from SVN Access==&lt;br /&gt;
===Command line===&lt;br /&gt;
The simplest way to get the bzflag source code is to use the URL for the current ( or TRUNK ) bzflag module.&lt;br /&gt;
&lt;br /&gt;
 svn co &amp;lt;nowiki&amp;gt;https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will get you the current bzflag source code for the development version.&lt;br /&gt;
&lt;br /&gt;
If you want the SVN code for the 2.0.x compatible version use the URL&lt;br /&gt;
&lt;br /&gt;
 svn co &amp;lt;nowiki&amp;gt;https://bzflag.svn.sourceforge.net/svnroot/bzflag/branches/release_maint/v2_0/bzflag&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wish to get all of our source code in one step, you can get the entire repository with the command.&lt;br /&gt;
&lt;br /&gt;
 svn co &amp;lt;nowiki&amp;gt;https://bzflag.svn.sourceforge.net/svnroot/bzflag&amp;lt;/nowiki&amp;gt; bzflag&lt;br /&gt;
&lt;br /&gt;
This will get all modules, branches, tags, and subdirs. Beware! This is a very large amount of data (make sure you have at least 2.7 GB of disk space available) and will take a while and will be rather useless, as it is the code for every version of bzflag. Most users will only need the code for one specific version.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;best&#039;&#039;&#039; way, is to only get the subdir for the module you are interested in. This is much more efficient and suitable for most users. The most common module to get is the bzflag module, as it is the actual game.&lt;br /&gt;
&lt;br /&gt;
Please see the sections below for more information about the URLs to use for branches and modules.&lt;br /&gt;
&lt;br /&gt;
===TortoiseSVN===&lt;br /&gt;
&lt;br /&gt;
Windows users that use the Tortoise Graphical SVN Client simply enter the URL of the SVN path they wish to check out in the field marked &#039;&#039;URL of repository&#039;&#039;. For the current version of all modules simply use the /trunk path. Note, if you want your code to be checked out into a new folder, be sure to enter that folder name in the &#039;&#039;Checkout directory&#039;&#039; field.&lt;br /&gt;
&lt;br /&gt;
If you wish to get only a single module subdir, or a revision, simply use the URL specified in the sections below.&lt;br /&gt;
&lt;br /&gt;
==Committing Code to SVN==&lt;br /&gt;
&lt;br /&gt;
Project developers that need write access to the source code to make changes ( or [[commits]] ) need to provide their sourceforge username and password when doing a SVN commit. A sourceforge account is required for developer access, as well as approval from a project administrator.&lt;br /&gt;
&lt;br /&gt;
Please make sure that your svn config file includes the correct [[Auto-props]].  If you get a [[Mime-types]] error, you either didn&#039;t enable the correct auto-props setting in your subversion config file or you need to manually set file properties.  &lt;br /&gt;
&lt;br /&gt;
===Command Line===&lt;br /&gt;
Using the command&lt;br /&gt;
  svn commit&lt;br /&gt;
in a directory that has code changes will commit any changed code back to the repository. The svn client will prompt you for your username and password.&lt;br /&gt;
&lt;br /&gt;
===TortoiseSVN===&lt;br /&gt;
Windows users that use the Tortoise Graphical SVN Client can simply choose the SVN commit item, and enter their username and password when prompted.&lt;br /&gt;
&lt;br /&gt;
Tortoise users may set auto-props from the General Settings property page; click the Edit button and paste the auto-props into the correct section, then un-comment the &amp;quot;enable-auto-props = yes&amp;quot; line above it.&lt;br /&gt;
&lt;br /&gt;
==Updating code from SVN to the current version==&lt;br /&gt;
&lt;br /&gt;
===Command Line===&lt;br /&gt;
Using the command&lt;br /&gt;
   svn up&lt;br /&gt;
in the directory that has checked out code will cause subversion to update that code to the current version for that branch.&lt;br /&gt;
&lt;br /&gt;
===TortoiseSVN===&lt;br /&gt;
Windows users that use the Tortoise Graphical SVN Client can simply choose the SVN update item from their right click menus.&lt;br /&gt;
&lt;br /&gt;
==Reverting local code to the server&#039;s version==&lt;br /&gt;
&lt;br /&gt;
===Command Line===&lt;br /&gt;
Using the command&lt;br /&gt;
  svn revert&lt;br /&gt;
  svn up&lt;br /&gt;
in the directory that has checked out code will cause subversion to set flags on all modified local files, then update the code to match the code on the server. NOTE: This has the effect of wiping out all local changes, so use with caution!&lt;br /&gt;
&lt;br /&gt;
===TortoiseSVN===&lt;br /&gt;
Right click on the file or directory you would like to revert and from the TortoiseSVN submenu, select &#039;&#039;&#039;Revert...&#039;&#039;&#039;. The menus is context sensitive, so there must be code that has been modified for the menu choice to be available.&lt;br /&gt;
&lt;br /&gt;
==Module sub directories==&lt;br /&gt;
&lt;br /&gt;
The source code in SVN is broken up into a number of modules for ease of use and management. When requesting the source code from the SVN system a sub-directory may be specified to limit the code that is accessed.&lt;br /&gt;
&lt;br /&gt;
The current SVN modules are:&lt;br /&gt;
*bzflag : The main module that includes the game [[BZFlag 2.0.8|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;
*pybzflag : an abandoned python implementation of BZFlag&lt;br /&gt;
*bzworkbench : The source code for [[BZWorkBench]]&lt;br /&gt;
*bzwgen: The source code for the automatic city generator.&lt;br /&gt;
&lt;br /&gt;
to get the current version of a module, you would add &lt;br /&gt;
  /trunk/MODULE_NAME&lt;br /&gt;
after the normal SVN URL.&lt;br /&gt;
&lt;br /&gt;
so to get the current version of just the bzflag module, the URL would be&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From the command line&lt;br /&gt;
&lt;br /&gt;
 svn co &amp;lt;nowiki&amp;gt;https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Branches==&lt;br /&gt;
Branches in subversion are simply subfolders.&lt;br /&gt;
All branches are in the /branches subdirectory off the root level of the SVN tree, listed [http://bzflag.svn.sourceforge.net/viewvc/bzflag/branches/ here].&lt;br /&gt;
To get the code in a branch, you simply use the branch URL in your svn client.&lt;br /&gt;
&lt;br /&gt;
To get the 2.0.x branch of the BZFlag module, you&#039;d use the following URL.&lt;br /&gt;
   https://bzflag.svn.sourceforge.net/svnroot/bzflag/branches/release_maint/v2_0/bzflag/&lt;br /&gt;
&lt;br /&gt;
==Useful Tools==&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tortoise Graphical SVN Client&#039;&#039;&#039;: integrates subversion into the windows explorer shell. http://tortoisesvn.tigris.org/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ankh Subversion&#039;&#039;&#039;: integrates subversion into Visual C++ as a native source control provider. http://ankhsvn.tigris.org/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WinMerge&#039;&#039;&#039;: visual merge and diff tool for windows. http://winmerge.org/&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Versions]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
[http://sourceforge.net/svn/?group_id=3248 SourceForge SVN Access page]&lt;br /&gt;
&lt;br /&gt;
[http://bzflag.svn.sourceforge.net/viewvc/bzflag/ BZFlag SVN 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>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7642</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=7642"/>
		<updated>2011-05-14T20:54:06Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: Add page to Versions category&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;
&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;mdskpr&#039;&#039;&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;
* Hunter as proper team &#039;&#039;mdskpr (grabbed by DTRemenak)&#039;&#039;&lt;br /&gt;
* bzfs -publickey&lt;br /&gt;
* Lua&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;
&lt;br /&gt;
[[Category:Versions]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7633</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=7633"/>
		<updated>2011-05-13T16:08:12Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Backports */ BC tackles the make system&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 &#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)&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;
&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>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7595</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=7595"/>
		<updated>2011-05-12T16:26:18Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: redistribute general idea section, add release candidate&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 V3_FAIL tag.&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)&lt;br /&gt;
* New GUI elements&lt;br /&gt;
* Server-side scoring&lt;br /&gt;
* Segmented simulation loop (to prevent wallwalking)&lt;br /&gt;
* Server-side flag ID and pickup&lt;br /&gt;
* New shot graphics (geolaser/geothief)&lt;br /&gt;
* HUD markers&lt;br /&gt;
* Removal of low graphics, promotion of experimental to high.&lt;br /&gt;
* Server list from GSoC&lt;br /&gt;
* BZFS API rework&lt;br /&gt;
* Remove local authentication (the /identify command)&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;
* 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&lt;br /&gt;
* Server option to disable teamkills&lt;br /&gt;
* OpenFFA&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&lt;br /&gt;
* Require OpenGL 1.2&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;
* Remove the /identify command&lt;br /&gt;
* Add the /serverdebug command&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&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&lt;br /&gt;
* BZFSCron&lt;br /&gt;
* Server Side Players&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.&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>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7594</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=7594"/>
		<updated>2011-05-12T15:15:14Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: fix spelling and grammar, minor content changes&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;
==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;
** 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 band-aid for.&lt;br /&gt;
* Command changes&lt;br /&gt;
** Remove the /identify command.&lt;br /&gt;
** Backport the /serverdebug command&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 V3_FAIL tag.&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;
* 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 release.&lt;br /&gt;
* Tag Trunk to 2_4branch and release.&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;
===Critical===&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 (HTTP-style)&lt;br /&gt;
* New GUI elements&lt;br /&gt;
* Server-side scoring&lt;br /&gt;
* Segmented simulation loop (to prevent wallwalking)&lt;br /&gt;
* Server-side flag ID and pickup&lt;br /&gt;
* New shot graphics (geolaser/geothief)&lt;br /&gt;
* HUD markers&lt;br /&gt;
* Removal of low graphics, promotion of experimental to high.&lt;br /&gt;
* Server list from GSOC&lt;br /&gt;
* BZFS API rework&lt;br /&gt;
* Remove local authentication (the /identify command)&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;
* 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&lt;br /&gt;
* Server option to disable teamkills&lt;br /&gt;
* OpenFFA&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&lt;br /&gt;
* Require OpenGL 1.2&lt;br /&gt;
&lt;br /&gt;
====New Changes====&lt;br /&gt;
* Round Robin for services&lt;br /&gt;
&lt;br /&gt;
===To Evaluate===&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;
====Backports====&lt;br /&gt;
* Map changes&lt;br /&gt;
* HTTP plugins&lt;br /&gt;
* New API events&lt;br /&gt;
* BZFSCron&lt;br /&gt;
* Server Side Players&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.&lt;br /&gt;
&lt;br /&gt;
===Exclusions===&lt;br /&gt;
These items should not be done or backported due to stability issues. 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>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=DevelopmentPlans/2.3&amp;diff=7566</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=7566"/>
		<updated>2011-05-11T19:04:00Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: new plan for a new release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BZFlag 2.3 will be a development version intended to sidestep the abandonment of [[BZFlag 3.0]] development.&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: the game version number that 2.3 would be released as has not been chosen yet.&lt;br /&gt;
&lt;br /&gt;
==Ideas==&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;
* Fix the protocol bug that version [[BZFlag 2.0.16|2.0.16]] was a bandaid for.&lt;br /&gt;
* Remove the /identify command.&lt;br /&gt;
* BZBB rank promotions! ;-)&lt;br /&gt;
&lt;br /&gt;
==Schedule==&lt;br /&gt;
* Immediately open 2.0.17 up for whitespace, Subversion properties, copyright notices, and other easy changes that don&#039;t break protocol.&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 v2_0branch to v2_3branch 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;
* Choose a version number for the release.&lt;br /&gt;
* Rename v2_3branch to vN_Nbranch and release.&lt;br /&gt;
&lt;br /&gt;
==Proposals==&lt;br /&gt;
TBD&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=V3RCChecklist&amp;diff=7563</id>
		<title>V3RCChecklist</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=V3RCChecklist&amp;diff=7563"/>
		<updated>2011-05-10T18:55:29Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* RC Critical fixes. */ add flag and font items&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
V3.0 has some major problems that prevent it from being close to a release candidate. This page will list the remaining items that need to be addressed before an RC can be made. &lt;br /&gt;
&lt;br /&gt;
==RC Critical fixes.==&lt;br /&gt;
# Dead-reckoning / lag-compensation testing / message loop / lag.&lt;br /&gt;
# MsgPause fix.&lt;br /&gt;
# Team flag disappears while the tank that was carrying it is dead.&lt;br /&gt;
# Some letters are not rendered in certain font sizes.&lt;br /&gt;
&lt;br /&gt;
==RC Critical Tasks==&lt;br /&gt;
# Linux Package review (new files in the right places )&lt;br /&gt;
# Mac installer review (check it in)&lt;br /&gt;
# Readme Updates&lt;br /&gt;
# Docs for V3 changes (-a missing, caps on server, lag comp, etc..)&lt;br /&gt;
# API review (spelling, consistency)&lt;br /&gt;
&lt;br /&gt;
==RC &#039;really nice&#039; features ==&lt;br /&gt;
# Implement map features to define proper &amp;quot;flag pass&amp;quot; behavior in maps that want it&lt;br /&gt;
# Ask user to accept non bzflag.org images &lt;br /&gt;
# Ask user to join non bzflag.org servers (MsgJoinServer)&lt;br /&gt;
# Parity mesh checks to replace inside/outside points&lt;br /&gt;
&lt;br /&gt;
==RC &#039;really nice&#039; Fixes/Tasks==&lt;br /&gt;
# Webadmin template review ( for style )&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
===Flag &amp;quot;pass&amp;quot; issues===&lt;br /&gt;
The current method of using the flag respawn on drop to pass a team flag was never a defined &#039;feature&#039; of the game. Many maps have been designed to turn this into a gameplay feature. In order to be able to maintain this type of gameplay a real feature has to be implemented to support it. Current development code has already &amp;quot;broken&amp;quot; teleporter passing by improving the definitions of the teleporter geometry and making no longer a &amp;quot;bad&amp;quot; place to put a flag. Similar enhancements are expected to be made in other parts of the world that would break other types of passing.&lt;br /&gt;
&lt;br /&gt;
To properly support the desired behavior a set of map defined zones or faces needs to be implemented that can detect when specific flags are dropped on them and define a respawn target zone or area. This will allow maps to fully define pass zones in an arbitrary way for any flag. Defining the a real feature will prevent new code from changing the defined behavior in adverse ways.&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFlag_on_IRC&amp;diff=7162</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=7162"/>
		<updated>2010-09-18T07:04:08Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Other projects and unofficial channels */ new GU league URLs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=FreeNode=&lt;br /&gt;
The official BZFlag org. and its 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 projects and unofficial 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;
* #badgerking (Official Channel for Badgerking&#039;s FFA)&lt;br /&gt;
* #BoomBZ (Team Channel for GU team [BoOm])&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;
* ##bzexcess (Support channel for the [http://bzexcess.com BZExcess.com servers.])&lt;br /&gt;
* ##bzflagr (Support channel for the [http://bzflagr.net BZFlagr.net servers.]) - closed down&lt;br /&gt;
* #bzfx (Support channel for the bzfx.net BZFlag 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;
* ##bztank (Unofficial support channel for the [http://bztank.net BZTank.net servers].)&lt;br /&gt;
* #bztraining (Official support channel for the [http://bztraining.org BZTraining server network] and for [http://bznetwork.googlecode.com BZNetwork])&lt;br /&gt;
* ##bzw (A place to discuss map making for BZFlag, including ideas and help)&lt;br /&gt;
* ##divi (Support channel for [http://divi.fairserve.net Divibox] and other [http://fairserve.bzflag.org Fairserve] servers)&lt;br /&gt;
* #dub (Support channel for the dub.bzflag.org BZFlag servers)&lt;br /&gt;
* ##ducleague (Support channel for [http://my.bzflag.org/league/ Ducati League (DucLeague)])&lt;br /&gt;
* #forestforce ([http://www.guleague.org/Teams/?profile=10 GULeague Team])&lt;br /&gt;
* ##guleague (Support channel for [http://www.guleague.org/ GamesUnited League (GULeague)])&lt;br /&gt;
* ##hepcat (Support channel for borrego.hepcat.org BZFlag server)&lt;br /&gt;
* ##icf (Support channel for [http://www.guleague.org/Teams/?profile=112 Invasive Chaotic Frenzies, (GULeague)])&lt;br /&gt;
* #inleague (Support channel for [http://in.bzleague.com InterNational League (INLeague)])&lt;br /&gt;
* #kas (GULeague team, KAS)&lt;br /&gt;
* ##norang (Support channel for [http://bzflag.norang.ca Norang.ca] BZFlag servers)&lt;br /&gt;
* #pillbox (Support channel for [http://pillbox.bzleague.com/ Pillbox League (PBLeague)])&lt;br /&gt;
* ##planetmofo (Support channel for [http://www.planet-mofo.com planet-mofo.com] servers)&lt;br /&gt;
* #plosileague (Support channel for [http://bzfx.net/league/ Plosileague]) &#039;&#039;defunct&#039;&#039;&lt;br /&gt;
* #silvercat (Support channel for [http://silvercat.bzflag.org/ Silvercat BZFlag servers]) &#039;&#039;defunct&#039;&#039;&lt;br /&gt;
* ##t42 ([http://www.guleague.org/Teams/?profile=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;
* #powerbzedit (Support channel for [http://pbzewiki.doenemeier.de/wiki/ PowerBZEdit])&lt;br /&gt;
&lt;br /&gt;
When the Freenode Group Management System is implemented, channels with a single # will need to either register their organization with Freenode or rename to begin with ## (a &amp;quot;reference&amp;quot; channel, one that holds no legal claim to the name).&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 (official 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;
=External links=&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>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Category:Leagues&amp;diff=7161</id>
		<title>Category:Leagues</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Category:Leagues&amp;diff=7161"/>
		<updated>2010-09-18T06:54:44Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* GU League */ new web site URL, fix IRC channel name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== BZFlag Leagues ==&lt;br /&gt;
&lt;br /&gt;
To join a league click on one of the links below and register your callsign. Some leagues may require that you be added to a list by an admin before you are allowed to talk/spawn on match servers. Please use the same callsign for matching that you have register on the league site. Most of the IRC channels for each league are situated on the [http://freenode.net/ freenode] network. Please refer to [[BZFlag on IRC]] for help on using IRC.&lt;br /&gt;
&lt;br /&gt;
== Ducati League ==&lt;br /&gt;
Website: [http://league.bzflag.org/ http://league.bzflag.net/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: [irc://irc.freenode.net/##ducleague ##ducleague]&lt;br /&gt;
&lt;br /&gt;
Match Length: 15, 20 or 30 minutes&lt;br /&gt;
&lt;br /&gt;
Rules: 2 shots, no jumping, ricochet, CTF, randomly generated map.&lt;br /&gt;
&lt;br /&gt;
== [[GU League]] ==&lt;br /&gt;
Website: [http://www.guleague.org/ http://www.guleague.org/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: [irc://irc.freenode.net/##guleague ##guleague]&lt;br /&gt;
&lt;br /&gt;
Match Length: 30 minutes.&lt;br /&gt;
&lt;br /&gt;
Rules: 3 shots, jumping, ricochet, CTF, [[HiX]] map.&lt;br /&gt;
&lt;br /&gt;
== Pillbox League ==&lt;br /&gt;
Website: [http://pillbox.bzleague.com/ http://pillbox.bzleague.com/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: [irc://irc.freenode.net/#pillbox #pillbox]&lt;br /&gt;
&lt;br /&gt;
Match Length: 15, 20 or 30 minutes.&lt;br /&gt;
&lt;br /&gt;
Rules: 3 shots, no jumping, no ricochet, CTF, pillbox map.&lt;br /&gt;
&lt;br /&gt;
== [[Open League]] ==&lt;br /&gt;
Website: [http://openleague.net/ http://openleague.net/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: [irc://irc.freenode.net/#openleague.net ##openleague]&lt;br /&gt;
&lt;br /&gt;
Match Length: 15, 20, 30, 45 or 60 minutes.&lt;br /&gt;
&lt;br /&gt;
Rules: 3 shots, jumping , ricochet, CTF, [[babel]] or a map that changes every week (which can have different rules).&lt;br /&gt;
&lt;br /&gt;
== 1vs1 League ==&lt;br /&gt;
Website: [http://1vs1.bzleague.com/ http://1vs1.bzleague.com/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: None.&lt;br /&gt;
&lt;br /&gt;
Match Length: First to 10 kills.&lt;br /&gt;
&lt;br /&gt;
Rules: &lt;br /&gt;
:classic &amp;amp; fancy style: -&amp;gt; FFA mode, 2 shots, ricochet, no jumping, no superflags, small randomly generated map&lt;br /&gt;
:hix style -&amp;gt; FFA mode, 3 shots, ricochet, jumping, no superflags, hix map&lt;br /&gt;
&lt;br /&gt;
== Fun League ==&lt;br /&gt;
Website: [http://fun.bzleague.com/ http://fun.bzleague.com/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: None.&lt;br /&gt;
&lt;br /&gt;
Match Length: Depends on which map you play on.&lt;br /&gt;
&lt;br /&gt;
Rules: Depends on which map you play on.&lt;br /&gt;
&lt;br /&gt;
== BZSoccer League ==&lt;br /&gt;
&lt;br /&gt;
Website: [http://bzsoccer.bzleague.com/ http://bzsoccer.bzleague.com/] *Note* Website has many bugs and will be fixed soon.&lt;br /&gt;
&lt;br /&gt;
IRC Channel: ##divi&lt;br /&gt;
&lt;br /&gt;
Match length: 15 minutes&lt;br /&gt;
&lt;br /&gt;
Rules: 2 shots, jumping, ricochet, soccer field map.&lt;br /&gt;
&lt;br /&gt;
Please note that this league is inactive. The league will be revived when the website is fixed.&lt;br /&gt;
&lt;br /&gt;
== Defunct Leagues ==&lt;br /&gt;
&lt;br /&gt;
=== Plosileague ===	 &lt;br /&gt;
&lt;br /&gt;
Website: [http://bzfx.net/league/ http://bzfx.net/league/]	 &lt;br /&gt;
&lt;br /&gt;
IRC Channel: [irc://irc.freenode.net/#plosileague #plosileague]	 &lt;br /&gt;
&lt;br /&gt;
Match Length: 30 minutes or first to 5 caps and ahead of the other team by at least 2 caps	 &lt;br /&gt;
&lt;br /&gt;
Rules: 3 shots, jumping, ricochet, CTF, [[overlord]] or [[babel]] map.&lt;br /&gt;
&lt;br /&gt;
=== LavaHiX League ===&lt;br /&gt;
Website: [http://lavahix.wtwrp.de/ http://lavahix.wtwrp.de/]&lt;br /&gt;
&lt;br /&gt;
IRC Channel: None.&lt;br /&gt;
&lt;br /&gt;
Match Length: 15 minutes.&lt;br /&gt;
&lt;br /&gt;
Rules: 3 shots, jumping, ricochet, CTF, [[HiX]] map with &amp;quot;lava&amp;quot; ground.&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=GU_League&amp;diff=7160</id>
		<title>GU League</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=GU_League&amp;diff=7160"/>
		<updated>2010-09-18T06:51:17Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: new league web site URLs, update official servers list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:GUMatch.jpg|right|thumb|300px|A GU match in progress. ]]&lt;br /&gt;
&lt;br /&gt;
=GU League Info=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===General Info===&lt;br /&gt;
&lt;br /&gt;
The GU League is currently the most successful and active BZFlag league. It launched on January 23rd 2005, and since then has recorded over [http://www.guleague.org/Matches/ 21,100 matches]. There are currently [http://www.guleague.org/Teams/ 28 teams], 20 of which are active. There are over [http://www.guleague.org/Players/ 350 players] representing 47 different countries. All matches are played on the [[Hix]] map. (Statistics as of June 2, 2010)&lt;br /&gt;
&lt;br /&gt;
The GU League offers challenging competition and includes some of the top BZFlag players. New players learn fast by getting involved in fun matches and by watching other players. People from all age groups play and many are willing to help new players get started.&lt;br /&gt;
&lt;br /&gt;
Make sure to visit the [http://my.bzflag.org/bb/viewforum.php?f=103 official GU League forum] and read the &amp;quot;sticky&amp;quot; threads at the top of the page. They contain a lot of important information.&lt;br /&gt;
&lt;br /&gt;
=Playing in GU=&lt;br /&gt;
&lt;br /&gt;
For players that are new to BZFlag, it is recommended to check out the [[Getting_Started|Getting Started]] page. A [[Getting_Started#Registering_a_callsign.28Optional.29|globally registered name]] is required for league play.&lt;br /&gt;
&lt;br /&gt;
A player can then [http://www.guleague.org/Login/ register in the league] using the same name. One of the [http://www.guleague.org/Contact/ GU League Admins] must be contacted with a request to be added to the [http://my.bzflag.org/bb/memberlist.php?mode=group&amp;amp;g=20506 gu.league spawnlist] on the BZBB forums. This will allow the player to spawn and talk on league servers.&lt;br /&gt;
&lt;br /&gt;
==Rules and Guidelines==&lt;br /&gt;
&lt;br /&gt;
The league keeps very high standards of behavior and sportsmanship. So check these rules before doing anything else:&lt;br /&gt;
&lt;br /&gt;
*Match disturbance, player harassment, language, cheat accusations in public (1 day -7 days ban)&lt;br /&gt;
*Using cheats on public servers or in other leagues (6-9 months)&lt;br /&gt;
*Using cheats in the GU league (1 year to life)&lt;br /&gt;
&lt;br /&gt;
These are subject to change, so please always check the [http://www.guleague.org/Rules/ GU Rules page] directly.&lt;br /&gt;
&lt;br /&gt;
===Fun Matches===&lt;br /&gt;
&lt;br /&gt;
A good way to get started in the league is to play fun matches (typically abbreviated as &#039;fm&#039;). These types of matches are very popular. Only official matches are entered into the website, so there is less pressure during a fun match. Players do not have to be in a team, and players from specific league teams don&#039;t have to play on the same color.&lt;br /&gt;
&lt;br /&gt;
Fun matches can also have additional players join during play.  Make sure that the current players don&#039;t mind before joining a match. Players should &#039;&#039;&#039;self-kill&#039;&#039;&#039; by shooting while facing a wall or self-destructing with the delete key. This ensures there is not an unfair advantage due to initially spawning on the team base. The phrase &amp;quot;sk please&amp;quot; is used quite often to request that someone self-kills.&lt;br /&gt;
&lt;br /&gt;
Fun matches are not to be reported.&lt;br /&gt;
&lt;br /&gt;
===Teams, Matching &amp;amp; Reporting===&lt;br /&gt;
&lt;br /&gt;
So, you&#039;ve registered and want to get some action? First of all, you&#039;re going to need a team. You can join a team by visiting the [http://www.guleague.org/Teams/ teams] page and hitting the &amp;quot;Join&amp;quot; button next to the team, that is, if the team is open to anyone. Most teams however, are closed and can only be joined by invitation sent from the team leader. &lt;br /&gt;
Usually you will always find some teams that are interested in new and active players. If you want to contact the leader of a team or the team itself, use the &amp;quot;BZMail&amp;quot; option that can be found at the top or bottom of any Team/Player profile page.  &lt;br /&gt;
Don&#039;t be discouraged if the first couple of requests get turned down, most teams like to get to know the players before they accept them into their team. But it&#039;s easy to establish yourself within the GU community. You can get to know players best by playing fun matches, spending time on the various public servers and talking to others in Observer during matches. It&#039;s a learning by doing system. &lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve found and joined a team you like you can immediately start matching! There are some rules you should take into account before doing so though. &lt;br /&gt;
&lt;br /&gt;
===Official Matches===&lt;br /&gt;
&lt;br /&gt;
Basic commands needed during official matches:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;/countdown&#039;&#039;&#039; - Start the 30 minute match timer.&lt;br /&gt;
* &#039;&#039;&#039;/countdown pause&#039;&#039;&#039; - Pause the match timer. Should not be abused and should only be used when necessary. (E.g. a player has to stop for a moment, etc.)&lt;br /&gt;
* &#039;&#039;&#039;/countdown resume&#039;&#039;&#039; - Resume the match timer and allow the match to continue.&lt;br /&gt;
* &#039;&#039;&#039;/gameover&#039;&#039;&#039; - This will abruptly end the match at any given time. (Do not abuse! Ending a match with out any notice will most certainly lead to a ban.)&lt;br /&gt;
&lt;br /&gt;
Guidelines:&lt;br /&gt;
&lt;br /&gt;
* Do not start the match timer before all participating players are ready and make sure everyone has agreed on playing an official match. &lt;br /&gt;
* Make sure all players agree with opponents lag before starting the match. It is frowned upon to start a match and realize half way in that the lag is unplayable.&lt;br /&gt;
* Everyone participating should either able to finish the match or have a substitute available in case. &lt;br /&gt;
* Make sure the server is an official GU League match server.&lt;br /&gt;
* If a player goes [NR] (which means they are &#039;Not Responding&#039;, thus have lost their connection to the server somehow), pause the match and wait for a substitute or for the player to rejoin&lt;br /&gt;
* Make sure everyone is ready for a substitute before it happens to prevent major chaos in the match.&lt;br /&gt;
* If two more players want to join from the respective teams, make sure everyone is prepared and has said yes to the addition of players.&lt;br /&gt;
* Pick a server closest to the majority of players. If it is a half/half case, just agree on one. &lt;br /&gt;
&lt;br /&gt;
If for some reason a match has to be canceled, make sure a player of both teams somehow saves score, remaining time, position of flags/players. (Easiest by taking a screenshot - hit F5)&lt;br /&gt;
When the match can be resumed later, adjust the timer to the remaining time the match was stopped at. Use the /timelimit &amp;lt;minutes go here&amp;gt; command to adjust the timer before a match.&lt;br /&gt;
&lt;br /&gt;
===Entering/Reporting official matches===&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve successfully played an official match, you need to either report the match to one of the [http://www.guleague.org/Contact/ referees (aka &#039;refs&#039;) or admins] by BZMail on the GU site, or just have a present ref/admin enter it. When reporting by BZMail, you &#039;&#039;&#039;must&#039;&#039;&#039; include: Teams, Score, Time, Date.&lt;br /&gt;
&lt;br /&gt;
==Official league servers==&lt;br /&gt;
&lt;br /&gt;
It is very important that you only play official matches on the official league servers.&lt;br /&gt;
&lt;br /&gt;
Here is a list of the servers and their respective locations. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Europe:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* brad.guleague.org: 5158&lt;br /&gt;
* bzf.guleague.org: 5157 and 5158&lt;br /&gt;
* dub.guleague.org: 59997&lt;br /&gt;
* longdon.guleague.org: 5158&lt;br /&gt;
* destroyer.guleague.org: 5158&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;America:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* quol.guleague.org: 5157 and 5158 (Quebec, Canada)&lt;br /&gt;
* my.inexplicably.org: 5158 (Texas, USA)&lt;br /&gt;
* brl.arpa.net: 5158 (California, USA)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Zealand:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* bzflag.enuffsaid.co.nz: 5158&lt;br /&gt;
&lt;br /&gt;
The replay servers can be found on port 5159, except for dub.guleague.org: 59996&lt;br /&gt;
&lt;br /&gt;
If a match is not played on one of these servers, than it cannot be counted as official.&lt;br /&gt;
&lt;br /&gt;
===Replays===&lt;br /&gt;
&lt;br /&gt;
Every match, official or fun, is automatically recorded and saved to the respective replay server. Some servers have websites where the replay file, time, date and players are posted.&lt;br /&gt;
&lt;br /&gt;
* http://longdon.guleague.org/&lt;br /&gt;
* http://destroyer.guleague.org/&lt;br /&gt;
* http://bzf.guleague.org/matchlist.html&lt;br /&gt;
* http://quol.bzflag.bz/bzmatches/ (New design!)&lt;br /&gt;
&lt;br /&gt;
You can find help on how to get a replay start and running on the servers but here&#039;s a quick summary:&lt;br /&gt;
&lt;br /&gt;
#Find the replay file you want by either using the above mentioned web-sites or by using&lt;br /&gt;
##/replay list -n (if possible, will display a list of recent replays in chronological order)&lt;br /&gt;
##/replay list *10042009* (will show you all replays played on April 10th, 2009)&lt;br /&gt;
&lt;br /&gt;
#Once you&#039;ve found your replay file&lt;br /&gt;
##/replay load #index number&lt;br /&gt;
&lt;br /&gt;
Use /replay skip + or - &amp;lt;amount of seconds&amp;gt; to navigate within a replay&lt;br /&gt;
Use /replay pause and /replay resume to pause and resume a replay&lt;br /&gt;
&lt;br /&gt;
===Public Servers===&lt;br /&gt;
&lt;br /&gt;
Along with the various official servers, there are quite a few public servers set up using either identical or similar settings to the league. Players usually meet up there to get warm and just shoot around before or after a match. Anyone can play there, regardless of being registered in the league or not. All of these public servers are running the HiX map, some are CTF and some are just FFA. &lt;br /&gt;
&lt;br /&gt;
List of popular HiX public servers:&lt;br /&gt;
&lt;br /&gt;
* bzf.bzflag.net:5154 [FFA - HiX map]&lt;br /&gt;
* bzf.bzflag.net:5155 [4-Team CTF HiX] &lt;br /&gt;
* bzf.bzflag.net:5160 [2-Team CTF HiX]&lt;br /&gt;
* quol.guleague.org:5156 [2-Team CTF HiX]&lt;br /&gt;
&lt;br /&gt;
=Settings and Options=&lt;br /&gt;
&lt;br /&gt;
A big part of the GU league, is being able to compete. But the premise for that, is having good settings that will make things like dodging, shooting and jumping a lot easier. A very large amount of the GU players use mouse and only a dozen keyboard. If you are just starting out, I would recommend you try playing with mouse first, as many things will be easier to do later on.&lt;br /&gt;
In this game, it&#039;s impossible to become the best dodger, jumper and shooter at the same time. These are two if not three completely different types of playing that require many different settings. &lt;br /&gt;
&lt;br /&gt;
Most of the setting adjustment is done by the [[Config_File]], as you can not exercise all your possibilities in the GUI options. You can find a lot of detailed information by using the [http://my.bzflag.org/bb/search.php Search option on BZBB]. Many players have posted their personal configs and other tips there. &lt;br /&gt;
&lt;br /&gt;
For mouse players, these individual playing styles, also mean individual mouse settings. Mousebox size, mouse DPI, mouse sensitivity are all crucial. Usually slower mouse settings and a big mouseboxsize, will enable you to be a better jumper and or shooter, while fast, sensitive, precise mouse settings and a small to even negative mouseboxsize will be enable you to dodge better. &lt;br /&gt;
Next to all the native options, some players use mouse enhancement applications, see [http://my.bzflag.org/bb/viewtopic.php?f=103&amp;amp;t=13245 Whitelist] for further info.&lt;br /&gt;
&lt;br /&gt;
Very experienced players however, are known to be able to jump, shoot and dodge with extreme precision. So, no setting in the world is going to help, if you don&#039;t practice and play enough.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Stats=&lt;br /&gt;
&lt;br /&gt;
You might have asked yourself how you&#039;re supposed to find other players online if you want to arrange a match. &lt;br /&gt;
There are some very useful BZStats and Player checkers that are have been useful to the whole community for years.&lt;br /&gt;
&lt;br /&gt;
#The general BZStats checker that Strayer coded shows a massive amount of information on everything BZFlag related.&lt;br /&gt;
##http://bzstats.strayer.de&lt;br /&gt;
##http://bzstats.strayer.de/leagues/gu/online/?lang=en (that shows all current GU players that are online)&lt;br /&gt;
&lt;br /&gt;
#The second checker is Saturos&#039; GU League Checker&lt;br /&gt;
##http://guc.saturos.de (V.1)&lt;br /&gt;
##http://guc.phago.de (Beta V.2, this version is still in the makes but already has many features and fixes that V.1 does not)&lt;br /&gt;
The GUC displays all main Public and Official GU League servers with scores, players, timer and teams. (Very useful for following matches without opening a client)&lt;br /&gt;
&lt;br /&gt;
=Abbreviations you should know=&lt;br /&gt;
&lt;br /&gt;
As mentioned already above, there are some abbreviations used very often in the league. If you haven&#039;t already, check out [[Jargon]] for more non-league specific abbreviations and Jargon. Below are some league specific abbreviations. Note that this is not a complete list, just the most common terms you should know in order to prevent confusion between players or in a match.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
offi=Referring to an official match. (&amp;quot;offi?&amp;quot; means somebody wants to play an official match)&lt;br /&gt;
fm=Referring to fun match. (&amp;quot;fm?&amp;quot; means somebody wants to play a fun match)&lt;br /&gt;
sk=Selfkill. (Expression often used when new players join an already running fun match. New players should kill themselves once immediately after spawning.)&lt;br /&gt;
tk=Teamkill. (More frequently used outside of league play too)&lt;br /&gt;
def=Defense. Your flag is under immediate attack or about to be taken. Watch out for yours!&lt;br /&gt;
att=Attack. Focus on getting your opponents flag.&lt;br /&gt;
gs, ns, n1, g1=Good shot, nice shot, nice one, good one. Frequently used when a player does something that the other regards as nice or skillfull.&lt;br /&gt;
ty, thx=Thank you. Thanks.&lt;br /&gt;
hf, gl=Have fun, good luck.Usually always said to the opposing team before a match starts&lt;br /&gt;
gg=Good game. Usually said by all participating players after a match has ended.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Leagues]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Versions&amp;diff=7097</id>
		<title>Versions</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Versions&amp;diff=7097"/>
		<updated>2010-07-03T21:07:47Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Released versions of BZFlag */ add 2.0.16 to the list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Version Numbering Systems==&lt;br /&gt;
===History===&lt;br /&gt;
BZFlag has undergone several different numbering schemes over the years (decades) that can be roughly categorized as follows:  the 1.7 alphabet soup series, the 1.10 through 2.0 series, and the &amp;quot;new&amp;quot; triplet system currently in place.  The information in follwoing regarding BZFlag&#039;s versioning scheme pertains to the &amp;quot;new&amp;quot; triplet system currently in use.&lt;br /&gt;
&lt;br /&gt;
===Current System===&lt;br /&gt;
Ever since the unreleased 1.9 development revision, BZFlag has been using a &#039;&#039;&#039;MAJOR.MINOR.PATCH&#039;&#039;&#039; version numbering scheme that is familiar to many open source software projects.  In this triplet version numbering scheme, the &#039;&#039;&#039;MAJOR&#039;&#039;&#039; number implies predominant backwards software compatibility; the &#039;&#039;&#039;MINOR&#039;&#039;&#039; number represents feature additions and enhancements; and the &#039;&#039;&#039;PATCH&#039;&#039;&#039; number is iterated releases of that given &#039;&#039;&#039;MAJOR.MINOR&#039;&#039;&#039; version.  Each number in that triplet is independent and is not necessarily just a single digit for each either (e.g., 1.10 is &#039;&#039;not&#039;&#039; the same as 1.1.0 nor 1.0.10).  For brevity, releases since 2.0 can generally be referred to only using the &#039;&#039;&#039;MAJOR.MINOR&#039;&#039;&#039; revision, leaving the &#039;&#039;&#039;PATCH&#039;&#039;&#039; version number off.&lt;br /&gt;
&lt;br /&gt;
In order to &amp;quot;encourage&amp;quot; upgrades and facilitate making enhancements and bug fixes to the game, BZFlag&#039;s developers (intentionally) break the game protocol from time to time where new clients are released that will not work with previous releases.  Starting with BZFlag version 2.0, the &#039;&#039;&#039;MAJOR&#039;&#039;&#039; number in BZFlag&#039;s versioning triplet &#039;&#039;&#039;&#039;&#039;represents backwards-compatibility&#039;&#039;&#039;&#039;&#039;.  That is to say that all clients with a version number starting with a 2 will (only) work with others of that 2 series.&lt;br /&gt;
&lt;br /&gt;
===Development Versions and Release Versions===&lt;br /&gt;
&#039;&#039;Development of a new &#039;&#039;&#039;MAJOR&#039;&#039;&#039; version of BZFlag occurs as the previous &#039;&#039;&#039;MAJOR&#039;&#039;&#039; version number&#039;s &#039;&#039;&#039;99th&#039;&#039;&#039; &#039;&#039;&#039;MINOR&#039;&#039;&#039; revision. (e.g., 2.99 becomes 3.0, 3.99 becomes 4.0)&#039;&#039;  The &#039;&#039;&#039;99th&#039;&#039;&#039; development revision is necessarily treated special and generally not compatible with anything but itself.&lt;br /&gt;
&lt;br /&gt;
As compatible releases and enhancements are made to the game, they are released with an &#039;&#039;even-numbered&#039;&#039; &#039;&#039;&#039;MINOR&#039;&#039;&#039; version number (e.g. 3.&#039;&#039;&#039;0&#039;&#039;&#039; or 1.&#039;&#039;&#039;10&#039;&#039;&#039; or 3.&#039;&#039;&#039;2&#039;&#039;&#039;.6 etc).  Versions of the game with an &#039;&#039;odd-numbered&#039;&#039; &#039;&#039;&#039;MINOR&#039;&#039;&#039; version number represents development-only versions that should not be used by non-developers under any circumstances &#039;&#039;(i.e., you&#039;re on your own, no support or guarantees are offered)&#039;&#039;.  Again, revisions with an &#039;&#039;&#039;&#039;&#039;odd&#039;&#039;&#039;&#039;&#039; second number represent &#039;&#039;&#039;&#039;&#039;developer revisions&#039;&#039;&#039;&#039;&#039; and those with an &#039;&#039;&#039;&#039;&#039;even&#039;&#039;&#039;&#039;&#039; second number are the &#039;&#039;&#039;&#039;&#039;public revisions&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;PATCH&#039;&#039;&#039; number in the version triplet counts publicly posted revisions for a given &#039;&#039;&#039;MAJOR.MINOR&#039;&#039;&#039; version.  Since the BZFlag developers do intentionally provide (pre-release, alpha, beta) versions the game before a &#039;&#039;final&#039;&#039; post is made, those releases merely have the &#039;&#039;&#039;PATCH&#039;&#039;&#039; number incremented.  Basically, the &#039;&#039;&#039;PATCH&#039;&#039;&#039; number can be looked at as how many times files have been publicly posted for a given &#039;&#039;&#039;MAJOR.MINOR&#039;&#039;&#039; version.&lt;br /&gt;
&lt;br /&gt;
===Release Candidates===&lt;br /&gt;
Labels and comments that a given release is an &#039;&#039;RC&#039;&#039; (Release Candidate) version or that it&#039;s a &#039;&#039;beta&#039;&#039; or an &#039;&#039;alpha&#039;&#039; release are merely inteded to describe the stability of a given version but are &#039;&#039;&#039;not&#039;&#039;&#039; part of the version itself.  Lower patch numbers on a developer revision (where the &#039;&#039;&#039;MINOR&#039;&#039;&#039; number is an &#039;&#039;odd-number&#039;&#039;) tend to imply less stability whereas higher patch numbers tend to imply greater stability.  On non-developer releases, the number is generally only incremented and reposted if there was something deficient with the version already posted.  &lt;br /&gt;
&lt;br /&gt;
==(Current) Revision number examples==&lt;br /&gt;
&lt;br /&gt;
2.99.0 is a developer revision that will become the next 3.0 major release.  Only developers should be using this revision.&lt;br /&gt;
&lt;br /&gt;
2.99.27 is the 28th developer revision of 2.99, perhaps approaching some sort of beta or release-candidate status for the 3.0 release.  Only developers and testers should be using this revision.&lt;br /&gt;
&lt;br /&gt;
3.0.0 is a new release of a BZFlag client that is incompatible with all previous versions.  This revision is for everyone.&lt;br /&gt;
&lt;br /&gt;
3.0.9 is the 10th release of the 3.0 client, only providing minor bug and build fixes.  This revision is for everyone.&lt;br /&gt;
&lt;br /&gt;
3.1.0 is a developer revision of the 3 series, compatible with other version 3 clients and a pre-release candidate for the 3.2 release.  Only developers should be using this revision.&lt;br /&gt;
&lt;br /&gt;
3.12.4 is the 5th patch update of the 3.12 public release intended for everyone.  There were six compatible versions released prior to this version: 3.0, 3.2, 3.4, 3.6, 3.8, and 3.10   &lt;br /&gt;
&lt;br /&gt;
3.2.5 is the 6th publicly posted release of version 3.2, serving enhanced functionality over the previous 3.0 clients while remaining compatible with other 3 series clients.  This revision is for everyone.&lt;br /&gt;
&lt;br /&gt;
3.99.0 is a developer revision that will become the next 4.0 major release.  Only developers should be using this revision&lt;br /&gt;
&lt;br /&gt;
== Released versions of BZFlag ==&lt;br /&gt;
There are currently 34 open source versions of BZFlag. Versions earlier then 1.7c-X were closed source.&lt;br /&gt;
&lt;br /&gt;
The versions in chronological order are;&lt;br /&gt;
&lt;br /&gt;
* [[BZFlag 1.7c-1]]&lt;br /&gt;
* [[BZFlag 1.7c-2]]&lt;br /&gt;
* [[BZFlag 1.7c-2-1]]&lt;br /&gt;
* [[BZFlag 1.7c-2-2]]&lt;br /&gt;
* [[BZFlag 1.7c-2-3]]&lt;br /&gt;
* [[BZFlag 1.7d-1]]&lt;br /&gt;
* [[BZFlag 1.7d-2]]&lt;br /&gt;
* [[BZFlag 1.7d-3]]&lt;br /&gt;
* [[BZFlag 1.7d-4]]&lt;br /&gt;
* [[BZFlag 1.7d-5]]&lt;br /&gt;
* [[BZFlag 1.7d-6]]&lt;br /&gt;
* [[BZFlag 1.7d-7]]&lt;br /&gt;
* [[BZFlag 1.7d-8]]&lt;br /&gt;
* [[BZFlag 1.7d-9]]&lt;br /&gt;
* [[BZFlag 1.7e]]&lt;br /&gt;
* [[BZFlag 1.7e1]]&lt;br /&gt;
* [[BZFlag 1.7e2]]&lt;br /&gt;
* [[BZFlag 1.7e4]]&lt;br /&gt;
* [[BZFlag 1.7e6]]&lt;br /&gt;
* [[BZFlag 1.7g0]]&lt;br /&gt;
* [[BZFlag 1.7g2]]&lt;br /&gt;
* [[BZFlag 1.10.0]]&lt;br /&gt;
* [[BZFlag 1.10.2]]&lt;br /&gt;
* [[BZFlag 1.10.4]]&lt;br /&gt;
* [[BZFlag 1.10.6]]&lt;br /&gt;
* [[BZFlag 1.10.8]]&lt;br /&gt;
* [[BZFlag 2.0.0]]&lt;br /&gt;
* [[BZFlag 2.0.2]]&lt;br /&gt;
* [[BZFlag 2.0.4]]&lt;br /&gt;
* [[BZFlag 2.0.6]]&lt;br /&gt;
* [[BZFlag 2.0.8]]&lt;br /&gt;
* [[BZFlag 2.0.9]]&lt;br /&gt;
* [[BZFlag 2.0.10]]&lt;br /&gt;
* [[BZFlag 2.0.12]]&lt;br /&gt;
* [[BZFlag 2.0.14]]&lt;br /&gt;
* [[BZFlag 2.0.16]]&lt;br /&gt;
* [[BZFlag 3.0]]&lt;br /&gt;
* [[BZFlag SVN]]&lt;br /&gt;
&lt;br /&gt;
[[Category:History]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Main_Page&amp;diff=6941</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Main_Page&amp;diff=6941"/>
		<updated>2010-02-15T22:07:34Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Google Summer of Code */ change to past tense now that it is over&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[Image:BZFlag_2010_shiny.png|center]]&lt;br /&gt;
{|style=&amp;quot;width:100%;margin-top:+.7em;background-color:#fcfcfc;border:1px solid #ccc&amp;quot;&lt;br /&gt;
|style=&amp;quot;width:56%;color:#000&amp;quot;|&lt;br /&gt;
{|style=&amp;quot;width:280px;border:solid 0px;background:none&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:280px;text-align:center;white-space:nowrap;color:#000&amp;quot; |&lt;br /&gt;
[[Image:Bzflag-48x48.png|left]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:162%;border:none;margin: 0;padding:.1em;color:#000&amp;quot;&amp;gt;Welcome to the BZFlag Wiki,&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;top:+0.2em;font-size: 95%&amp;quot;&amp;gt;The source for community information on most things related to BZFlag!&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:162%;border:none;margin: 0;padding:.1em;color:#000&amp;quot;&amp;gt;The BZFlag Wiki motto: [[BZFlagWiki:Be_bold|&#039;&#039;&#039;Be Bold!!&#039;&#039;&#039;]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;articlecount&amp;quot; style=&amp;quot;width:100%;text-align:center;font-size:85%;&amp;quot;&amp;gt;[[Special:Statistics|{{NUMBEROFARTICLES}}]] articles available&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&amp;lt;!-- Portals Follow --&amp;gt;&lt;br /&gt;
|style=&amp;quot;width:15%;font-size:95%&amp;quot;|&lt;br /&gt;
[[Image:Bzflag-48x48.png|right]]&lt;br /&gt;
*[http://my.bzflag.org/bb The Forums]&lt;br /&gt;
*[http://my.bzflag.org BZFlag Stats]&lt;br /&gt;
*[http://sourceforge.net/projects/bzflag/ BZFlag on SourceForge]&lt;br /&gt;
&amp;lt;!--*&#039;&#039;&#039;[[Portal:List of portals|All&amp;amp;nbsp;portals]]&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Welcome to the BZFlag Wiki. The number of articles is growing, but there is much more to do. Please see the section &#039;&#039;&#039;Things To Do&#039;&#039;&#039; at the bottom of this page if you would like to help.  The intention of this site is to draw together all of the great information about BZFlag and BZFlag related items that is currently scattered in many different places. Bringing all of this information together will make it easier for people to understand and answer all of the questions they have about running a server (options, permissions, set-up, etc.), configuring their client, coding plug-ins, compiling the source code, and anything else they can think of. All are welcome to contribute and may edit most pages. With everyone&#039;s help we can make this site a great resource to the BZFlag community. Please remember the BZFlag Wiki&#039;s new motto, [[BZFlagWiki:Be_bold|&#039;&#039;&#039;Be Bold&#039;&#039;&#039;]] (click the link for a full explanation of the motto), when editing articles.&lt;br /&gt;
&lt;br /&gt;
If you are unsure of how to edit or add pages, there is always a link to the [[Help:Contents|&#039;&#039;&#039;Help&#039;&#039;&#039;]] section on the links to the left no matter where you are on the site. Don&#039;t be shy; give editing the site a try and be proud of your contributions! You can edit whether or not you have an account created. The advantage of having an account is that you will be credited with the contribution on the &#039;&#039;History&#039;&#039; link/tab of the page. Please take a look at the [[BZFlagWiki:Content Policy|Content Policy]] page for an overview of adding articles.&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code ==&lt;br /&gt;
BZFlag was a mentor organization in the 2009 Google Summer of Code. For details, please see the [[Google Summer of Code/2009|2009 Summer of Code wiki page]].&lt;br /&gt;
&lt;br /&gt;
==General Information==&lt;br /&gt;
*[[Getting Started|Quick Start]]&lt;br /&gt;
*[[Getting Help]]&lt;br /&gt;
*[[:Category:BZFlagWiki_Policy|BZFlag Wiki Policy]]&lt;br /&gt;
&lt;br /&gt;
==Areas of Interest==&lt;br /&gt;
*[[:Category:Client|Client]]&lt;br /&gt;
*[[:Category:Compiling|Compiling]]&lt;br /&gt;
*[[:Category:Concepts|Concepts]]&lt;br /&gt;
*[[:Category:Development|Development]]&lt;br /&gt;
*[[:Category:Gameplay|Gameplay]]&lt;br /&gt;
*[[:Category:Installing|Installing]]&lt;br /&gt;
*[[:Category:Leagues|Leagues]]&lt;br /&gt;
*[[:Category:Map Making|Map Making]]&lt;br /&gt;
*[[:Category:Maps|Maps]]&lt;br /&gt;
*[[:Category:Plug-Ins|Plug-ins]]&lt;br /&gt;
*[[Releases]]&lt;br /&gt;
*[[:Category:Server|Server]]&lt;br /&gt;
*[[:Category:Support|Support]]&lt;br /&gt;
*[[:Category:Tactics|Tactics]]&lt;br /&gt;
*[[Versions]]&lt;br /&gt;
&lt;br /&gt;
==Things To Do==&lt;br /&gt;
*[[:Category:Stubs|Stubs]] These are short pages.  You can help by expanding the content and adding more detail.&lt;br /&gt;
*[[:Special:Wantedpages|Wanted pages]] These are pages which don&#039;t exist yet but are pointed to from other pages.  You can help by creating them.&lt;br /&gt;
*[[:Category:Items to be merged|Pages to merge]] These are pages which are similar.  It is suggested that similar pages be merged.  You can help by reviewing the pairs of pages and commenting on any proposals by using the &amp;quot;Discussion&amp;quot; tab at the top of each page.&lt;br /&gt;
*[[:Category:Old|Pages with old info]]  You can help by updating these pages.&lt;br /&gt;
*[[:Category:Inaccurate|Inaccurate pages]]  You can help by updating these pages.&lt;br /&gt;
*[[:Category:Pending Deletions|Pending deletions]]  These are pages which have been nominated for deletion.  You can help by reviewing these pages and commenting on any proposals by using the &amp;quot;Discussion&amp;quot; tab at the top of each page.&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Getting_Started&amp;diff=6939</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Getting_Started&amp;diff=6939"/>
		<updated>2010-02-15T21:34:49Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Registering a callsign(Optional) */ remove SID from registration link, clean up wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article covers the basics of getting started with BZFlag. It is intended for new players who have just found the game and require assistance. More detailed help can be found on our [[Getting Help]] page.&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
These simple steps have been designed to allow new users to begin playing the game as quickly as possible.&lt;br /&gt;
&lt;br /&gt;
===Downloading and installing the game===&lt;br /&gt;
&lt;br /&gt;
The main thing users need to play is the game software. Users can [[Download]] the software for a number of different [http://en.wikipedia.org/wiki/Operating_system|operating systems].&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
The most common operating system for players is Microsoft Windows. A simple installer can be found at http://sourceforge.net/projects/bzflag/files/bzflag%20win32/2.0.14/bzflag-2.0.14.exe/download . Simply double click the downloaded file to install the game.&lt;br /&gt;
&lt;br /&gt;
====Mac OSX====&lt;br /&gt;
The next most popular system for players is Apple&#039;s MacOS X for the Macintosh family of computers. The version for macs can be found at http://sourceforge.net/projects/bzflag/files/bzflag%20Mac%20OS%20X/2.0.14/BZFlag-2.0.14.dmg/download . Simply drag the BZFlag icon from the mounted DMG to your Applications folder to install the game.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
The project does not distribute a premade binary package for linux, but many linux distrobutions have BZFlag in their package management systems ( APT, YUM, emerge, etc.. ). Linux users can always build the game from the source code. Please see the [[Download|downloads]] page for more information.&lt;br /&gt;
&lt;br /&gt;
===Registering a callsign(Optional)===&lt;br /&gt;
It is not mandatory to register a callsign ( the name a player uses in-game), but it is highly recommended. &lt;br /&gt;
&lt;br /&gt;
A few of the benefits of registering are:&lt;br /&gt;
&lt;br /&gt;
* The callsign is reserved, and can not be used by any other player.&lt;br /&gt;
* Registered users can post on the BZFlag forums.&lt;br /&gt;
* Registered users can join leagues and global groups.&lt;br /&gt;
* Many servers require registration to play.&lt;br /&gt;
&lt;br /&gt;
Users that wish to register can do so at the [http://my.bzflag.org/bb/ucp.php?mode=register BZFlag forums registration page].&lt;br /&gt;
&lt;br /&gt;
===Running the game===&lt;br /&gt;
&lt;br /&gt;
Once the game is installed, it must be run to play.&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
Windows users that have installed the game with the provided installer will find a shortcut to the game in the start menu, under program files. Users simply have to click this shortcut to start the game.&lt;br /&gt;
&lt;br /&gt;
====Mac OS X====&lt;br /&gt;
Macintosh users simply have to double click the BZFlag icon that they dragged to their Applications folder to start the game.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
Linux, and other unix based platforms can start the game by typing the command &#039;&#039;&#039;bzflag&#039;&#039;&#039; in a terminal.&lt;br /&gt;
&lt;br /&gt;
===Joining a game===&lt;br /&gt;
When the game is first started it will show the main menu screen. Users navigate the menu by using the Up and Down arrow keys to highlight a menu item, and using the enter key to select and activate the highlighted item.  The red tank on the left visually depicts what command line is the current focus.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
====Main Menu====&lt;br /&gt;
The main menu includes a number of menu items that lead to sub menus. The most important menu for new players is the &#039;&#039;&#039;Join Game&#039;&#039;&#039; item.&lt;br /&gt;
|[[Image:MainMenu.png|right|thumb|300px|The Main Menu]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====Join Game Menu====&lt;br /&gt;
Users wishing to join an internet game in progress should choose the &#039;&#039;&#039;Join Game&#039;&#039;&#039; item from the main menu.&lt;br /&gt;
&lt;br /&gt;
On the first run of the game software all the fields in the &#039;&#039;&#039;Join Game&#039;&#039;&#039; Menu will be empty. Players need to use the arrow keys to highlight the &#039;&#039;&#039;Callsign&#039;&#039;&#039; item and input a player name. This name will be how other players see the user. Registered users should use the same callsign that they registered when playing. Registered users should also enter in their password into the item marked &#039;&#039;&#039;Password&#039;&#039;&#039;. This password is only used for to verify your identity and is NEVER sent to the game server.  The &#039;&#039;&#039;E-mail&#039;&#039;&#039; entry is optional and is usually used to put a personalized message, like a signature, by many users.&lt;br /&gt;
&lt;br /&gt;
Once the callsign, password, and optional email sections have been filled out, the up and down arrows should be used to move up to the &#039;&#039;&#039;Find Server&#039;&#039;&#039; that is on top of this page.  This is how you choose an existing, running server to play on.  The &#039;&#039;&#039;Start Server&#039;&#039;&#039; option on the bottom of this page is for running a server off your own machine, generally for more advanced users.  Hitting enter on &#039;&#039;&#039;Find Server&#039;&#039;&#039; will give you a list of BZ Flag games that are hosted on the internet by other users. There are often over 300 servers to choose from.  The various types of games are explained in the objectives section below.&lt;br /&gt;
&lt;br /&gt;
|[[Image:JoinGame.png|right|thumb|300px|]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====Server List====&lt;br /&gt;
The server list menu shows a listing of all publicly available internet games. The list is sorted by the number of players on each server at any time, and will dynamically change over time. The servers with the highest player counts will always be at the top of the list.&lt;br /&gt;
&lt;br /&gt;
The various servers can be highlighted using the arrow keys, and additional information about the highlighted game will be shown at the top of the screen. Once the user has chosen a server to join they must hit the enter key to select the server and return to the Join Game Menu.&lt;br /&gt;
&lt;br /&gt;
|[[Image:ServerList.png|right|thumb|300px|The Serverlist]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====Entering a Game====&lt;br /&gt;
When a server is choosen from the Server List, it&#039;s information will be automatically entered into the appropriate fields in the Join Game menu. The user may then choose a team color, or leave the setting on automatic if they wish the server to assign them to a team.&lt;br /&gt;
&lt;br /&gt;
When all the information is entered, the user simply has to choose connect menu item, and they will join the game. If additional textures or resources are needed to join the game, they will be downloaded automatically.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====Playing BZFlag====&lt;br /&gt;
Once the user has joined the game they will be able to enjoy the gameplay that has made BZFlag one of the most popular open source games in history.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====Controls=====&lt;br /&gt;
The basic controls for the game are rather simple.&lt;br /&gt;
&lt;br /&gt;
By default the mouse is used for movement. Moving the mouse up and down will move the tank forwards and backwards, while moving the mouse left and right will cause the tank to turn in that direction. Returning the mouse to the center of the screen will cause the tank to stop moving.&lt;br /&gt;
&lt;br /&gt;
The left mouse button is used to fire the tank&#039;s weapon.&lt;br /&gt;
&lt;br /&gt;
Optionally the keyboard can be used. The arrow keys control movement in the same way as the mouse, and the space bar is used to drop the flag you are carrying. The &#039;enter&#039; key is used to fire the tanks weapon&lt;br /&gt;
&lt;br /&gt;
Some servers offer a feature that allows tanks to jump. The &#039;&#039;tab&#039;&#039; key is used to start a small jump into the air. When jumping a tank normally can not change its speed or direction until it lands. Depending on the map, it may be possible for tanks to jump and land on various world objects and continue to fight.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====Objective=====&lt;br /&gt;
BZFlag is a team game, and has various objectives depending on the game type.&lt;br /&gt;
&lt;br /&gt;
The default game type is &#039;&#039;&#039;Free For All&#039;&#039;&#039;, commonly abbreviated as &#039;&#039;FFA&#039;&#039;. This mode is similar to a team death match in other first person shooting type games. The objective is to destroy as many tanks as possible on other teams, while minimizing your own losses. Tanks are destroyed by being shot, in most cases one shot is all it takes to kill an enemy tank.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Capture the Flag&#039;&#039;&#039;, commonly abbreviated as &#039;&#039;CTF&#039;&#039;, is another common game type. Its objective is to pick up the flag from an opposing team&#039;s base and return it to your base.  This is known as capping, where all the members of the team whose flag you are capping are destroyed when you return their flag and land on your home base. Just as in the Free for All game, you shoot at the opposing teams tanks.&lt;br /&gt;
&lt;br /&gt;
The least common type of game is &#039;&#039;&#039;Rabbit Hunt&#039;&#039;&#039;. In this game mode, one user is a white-colored  &#039;&#039;&#039;rabbit&#039;&#039;&#039; tank, and everyone else is a orange-colored &#039;&#039;&#039;hunter&#039;&#039;&#039; tank. The &#039;&#039;&#039;hunter&#039;&#039;&#039; tank(s) must chase and kill the rabbit tank. The &#039;&#039;&#039;hunter&#039;&#039;&#039; tank which kills the &#039;&#039;&#039;rabbit&#039;&#039;&#039; tank then becomes the &#039;&#039;&#039;rabbit&#039;&#039;&#039; tank, although there is the rarer randomly generated &#039;&#039;&#039;rabbit&#039;&#039;&#039;, particularly when the &#039;&#039;&#039;rabbit&#039;&#039;&#039; and &#039;&#039;&#039;hunter&#039;&#039;&#039; are destroyed at the same time.&lt;br /&gt;
&lt;br /&gt;
There are also a variety of games designed to practice some particular skill.  A few of these are jumping/climbing skills, wings/flying skills, mazes with puzzles to figure out, racing courses, and dodging bullets without jumping allowed. &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====Non-Standard Teams=====&lt;br /&gt;
&lt;br /&gt;
Usually, you may not shoot members of your own team. But, there is one exception to this rule, called the &#039;&#039;&#039;rogue&#039;&#039;&#039; team. &#039;&#039;&#039;Rogue&#039;&#039;&#039; tanks are black in the view window, and yellow on the radar. They may shoot their &amp;quot;teammates&amp;quot;, and gain points for it. This is because &#039;&#039;&#039;rogue&#039;&#039;&#039; tanks   are each on a one-man team of their own. &#039;&#039;&#039;Rogue&#039;&#039;&#039; tanks are usually found on &#039;&#039;&#039;Free For All&#039;&#039;&#039; maps, but are occasionally found on &#039;&#039;&#039;CTF&#039;&#039;&#039; maps.&lt;br /&gt;
|-Rogue.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====Flags=====&lt;br /&gt;
There are four different kinds of flags on an average server:&lt;br /&gt;
* Team flags are colored to correspond with the teams on the map. The idea is to grab the other team&#039;s flag and bring it back to your base.&lt;br /&gt;
* Superflags are &amp;quot;power ups&amp;quot; for your tank. Some examples of superflags can be &#039;&#039;&#039;Guided Missile&#039;&#039;&#039; (Allows your tank to lock onto and shoot others), &#039;&#039;&#039;laser&#039;&#039;&#039; (Allows your tank to shoot an infinitely fast and long laser beam), and &#039;&#039;&#039;Stealth&#039;&#039;&#039; (Your tank does not appear on radar).&lt;br /&gt;
* Bad Flags restrict the movement or actions of your tank. Some bad flags are &#039;&#039;&#039;&#039;No Jumping, Obesity, Trigger Happy,&#039;&#039;&#039; and &#039;&#039;&#039;Left turn only.&#039;&#039;&#039;&lt;br /&gt;
* Antidote flags are flags that appear only when you have a bad flag. Driving over an antidote flag removes the bad flag from your tank.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====Customizing Controls=====&lt;br /&gt;
You can alter most of the controls in the menu (or, if you prefer, by editing the BZFlag config file.)&lt;br /&gt;
In the menu it is located at Options &amp;gt; Input settings &amp;gt; Key mapping&lt;br /&gt;
&lt;br /&gt;
To assign a keystroke, mouse button or joystick button to a particular command select the command with Up or Down arrows, press Enter and press the keystroke or button you wish to associate with that command.&lt;br /&gt;
You can assign two different keystrokes/buttons to a given command, by repeating the assignment process. &lt;br /&gt;
&lt;br /&gt;
Note: you can assign a keystroke or button already in use for a different command, but if you do remember that the old command will be unmapped..&lt;br /&gt;
&lt;br /&gt;
To delete an assignment select the command with Up or Down arrows and press Delete.&lt;br /&gt;
If the command has two assignments, the first (leftmost) assignment is deleted, and the second (rightmost) assignment takes its place.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====Interface Elements=====&lt;br /&gt;
Most of the interface elements can be changed in the GUI settings, or by editing the config file.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
======Scoreboard======&lt;br /&gt;
Once a player has joined a server, they should notice a number of things, including the scoreboard.&lt;br /&gt;
&lt;br /&gt;
Internet games commonly feature between 5 and 20 players. The names of these players will be listed in the scoreboard on the left hand side of the screen. The scoreboard can be hidden and shown by using the &#039;&#039;S&#039;&#039; key. The scoreboard is usually set up to show a players name, score, teamkills, email string, flag, kills/deaths, and the amount of kills/deaths you have scored against that player. For example, in this scoreboard, player &amp;quot;Andrey&amp;quot; has a score of 2, 0 teamkills, and email string of &amp;quot;Andrey@andreypc&amp;quot;, has the SW (shock wave) flag, has 8 kills, 6 deaths, and has been killed by player &amp;quot;me1&amp;quot; 0 times, and has killed player &amp;quot;me1&amp;quot; once. Flags whose names are in white are powerful flags. Team flags are always the color of that team on the scoreboard. Other flags are just the same color as the player using them.&lt;br /&gt;
&lt;br /&gt;
|[[Image:Scoreboard.jpg|right|thumb|300px|The Scoreboard]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
======Team Scoreboard======&lt;br /&gt;
There is also a scoreboard for team scores. In FFA this shows the kills, deaths, and overall score. In CTF this shows the amount of flags that team has captured, and the amount of times their flag was captured, and the score. Also, to the right is the amount of players on that team. The rogue team is never included on the team scoreboard.&lt;br /&gt;
|[[Image:Teamscoreboard.jpg|right|thumb|300px|The Team Scoreboard]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
======Radar======&lt;br /&gt;
The [[Radar]] (In the bottom left), shows a bird&#039;s eye, 2d view of the map. This is useful for dodging bullets, and seeing where other players are in relation to the users&#039; tank. The user&#039;s tank is displayed in the center of the radar, in white. Two lines from the user&#039;s &amp;quot;blip&amp;quot; on the radar represent the user&#039;s FOV (Field of view). The user&#039;s bullets are also displayed in white. Other teams are shown on the radar in their respective color, red shown in red, green shown in green, etc. The rogue team is shown in yellow. Flags are shown as little x&#039;s, and team flags as colored x&#039;s. A square is also around each radar &amp;quot;blip.&amp;quot; This represents height. The larger the square, the higher something is. If a &amp;quot;blip&amp;quot; has an X through it, that tank has a flag.&lt;br /&gt;
&lt;br /&gt;
|[[Image:Radar.jpg|right|thumb|300px|The Radar]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====Sportsmanship====&lt;br /&gt;
&lt;br /&gt;
When playing BZFlag, it is important to keep a few simple rules in mind:&lt;br /&gt;
&lt;br /&gt;
* Players should never shoot tanks on their own team (except for the rogue players).&lt;br /&gt;
* Players should be civil to other players in all respects.&lt;br /&gt;
&lt;br /&gt;
|[[Image:Screenshot1.jpg|right|thumb|300px|A Screenshot of a standard 2.0.9 client playing on Missile War 2]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Getting_Started&amp;diff=6938</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Getting_Started&amp;diff=6938"/>
		<updated>2010-02-15T20:48:03Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: update direct links to Windows and Mac software&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article covers the basics of getting started with BZFlag. It is intended for new players who have just found the game and require assistance. More detailed help can be found on our [[Getting Help]] page.&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
These simple steps have been designed to allow new users to begin playing the game as quickly as possible.&lt;br /&gt;
&lt;br /&gt;
===Downloading and installing the game===&lt;br /&gt;
&lt;br /&gt;
The main thing users need to play is the game software. Users can [[Download]] the software for a number of different [http://en.wikipedia.org/wiki/Operating_system|operating systems].&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
The most common operating system for players is Microsoft Windows. A simple installer can be found at http://sourceforge.net/projects/bzflag/files/bzflag%20win32/2.0.14/bzflag-2.0.14.exe/download . Simply double click the downloaded file to install the game.&lt;br /&gt;
&lt;br /&gt;
====Mac OSX====&lt;br /&gt;
The next most popular system for players is Apple&#039;s MacOS X for the Macintosh family of computers. The version for macs can be found at http://sourceforge.net/projects/bzflag/files/bzflag%20Mac%20OS%20X/2.0.14/BZFlag-2.0.14.dmg/download . Simply drag the BZFlag icon from the mounted DMG to your Applications folder to install the game.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
The project does not distribute a premade binary package for linux, but many linux distrobutions have BZFlag in their package management systems ( APT, YUM, emerge, etc.. ). Linux users can always build the game from the source code. Please see the [[Download|downloads]] page for more information.&lt;br /&gt;
&lt;br /&gt;
===Registering a callsign(Optional)===&lt;br /&gt;
It is not mandatory to register a callsign ( the name a player uses in-game), but it is highly recommended. &lt;br /&gt;
&lt;br /&gt;
A few of the benefits of registering are:&lt;br /&gt;
&lt;br /&gt;
* The callsign is reserved, and can not be used by any other player.&lt;br /&gt;
* Registered users post on the BZFlag forums&lt;br /&gt;
* Registered users can join global groups, and leagues.&lt;br /&gt;
* Many servers require registration to play.&lt;br /&gt;
&lt;br /&gt;
Users that wish to register can simply do so on the BZFlag forums at [http://my.bzflag.org/bb/ucp.php?mode=register&amp;amp;sid=61d6ebbc0f4e1763d94200a18619c0d4 my.bzflag.org/bb]&lt;br /&gt;
&lt;br /&gt;
===Running the game===&lt;br /&gt;
&lt;br /&gt;
Once the game is installed, it must be run to play.&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
Windows users that have installed the game with the provided installer will find a shortcut to the game in the start menu, under program files. Users simply have to click this shortcut to start the game.&lt;br /&gt;
&lt;br /&gt;
====Mac OS X====&lt;br /&gt;
Macintosh users simply have to double click the BZFlag icon that they dragged to their Applications folder to start the game.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
Linux, and other unix based platforms can start the game by typing the command &#039;&#039;&#039;bzflag&#039;&#039;&#039; in a terminal.&lt;br /&gt;
&lt;br /&gt;
===Joining a game===&lt;br /&gt;
When the game is first started it will show the main menu screen. Users navigate the menu by using the Up and Down arrow keys to highlight a menu item, and using the enter key to select and activate the highlighted item.  The red tank on the left visually depicts what command line is the current focus.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
====Main Menu====&lt;br /&gt;
The main menu includes a number of menu items that lead to sub menus. The most important menu for new players is the &#039;&#039;&#039;Join Game&#039;&#039;&#039; item.&lt;br /&gt;
|[[Image:MainMenu.png|right|thumb|300px|The Main Menu]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====Join Game Menu====&lt;br /&gt;
Users wishing to join an internet game in progress should choose the &#039;&#039;&#039;Join Game&#039;&#039;&#039; item from the main menu.&lt;br /&gt;
&lt;br /&gt;
On the first run of the game software all the fields in the &#039;&#039;&#039;Join Game&#039;&#039;&#039; Menu will be empty. Players need to use the arrow keys to highlight the &#039;&#039;&#039;Callsign&#039;&#039;&#039; item and input a player name. This name will be how other players see the user. Registered users should use the same callsign that they registered when playing. Registered users should also enter in their password into the item marked &#039;&#039;&#039;Password&#039;&#039;&#039;. This password is only used for to verify your identity and is NEVER sent to the game server.  The &#039;&#039;&#039;E-mail&#039;&#039;&#039; entry is optional and is usually used to put a personalized message, like a signature, by many users.&lt;br /&gt;
&lt;br /&gt;
Once the callsign, password, and optional email sections have been filled out, the up and down arrows should be used to move up to the &#039;&#039;&#039;Find Server&#039;&#039;&#039; that is on top of this page.  This is how you choose an existing, running server to play on.  The &#039;&#039;&#039;Start Server&#039;&#039;&#039; option on the bottom of this page is for running a server off your own machine, generally for more advanced users.  Hitting enter on &#039;&#039;&#039;Find Server&#039;&#039;&#039; will give you a list of BZ Flag games that are hosted on the internet by other users. There are often over 300 servers to choose from.  The various types of games are explained in the objectives section below.&lt;br /&gt;
&lt;br /&gt;
|[[Image:JoinGame.png|right|thumb|300px|]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====Server List====&lt;br /&gt;
The server list menu shows a listing of all publicly available internet games. The list is sorted by the number of players on each server at any time, and will dynamically change over time. The servers with the highest player counts will always be at the top of the list.&lt;br /&gt;
&lt;br /&gt;
The various servers can be highlighted using the arrow keys, and additional information about the highlighted game will be shown at the top of the screen. Once the user has chosen a server to join they must hit the enter key to select the server and return to the Join Game Menu.&lt;br /&gt;
&lt;br /&gt;
|[[Image:ServerList.png|right|thumb|300px|The Serverlist]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====Entering a Game====&lt;br /&gt;
When a server is choosen from the Server List, it&#039;s information will be automatically entered into the appropriate fields in the Join Game menu. The user may then choose a team color, or leave the setting on automatic if they wish the server to assign them to a team.&lt;br /&gt;
&lt;br /&gt;
When all the information is entered, the user simply has to choose connect menu item, and they will join the game. If additional textures or resources are needed to join the game, they will be downloaded automatically.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====Playing BZFlag====&lt;br /&gt;
Once the user has joined the game they will be able to enjoy the gameplay that has made BZFlag one of the most popular open source games in history.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====Controls=====&lt;br /&gt;
The basic controls for the game are rather simple.&lt;br /&gt;
&lt;br /&gt;
By default the mouse is used for movement. Moving the mouse up and down will move the tank forwards and backwards, while moving the mouse left and right will cause the tank to turn in that direction. Returning the mouse to the center of the screen will cause the tank to stop moving.&lt;br /&gt;
&lt;br /&gt;
The left mouse button is used to fire the tank&#039;s weapon.&lt;br /&gt;
&lt;br /&gt;
Optionally the keyboard can be used. The arrow keys control movement in the same way as the mouse, and the space bar is used to drop the flag you are carrying. The &#039;enter&#039; key is used to fire the tanks weapon&lt;br /&gt;
&lt;br /&gt;
Some servers offer a feature that allows tanks to jump. The &#039;&#039;tab&#039;&#039; key is used to start a small jump into the air. When jumping a tank normally can not change its speed or direction until it lands. Depending on the map, it may be possible for tanks to jump and land on various world objects and continue to fight.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====Objective=====&lt;br /&gt;
BZFlag is a team game, and has various objectives depending on the game type.&lt;br /&gt;
&lt;br /&gt;
The default game type is &#039;&#039;&#039;Free For All&#039;&#039;&#039;, commonly abbreviated as &#039;&#039;FFA&#039;&#039;. This mode is similar to a team death match in other first person shooting type games. The objective is to destroy as many tanks as possible on other teams, while minimizing your own losses. Tanks are destroyed by being shot, in most cases one shot is all it takes to kill an enemy tank.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Capture the Flag&#039;&#039;&#039;, commonly abbreviated as &#039;&#039;CTF&#039;&#039;, is another common game type. Its objective is to pick up the flag from an opposing team&#039;s base and return it to your base.  This is known as capping, where all the members of the team whose flag you are capping are destroyed when you return their flag and land on your home base. Just as in the Free for All game, you shoot at the opposing teams tanks.&lt;br /&gt;
&lt;br /&gt;
The least common type of game is &#039;&#039;&#039;Rabbit Hunt&#039;&#039;&#039;. In this game mode, one user is a white-colored  &#039;&#039;&#039;rabbit&#039;&#039;&#039; tank, and everyone else is a orange-colored &#039;&#039;&#039;hunter&#039;&#039;&#039; tank. The &#039;&#039;&#039;hunter&#039;&#039;&#039; tank(s) must chase and kill the rabbit tank. The &#039;&#039;&#039;hunter&#039;&#039;&#039; tank which kills the &#039;&#039;&#039;rabbit&#039;&#039;&#039; tank then becomes the &#039;&#039;&#039;rabbit&#039;&#039;&#039; tank, although there is the rarer randomly generated &#039;&#039;&#039;rabbit&#039;&#039;&#039;, particularly when the &#039;&#039;&#039;rabbit&#039;&#039;&#039; and &#039;&#039;&#039;hunter&#039;&#039;&#039; are destroyed at the same time.&lt;br /&gt;
&lt;br /&gt;
There are also a variety of games designed to practice some particular skill.  A few of these are jumping/climbing skills, wings/flying skills, mazes with puzzles to figure out, racing courses, and dodging bullets without jumping allowed. &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====Non-Standard Teams=====&lt;br /&gt;
&lt;br /&gt;
Usually, you may not shoot members of your own team. But, there is one exception to this rule, called the &#039;&#039;&#039;rogue&#039;&#039;&#039; team. &#039;&#039;&#039;Rogue&#039;&#039;&#039; tanks are black in the view window, and yellow on the radar. They may shoot their &amp;quot;teammates&amp;quot;, and gain points for it. This is because &#039;&#039;&#039;rogue&#039;&#039;&#039; tanks   are each on a one-man team of their own. &#039;&#039;&#039;Rogue&#039;&#039;&#039; tanks are usually found on &#039;&#039;&#039;Free For All&#039;&#039;&#039; maps, but are occasionally found on &#039;&#039;&#039;CTF&#039;&#039;&#039; maps.&lt;br /&gt;
|-Rogue.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====Flags=====&lt;br /&gt;
There are four different kinds of flags on an average server:&lt;br /&gt;
* Team flags are colored to correspond with the teams on the map. The idea is to grab the other team&#039;s flag and bring it back to your base.&lt;br /&gt;
* Superflags are &amp;quot;power ups&amp;quot; for your tank. Some examples of superflags can be &#039;&#039;&#039;Guided Missile&#039;&#039;&#039; (Allows your tank to lock onto and shoot others), &#039;&#039;&#039;laser&#039;&#039;&#039; (Allows your tank to shoot an infinitely fast and long laser beam), and &#039;&#039;&#039;Stealth&#039;&#039;&#039; (Your tank does not appear on radar).&lt;br /&gt;
* Bad Flags restrict the movement or actions of your tank. Some bad flags are &#039;&#039;&#039;&#039;No Jumping, Obesity, Trigger Happy,&#039;&#039;&#039; and &#039;&#039;&#039;Left turn only.&#039;&#039;&#039;&lt;br /&gt;
* Antidote flags are flags that appear only when you have a bad flag. Driving over an antidote flag removes the bad flag from your tank.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====Customizing Controls=====&lt;br /&gt;
You can alter most of the controls in the menu (or, if you prefer, by editing the BZFlag config file.)&lt;br /&gt;
In the menu it is located at Options &amp;gt; Input settings &amp;gt; Key mapping&lt;br /&gt;
&lt;br /&gt;
To assign a keystroke, mouse button or joystick button to a particular command select the command with Up or Down arrows, press Enter and press the keystroke or button you wish to associate with that command.&lt;br /&gt;
You can assign two different keystrokes/buttons to a given command, by repeating the assignment process. &lt;br /&gt;
&lt;br /&gt;
Note: you can assign a keystroke or button already in use for a different command, but if you do remember that the old command will be unmapped..&lt;br /&gt;
&lt;br /&gt;
To delete an assignment select the command with Up or Down arrows and press Delete.&lt;br /&gt;
If the command has two assignments, the first (leftmost) assignment is deleted, and the second (rightmost) assignment takes its place.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
=====Interface Elements=====&lt;br /&gt;
Most of the interface elements can be changed in the GUI settings, or by editing the config file.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
======Scoreboard======&lt;br /&gt;
Once a player has joined a server, they should notice a number of things, including the scoreboard.&lt;br /&gt;
&lt;br /&gt;
Internet games commonly feature between 5 and 20 players. The names of these players will be listed in the scoreboard on the left hand side of the screen. The scoreboard can be hidden and shown by using the &#039;&#039;S&#039;&#039; key. The scoreboard is usually set up to show a players name, score, teamkills, email string, flag, kills/deaths, and the amount of kills/deaths you have scored against that player. For example, in this scoreboard, player &amp;quot;Andrey&amp;quot; has a score of 2, 0 teamkills, and email string of &amp;quot;Andrey@andreypc&amp;quot;, has the SW (shock wave) flag, has 8 kills, 6 deaths, and has been killed by player &amp;quot;me1&amp;quot; 0 times, and has killed player &amp;quot;me1&amp;quot; once. Flags whose names are in white are powerful flags. Team flags are always the color of that team on the scoreboard. Other flags are just the same color as the player using them.&lt;br /&gt;
&lt;br /&gt;
|[[Image:Scoreboard.jpg|right|thumb|300px|The Scoreboard]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
======Team Scoreboard======&lt;br /&gt;
There is also a scoreboard for team scores. In FFA this shows the kills, deaths, and overall score. In CTF this shows the amount of flags that team has captured, and the amount of times their flag was captured, and the score. Also, to the right is the amount of players on that team. The rogue team is never included on the team scoreboard.&lt;br /&gt;
|[[Image:Teamscoreboard.jpg|right|thumb|300px|The Team Scoreboard]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
======Radar======&lt;br /&gt;
The [[Radar]] (In the bottom left), shows a bird&#039;s eye, 2d view of the map. This is useful for dodging bullets, and seeing where other players are in relation to the users&#039; tank. The user&#039;s tank is displayed in the center of the radar, in white. Two lines from the user&#039;s &amp;quot;blip&amp;quot; on the radar represent the user&#039;s FOV (Field of view). The user&#039;s bullets are also displayed in white. Other teams are shown on the radar in their respective color, red shown in red, green shown in green, etc. The rogue team is shown in yellow. Flags are shown as little x&#039;s, and team flags as colored x&#039;s. A square is also around each radar &amp;quot;blip.&amp;quot; This represents height. The larger the square, the higher something is. If a &amp;quot;blip&amp;quot; has an X through it, that tank has a flag.&lt;br /&gt;
&lt;br /&gt;
|[[Image:Radar.jpg|right|thumb|300px|The Radar]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
====Sportsmanship====&lt;br /&gt;
&lt;br /&gt;
When playing BZFlag, it is important to keep a few simple rules in mind:&lt;br /&gt;
&lt;br /&gt;
* Players should never shoot tanks on their own team (except for the rogue players).&lt;br /&gt;
* Players should be civil to other players in all respects.&lt;br /&gt;
&lt;br /&gt;
|[[Image:Screenshot1.jpg|right|thumb|300px|A Screenshot of a standard 2.0.9 client playing on Missile War 2]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFlag_2.0.14&amp;diff=6936</id>
		<title>BZFlag 2.0.14</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=BZFlag_2.0.14&amp;diff=6936"/>
		<updated>2010-02-14T23:27:45Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Change Log */ include final 2.0.14 changelog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BZFlag version 2.0.14 &#039;&#039;&#039;&amp;quot;This isn&#039;t the release you are looking for&amp;quot;&#039;&#039;&#039;, is the current maintenance version of the BZFlag game for Windows, Apple OSX, and Linux. It was released on 02/15/2010.&lt;br /&gt;
It is being released primarily to fix a number of small issues that have been found in 2.0.12, and to replace the fonts due to licensing issues. The version is also being used to provide a set of binary updates for Windows and OSX, most notably support for Intel based Macintosh computers.&lt;br /&gt;
&lt;br /&gt;
The version contains no new major features, but does have a few bugfixes and back-ports from Version 3.&lt;br /&gt;
&lt;br /&gt;
==Change Log==&lt;br /&gt;
* Add Options -&amp;gt; Display -&amp;gt; AntiFlicker option - trepan&lt;br /&gt;
* Add Options -&amp;gt; Input -&amp;gt; Confine Mouse (MotionBox) - trepan&lt;br /&gt;
* Adjust advanced ground rendering for texture flicker - trepan&lt;br /&gt;
* Change the default stencil bitplanes to 1 to fix stencil shadows and various other stencil features - trepan&lt;br /&gt;
* Backport fix for /idbanlist and /hostbanlist crashes - trepan&lt;br /&gt;
* Add support for gcc-4.4 and libtool-2.2 - Jeff Makey&lt;br /&gt;
* Update to Microsoft Visual C++ 9 from 8.0 - Jeff Myers&lt;br /&gt;
* Update to directInput 8 from 7 - Jeff Myers&lt;br /&gt;
* Fix player ghosting failure - Steven Mertens&lt;br /&gt;
* Provide API support for using bz_moveFlag on team flags - Scott Wichser&lt;br /&gt;
* Add pushstats plugin for future statistics gathering system - Jeff Myers&lt;br /&gt;
* Increase restrictions on incompletely joined players - Jeff Myers, Scott W.&lt;br /&gt;
* Announce saved file name in recordmatch plugin - Jeff Makey&lt;br /&gt;
* Fix buffer overflow in menu subsystem - Jeff Myers&lt;br /&gt;
* Fully support glob-style wildcards in hostbans and make name comparisons case insensitive - Bryan Jennings&lt;br /&gt;
* Properly limit maximum message size in /showgroup command - Jeff Makey&lt;br /&gt;
* Reset team scores in case of a capture during a countdown - Jeff Makey&lt;br /&gt;
* Block spoofed /me messages - Scott Wichser&lt;br /&gt;
* Keep flags within the world boundary - Jeff Makey&lt;br /&gt;
* Add the &amp;quot;roamView&amp;quot; BZDB variable - trepan&lt;br /&gt;
* Change fonts to DejaVu - Jeff Myers, Tim Riker&lt;br /&gt;
* Source cleanup - Tim Riker&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Versions]]&lt;br /&gt;
[[Category:Releases]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Fastmap&amp;diff=6785</id>
		<title>Fastmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Fastmap&amp;diff=6785"/>
		<updated>2009-11-13T18:27:43Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: minor clarification, link to the correct HTTPServer page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When the BZFlag client downloads a server map via its usual TCP connection, the speed is limited by the server to 1 KB per frame.  This can cause large maps to take many seconds to download, straining the patience of eager players.&lt;br /&gt;
&lt;br /&gt;
The fastmap plugin provides for the transfer of the server&#039;s BZW map file in a separate HTTP connection, allowing much faster download (hence the name, fastmap).  No changes to the map file are required to take advantage of this.&lt;br /&gt;
&lt;br /&gt;
This plugin requires the [[HTTPServer]] plugin to either be in the same directory as fastmap.so, or to be previously loaded.  Unlike other HTTP server plugins, fastmap does not create a virtual directory.&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Fastmap&amp;diff=6784</id>
		<title>Fastmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Fastmap&amp;diff=6784"/>
		<updated>2009-11-12T18:27:39Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: substantial rewrite for clarity&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When the BZFlag client downloads a server map via its usual TCP connection, the speed is limited by the server to 1 KB per frame.  This can cause large maps to take many seconds to download, straining the patience of eager players.&lt;br /&gt;
&lt;br /&gt;
The fastmap plugin provides for the transfer of the server&#039;s BZW map file in a separate HTTP connection, allowing much faster download (hence the name, fastmap).  No changes to the map file are required to take advantage of this.&lt;br /&gt;
&lt;br /&gt;
This plugin requires the [[HTTPServer plugin]] to either be in the same directory as fastmap.so, or to be previously loaded.  Unlike other HTTPD plugins, Fastmap does not create a virtual directory.&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Replay_Server&amp;diff=6780</id>
		<title>Replay Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Replay_Server&amp;diff=6780"/>
		<updated>2009-11-12T00:14:26Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Recording Setup */ put sample code in italics&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Replay&amp;quot; is a feature that allows admins to record a match to a circular buffer and optionally store a portion of the recording to a file.&lt;br /&gt;
&lt;br /&gt;
== Recording Setup ==&lt;br /&gt;
To prepare your server to allow recording to a file, make sure to specify &#039;&#039;-recdir /path/to/record/dir&#039;&#039;,  make sure /path/to/record/dir is writable by the same user that bzfs is running as.  Without the &#039;&#039;-recdir&#039;&#039; option, replay files will be saved in a directory named &#039;&#039;recordings&#039;&#039; in the parent directory above your [[Config File]] (&#039;&#039;~/.bzf/recordings&#039;&#039; on Linux systems, for example).&lt;br /&gt;
&lt;br /&gt;
It may also be a good idea to limit the size of the record buffer (this is taken from RAM), and will also automatically start the record buffer with the specified size (in Megabytes).  For instance &#039;&#039;-recbuf 16&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Replay Setup ==&lt;br /&gt;
Although you could restart your server in replay mode each time you&#039;d like to playback a match, its recommended that you run a separate server on a separate port as a replay server.  Again, you must specify &#039;&#039;-recdir /path/to/record/dir&#039;&#039;, but for replay mode also specify the &#039;&#039;-replay&#039;&#039; command line option.  If you want this to be a public server, consider using the &#039;&#039;-advertise&#039;&#039; option to advertise only to your admin group(s).&lt;br /&gt;
&lt;br /&gt;
== How to Record ==&lt;br /&gt;
If during the game, you see something you&#039;d like to record, first you must be in a group with the &#039;&#039;&#039;RECORD&#039;&#039;&#039; privilege.  Use the &#039;&#039;/record save &amp;lt;filename&amp;gt; [seconds]&#039;&#039; command.  [seconds] is how many seconds you&#039;d like to go back into the buffer to save to disk.  If this recording is for administrative purposes, it may be a good idea to use a descriptive name for the filename.  Try using playername.offense.ipaddress.  This will help others who view the file know who they should be watching during playback.  If it is for a league match, try using team1name.vs.team2name.&lt;br /&gt;
&lt;br /&gt;
== How to Playback ==&lt;br /&gt;
Once you&#039;ve made your recording, log into your playback server, and use the &#039;&#039;/replay list&#039;&#039; command, which will give you a directory listing of the directory you specified with &#039;&#039;-recdir&#039;&#039;.  Once you see the file you&#039;d like to lay back, take note of the filename, or the #index, then use the &#039;&#039;/replay load filename&#039;&#039; or &#039;&#039;/replay load #index&#039;&#039; to load the file.  If you load a file that isn&#039;t compatible with the map currently loaded on the server, you&#039;ll get a message like this:&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
 SERVER: An incompatible recording has been loaded&lt;br /&gt;
 SERVER: Please rejoin or face the consequences (client crashes)&lt;br /&gt;
|}&lt;br /&gt;
If you see this message, simply rejoin.  If you don&#039;t your client will close/crash.  If that happens, don&#039;t fret, just start it back up and it&#039;ll work fine.  When you&#039;re ready to start do &#039;&#039;/replay play&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Command Reference ==&lt;br /&gt;
&lt;br /&gt;
The instructions above will get you started, but there are many more commands that may prove useful.  Below is an explanation of each.&lt;br /&gt;
{|{{Prettytable}}&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;/record list &#039;&#039;&#039;&lt;br /&gt;
|List all files in the recordings directory &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record start &#039;&#039;&#039;&lt;br /&gt;
|Start recording into the memory buffer &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record stop &#039;&#039;&#039;&lt;br /&gt;
|Stop recording into the memory buffer &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record size &amp;lt;megabytes&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
|Set the size of the recording memory buffer &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record rate &amp;lt;seconds&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
|Set the time between game state updates stored in the recording. This will affect the granularity of the &#039;skips&#039; you can do while replaying a file. It will also make the recording files bigger if it is set to a faster update rate. &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record stats &#039;&#039;&#039;&lt;br /&gt;
|Display the statistics for the current recording (file or buffered) &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record file &amp;lt;filename&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
|Start recording directly to a file &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record&amp;amp;nbsp;save&amp;amp;nbsp;&amp;lt;filename&amp;gt;&amp;amp;nbsp;[seconds] &#039;&#039;&#039;&lt;br /&gt;
|Save the recording buffer into a file. If seconds is specified, then only save that many previous seconds into the file. &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay list &#039;&#039;&#039;&lt;br /&gt;
|List all files in the recordings directory &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay load &amp;lt;nowiki&amp;gt;&amp;lt;filename|#index&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|Load the specified recording file by name, or by index (same indices as produced by the &#039;replay list&#039; command) &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay loop&#039;&#039;&#039;&lt;br /&gt;
|Same as &#039;&#039;/replay play&#039;&#039; except recording will wrap at the end and play in a loop&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay pause&#039;&#039;&#039;&lt;br /&gt;
|Pause the replay. When you use this, the recording appears to all go [nr] (not responding), to unpause, use the &#039;&#039;&#039;/replay play&#039;&#039;&#039; command. &#039;&#039;(undocumented in game)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay play &#039;&#039;&#039;&lt;br /&gt;
|Start playing the recording. This will oftentimes require that all players connected to the server rejoin (to reload the map, etc...) &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay skip [+/- seconds] &#039;&#039;&#039;&lt;br /&gt;
|If seconds is specified, then skip that amount of time in the recording. Otherwise, skip forwards until there is activity. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Replay File Contents ==&lt;br /&gt;
&lt;br /&gt;
In addition to all of the movement information necessary to recreate a game, saved replay files include all of the commands sent by clients.  This means that team chat, private messages, and any /password commands are all there to be seen by anyone with access to a replay file.  Please be careful when sharing replay files to avoid unwanted exposure of private conversations or the server password.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Replay_Server&amp;diff=6779</id>
		<title>Replay Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Replay_Server&amp;diff=6779"/>
		<updated>2009-11-12T00:11:34Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Recording Setup */ tell where to find replay files in the absence of -recdir&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Replay&amp;quot; is a feature that allows admins to record a match to a circular buffer and optionally store a portion of the recording to a file.&lt;br /&gt;
&lt;br /&gt;
== Recording Setup ==&lt;br /&gt;
To prepare your server to allow recording to a file, make sure to specify &#039;&#039;-recdir /path/to/record/dir&#039;&#039;,  make sure /path/to/record/dir is writable by the same user that bzfs is running as.  Without the -recdir option, replay files will be saved in a directory named &amp;quot;recordings&amp;quot; in the parent directory above your [[Config File]] (~/.bzf/recordings on Linux systems, for example).&lt;br /&gt;
&lt;br /&gt;
It may also be a good idea to limit the size of the record buffer (this is taken from RAM), and will also automatically start the record buffer with the specified size (in Megabytes).  For instance &#039;&#039;-recbuf 16&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Replay Setup ==&lt;br /&gt;
Although you could restart your server in replay mode each time you&#039;d like to playback a match, its recommended that you run a separate server on a separate port as a replay server.  Again, you must specify &#039;&#039;-recdir /path/to/record/dir&#039;&#039;, but for replay mode also specify the &#039;&#039;-replay&#039;&#039; command line option.  If you want this to be a public server, consider using the &#039;&#039;-advertise&#039;&#039; option to advertise only to your admin group(s).&lt;br /&gt;
&lt;br /&gt;
== How to Record ==&lt;br /&gt;
If during the game, you see something you&#039;d like to record, first you must be in a group with the &#039;&#039;&#039;RECORD&#039;&#039;&#039; privilege.  Use the &#039;&#039;/record save &amp;lt;filename&amp;gt; [seconds]&#039;&#039; command.  [seconds] is how many seconds you&#039;d like to go back into the buffer to save to disk.  If this recording is for administrative purposes, it may be a good idea to use a descriptive name for the filename.  Try using playername.offense.ipaddress.  This will help others who view the file know who they should be watching during playback.  If it is for a league match, try using team1name.vs.team2name.&lt;br /&gt;
&lt;br /&gt;
== How to Playback ==&lt;br /&gt;
Once you&#039;ve made your recording, log into your playback server, and use the &#039;&#039;/replay list&#039;&#039; command, which will give you a directory listing of the directory you specified with &#039;&#039;-recdir&#039;&#039;.  Once you see the file you&#039;d like to lay back, take note of the filename, or the #index, then use the &#039;&#039;/replay load filename&#039;&#039; or &#039;&#039;/replay load #index&#039;&#039; to load the file.  If you load a file that isn&#039;t compatible with the map currently loaded on the server, you&#039;ll get a message like this:&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
 SERVER: An incompatible recording has been loaded&lt;br /&gt;
 SERVER: Please rejoin or face the consequences (client crashes)&lt;br /&gt;
|}&lt;br /&gt;
If you see this message, simply rejoin.  If you don&#039;t your client will close/crash.  If that happens, don&#039;t fret, just start it back up and it&#039;ll work fine.  When you&#039;re ready to start do &#039;&#039;/replay play&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Command Reference ==&lt;br /&gt;
&lt;br /&gt;
The instructions above will get you started, but there are many more commands that may prove useful.  Below is an explanation of each.&lt;br /&gt;
{|{{Prettytable}}&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;/record list &#039;&#039;&#039;&lt;br /&gt;
|List all files in the recordings directory &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record start &#039;&#039;&#039;&lt;br /&gt;
|Start recording into the memory buffer &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record stop &#039;&#039;&#039;&lt;br /&gt;
|Stop recording into the memory buffer &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record size &amp;lt;megabytes&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
|Set the size of the recording memory buffer &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record rate &amp;lt;seconds&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
|Set the time between game state updates stored in the recording. This will affect the granularity of the &#039;skips&#039; you can do while replaying a file. It will also make the recording files bigger if it is set to a faster update rate. &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record stats &#039;&#039;&#039;&lt;br /&gt;
|Display the statistics for the current recording (file or buffered) &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record file &amp;lt;filename&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
|Start recording directly to a file &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record&amp;amp;nbsp;save&amp;amp;nbsp;&amp;lt;filename&amp;gt;&amp;amp;nbsp;[seconds] &#039;&#039;&#039;&lt;br /&gt;
|Save the recording buffer into a file. If seconds is specified, then only save that many previous seconds into the file. &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay list &#039;&#039;&#039;&lt;br /&gt;
|List all files in the recordings directory &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay load &amp;lt;nowiki&amp;gt;&amp;lt;filename|#index&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|Load the specified recording file by name, or by index (same indices as produced by the &#039;replay list&#039; command) &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay loop&#039;&#039;&#039;&lt;br /&gt;
|Same as &#039;&#039;/replay play&#039;&#039; except recording will wrap at the end and play in a loop&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay pause&#039;&#039;&#039;&lt;br /&gt;
|Pause the replay. When you use this, the recording appears to all go [nr] (not responding), to unpause, use the &#039;&#039;&#039;/replay play&#039;&#039;&#039; command. &#039;&#039;(undocumented in game)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay play &#039;&#039;&#039;&lt;br /&gt;
|Start playing the recording. This will oftentimes require that all players connected to the server rejoin (to reload the map, etc...) &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay skip [+/- seconds] &#039;&#039;&#039;&lt;br /&gt;
|If seconds is specified, then skip that amount of time in the recording. Otherwise, skip forwards until there is activity. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Replay File Contents ==&lt;br /&gt;
&lt;br /&gt;
In addition to all of the movement information necessary to recreate a game, saved replay files include all of the commands sent by clients.  This means that team chat, private messages, and any /password commands are all there to be seen by anyone with access to a replay file.  Please be careful when sharing replay files to avoid unwanted exposure of private conversations or the server password.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Replay_Server&amp;diff=6778</id>
		<title>Replay Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Replay_Server&amp;diff=6778"/>
		<updated>2009-11-11T23:58:02Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: add Replay File Contents section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Replay&amp;quot; is a feature that allows admins to record a match to a circular buffer and optionally store a portion of the recording to a file.&lt;br /&gt;
&lt;br /&gt;
== Recording Setup ==&lt;br /&gt;
To prepare your server to allow recording to a file, make sure to specify &#039;&#039;-recdir /path/to/record/dir&#039;&#039;,  make sure /path/to/record/dir is writable by the same user that bzfs is running as.  It may also be a good idea to limit the size of the record buffer (this is taken from RAM), and will also automatically start the record buffer with the specified size (in Megabytes).  For instance &#039;&#039;-recbuf 16&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Replay Setup ==&lt;br /&gt;
Although you could restart your server in replay mode each time you&#039;d like to playback a match, its recommended that you run a separate server on a separate port as a replay server.  Again, you must specify &#039;&#039;-recdir /path/to/record/dir&#039;&#039;, but for replay mode also specify the &#039;&#039;-replay&#039;&#039; command line option.  If you want this to be a public server, consider using the &#039;&#039;-advertise&#039;&#039; option to advertise only to your admin group(s).&lt;br /&gt;
&lt;br /&gt;
== How to Record ==&lt;br /&gt;
If during the game, you see something you&#039;d like to record, first you must be in a group with the &#039;&#039;&#039;RECORD&#039;&#039;&#039; privilege.  Use the &#039;&#039;/record save &amp;lt;filename&amp;gt; [seconds]&#039;&#039; command.  [seconds] is how many seconds you&#039;d like to go back into the buffer to save to disk.  If this recording is for administrative purposes, it may be a good idea to use a descriptive name for the filename.  Try using playername.offense.ipaddress.  This will help others who view the file know who they should be watching during playback.  If it is for a league match, try using team1name.vs.team2name.&lt;br /&gt;
&lt;br /&gt;
== How to Playback ==&lt;br /&gt;
Once you&#039;ve made your recording, log into your playback server, and use the &#039;&#039;/replay list&#039;&#039; command, which will give you a directory listing of the directory you specified with &#039;&#039;-recdir&#039;&#039;.  Once you see the file you&#039;d like to lay back, take note of the filename, or the #index, then use the &#039;&#039;/replay load filename&#039;&#039; or &#039;&#039;/replay load #index&#039;&#039; to load the file.  If you load a file that isn&#039;t compatible with the map currently loaded on the server, you&#039;ll get a message like this:&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
 SERVER: An incompatible recording has been loaded&lt;br /&gt;
 SERVER: Please rejoin or face the consequences (client crashes)&lt;br /&gt;
|}&lt;br /&gt;
If you see this message, simply rejoin.  If you don&#039;t your client will close/crash.  If that happens, don&#039;t fret, just start it back up and it&#039;ll work fine.  When you&#039;re ready to start do &#039;&#039;/replay play&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Command Reference ==&lt;br /&gt;
&lt;br /&gt;
The instructions above will get you started, but there are many more commands that may prove useful.  Below is an explanation of each.&lt;br /&gt;
{|{{Prettytable}}&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;/record list &#039;&#039;&#039;&lt;br /&gt;
|List all files in the recordings directory &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record start &#039;&#039;&#039;&lt;br /&gt;
|Start recording into the memory buffer &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record stop &#039;&#039;&#039;&lt;br /&gt;
|Stop recording into the memory buffer &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record size &amp;lt;megabytes&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
|Set the size of the recording memory buffer &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record rate &amp;lt;seconds&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
|Set the time between game state updates stored in the recording. This will affect the granularity of the &#039;skips&#039; you can do while replaying a file. It will also make the recording files bigger if it is set to a faster update rate. &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record stats &#039;&#039;&#039;&lt;br /&gt;
|Display the statistics for the current recording (file or buffered) &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record file &amp;lt;filename&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
|Start recording directly to a file &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/record&amp;amp;nbsp;save&amp;amp;nbsp;&amp;lt;filename&amp;gt;&amp;amp;nbsp;[seconds] &#039;&#039;&#039;&lt;br /&gt;
|Save the recording buffer into a file. If seconds is specified, then only save that many previous seconds into the file. &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay list &#039;&#039;&#039;&lt;br /&gt;
|List all files in the recordings directory &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay load &amp;lt;nowiki&amp;gt;&amp;lt;filename|#index&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|Load the specified recording file by name, or by index (same indices as produced by the &#039;replay list&#039; command) &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay loop&#039;&#039;&#039;&lt;br /&gt;
|Same as &#039;&#039;/replay play&#039;&#039; except recording will wrap at the end and play in a loop&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay pause&#039;&#039;&#039;&lt;br /&gt;
|Pause the replay. When you use this, the recording appears to all go [nr] (not responding), to unpause, use the &#039;&#039;&#039;/replay play&#039;&#039;&#039; command. &#039;&#039;(undocumented in game)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay play &#039;&#039;&#039;&lt;br /&gt;
|Start playing the recording. This will oftentimes require that all players connected to the server rejoin (to reload the map, etc...) &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;/replay skip [+/- seconds] &#039;&#039;&#039;&lt;br /&gt;
|If seconds is specified, then skip that amount of time in the recording. Otherwise, skip forwards until there is activity. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Replay File Contents ==&lt;br /&gt;
&lt;br /&gt;
In addition to all of the movement information necessary to recreate a game, saved replay files include all of the commands sent by clients.  This means that team chat, private messages, and any /password commands are all there to be seen by anyone with access to a replay file.  Please be careful when sharing replay files to avoid unwanted exposure of private conversations or the server password.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Recordmatch&amp;diff=6774</id>
		<title>Recordmatch</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Recordmatch&amp;diff=6774"/>
		<updated>2009-10-30T16:45:38Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Usage */ Link to instructions for setting up recording.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Recordmatch is a standard [[Plug-ins|plug-in]] that is shipped with the [[BZFlag Source|source code]].  It allows for match games, such as league matches, to be recorded onto the server to be replayed later.  It will automatically record when a game (match) is started, and it will record with a filename given by the current date and time.  Recordmatch is included in [[BZFlag 2.0.6|v2.0.6]] and later releases.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
Before trying to use this plug-in, [[Replay_Server#Recording_Setup|configure]] bzfs to support recording.&lt;br /&gt;
&lt;br /&gt;
When the recordmatch plug-in is loaded, it waits for a match game to be started. When a game is started, it will create a new file to store the recording, named with the current date and time. When the game is ended, it will stop recording and close the file. The plug-in is loaded in the same way as any other and takes no parameters:&lt;br /&gt;
&lt;br /&gt;
 -loadplugin &amp;quot;/path/to/the/plugin/recordmatch&amp;quot;&lt;br /&gt;
&lt;br /&gt;
or with the in game commands if the server is already running:&lt;br /&gt;
&lt;br /&gt;
 /loadplugin &amp;quot;/path/to/the/plugin/recordmatch&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;-loadplugin&amp;quot; syntax is used in the [[sample conf|server configuration]] file or at the command line when invoking a game [[BZFS|server]].&lt;br /&gt;
&lt;br /&gt;
Be sure that you have in the configuration file: &lt;br /&gt;
* -time X (Where X is the number of seconds of a match)&lt;br /&gt;
* -timemanual&lt;br /&gt;
&lt;br /&gt;
==Commands==&lt;br /&gt;
For most match servers for leagues the players will have the following commands:&lt;br /&gt;
&lt;br /&gt;
* /countdown &amp;quot;Will start the match&amp;quot;&lt;br /&gt;
* /gameover    &amp;quot;Will end the match immediately. &lt;br /&gt;
* /timelimit X  &amp;quot;Allows player to change the time limit to X, where X is the number of seconds&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
The BZFS API was changed in the development of [[BZFlag 2.0.6|v2.0.6]] to allow for recordings to be started. Recordmatch is the first plug-in to use the newly-added capability.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Plug-Ins]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=BZFlag_on_IRC&amp;diff=6732</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=6732"/>
		<updated>2009-10-14T05:35:22Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Other projects and unofficial channels */ #hepcat -&amp;gt; ##hepcat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=FreeNode=&lt;br /&gt;
The official BZFlag org. and its 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 projects and unofficial 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;
* #badgerking (Official Channel for Badgerking&#039;s FFA)&lt;br /&gt;
* #BoomBZ (Team Channel for GU team [BoOm])&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;
* ##bzexcess (Support channel for the [http://bzexcess.com BZExcess.com servers.])&lt;br /&gt;
* ##bzflagr (Support channel for the [http://bzflagr.net BZFlagr.net servers.]) - closed down&lt;br /&gt;
* #bzfx (Support channel for the bzfx.net BZFlag 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;
* ##bztank (Unofficial support channel for the [http://bztank.net BZTank.net servers].)&lt;br /&gt;
* #bztraining (Official support channel for the [http://bztraining.org BZTraining server network] and for [http://bznetwork.googlecode.com BZNetwork])&lt;br /&gt;
* ##bzw (A place to discuss map making for BZFlag, including ideas and help)&lt;br /&gt;
* ##divi (Support channel for [http://divi.fairserve.net Divibox] and other [http://fairserve.bzflag.org Fairserve] servers)&lt;br /&gt;
* #dub (Support channel for the dub.bzflag.org BZFlag servers)&lt;br /&gt;
* ##ducleague (Support channel for [http://my.bzflag.org/league/ Ducati League (DucLeague)])&lt;br /&gt;
* #forestforce ([http://gu.bzleague.com/index.php?link=teaminfo&amp;amp;id=10 GULeague Team])&lt;br /&gt;
* ##guleague (Support channel for [http://gu.bzleague.com/ GamesUnited League (GULeague)])&lt;br /&gt;
* ##hepcat (Support channel for borrego.hepcat.org BZFlag server)&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;
* #inleague (Support channel for [http://in.bzleague.com InterNational League (INLeague)])&lt;br /&gt;
* #kas (GULeague team, KAS)&lt;br /&gt;
* ##norang (Support channel for [http://bzflag.norang.ca Norang.ca] BZFlag servers)&lt;br /&gt;
* #pillbox (Support channel for [http://pillbox.bzleague.com/ Pillbox League (PBLeague)])&lt;br /&gt;
* ##planetmofo (Support channel for [http://www.planet-mofo.com planet-mofo.com] servers)&lt;br /&gt;
* #plosileague (Support channel for [http://bzfx.net/league/ Plosileague]) &#039;&#039;defunct&#039;&#039;&lt;br /&gt;
* #silvercat (Support channel for [http://silvercat.bzflag.org/ Silvercat BZFlag servers]) &#039;&#039;defunct&#039;&#039;&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;
When the Freenode Group Management System is implemented, channels with a single # will need to either register their organization with Freenode or rename to begin with ## (a &amp;quot;reference&amp;quot; channel, one that holds no legal claim to the name).&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 (official 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;
=External links=&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>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Plug-ins&amp;diff=6673</id>
		<title>Plug-ins</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Plug-ins&amp;diff=6673"/>
		<updated>2009-09-05T22:35:20Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Third Party Plug-ins */ provide instructions for compiling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BZFS can be built to support the loading of external libraries as plug-ins. These plug-ins can alter or replace the logic applied by the server, as well as automate many common tasks. &lt;br /&gt;
&lt;br /&gt;
Plug-ins are a simpler way to apply modifications to the game, as they do not require the server owner to modify or recompile his/her BZFS application. By using the [[BZFS API]] plug-ins are also able to be mixed and matched in an easy way.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Plug-ins are compile dynamic link libraries, that are built for the same OS/RuntimeEnvironment as the BZFS server that hosts them. On [http://www.microsoft.com/windows Microsoft Windows] they are built as [http://en.wikipedia.org/wiki/Dynamic-link_library DLL] files. On [http://www.linux.org Linux] and other [http://www.unix.org/ Unix]-like systems they are built as .so files.&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
Plug-ins are loaded at startup by the &#039;&#039;&#039;-loadplugin&#039;&#039;&#039; option, or at run time with the &#039;&#039;/loadplugin&#039;&#039; command. If the full path to the plug-in is not specified, then [[BZFS]] will search a number of known sub directories for the plug-in as it attempts to load it. Using a valid path to the plug-in on load is highly recommended. While playing, all plug-ins loaded onto the server are visible with the /listplugins command.&lt;br /&gt;
===Parameters===&lt;br /&gt;
Some plug-ins take parameters that are passed to the plug-in on load. This is often a numeric value, or a path to a file. To pass a parameter to a plug-in, simply add a &#039;,&#039; after the plug-in name or path, and then add the parameter. Parameters can not have spaces, due to the way [[BZFS]] parses command line options and / commands.&lt;br /&gt;
&lt;br /&gt;
On load, plug-ins install a number of callbacks and event handlers with the hosting [[BZFS]] that are called when specific events happen. This allows the plug-in to perform additional actions on these events, or if need be, alter the results of the default logic of the server.&lt;br /&gt;
===Search Paths===&lt;br /&gt;
[[BZFS]] searches for plug-ins in two standard locations: the config directory and the global plug-ins directory.  The config directory is where the BZFlag config.cfg file is located, and the global plug-ins directory is $(prefix)/lib/bzflag/.&lt;br /&gt;
&lt;br /&gt;
==BZFS API==&lt;br /&gt;
All plug-ins are linked to the [[BZFS API]]. This programing layer provides the interface to the BZFS application. All events and functions that a plug-in can call are in the [[BZFS API]].&lt;br /&gt;
&lt;br /&gt;
==Standard plug-ins==&lt;br /&gt;
The [[BZFlag Source]] distribution contains a number of plug-ins that are maintained by the project [http://my.bzflag.org/wiki/index.php/Category:Developer developers].&lt;br /&gt;
These plug-ins are located in the &#039;&#039;/plugins&#039;&#039; directory.&lt;br /&gt;
&lt;br /&gt;
As of August 2009, [[BZFlag SVN|SVN]] TRUNK( version [[BZFlag 3.0|2.99]]) contains the following plug-ins:&lt;br /&gt;
&lt;br /&gt;
*[[airspawn]]&lt;br /&gt;
*[[bzfscron]]&lt;br /&gt;
*[[chathistory]]&lt;br /&gt;
*[[chatlog]]&lt;br /&gt;
*[[customflagsample]]&lt;br /&gt;
*[[fastmap]]&lt;br /&gt;
*[[flagStay]]&lt;br /&gt;
*[[hiddenAdmin]]&lt;br /&gt;
*[[HoldTheFlag]]&lt;br /&gt;
*[[HTTPServer]]&lt;br /&gt;
*[[httpTest]]&lt;br /&gt;
*[[keepaway]]&lt;br /&gt;
*[[killall]]&lt;br /&gt;
*[[koth]]&lt;br /&gt;
*[[logDetail]]&lt;br /&gt;
*[[mapchange]]&lt;br /&gt;
*[[nagware]]&lt;br /&gt;
*[[Phoenix]]&lt;br /&gt;
*[[playHistoryTracker]]&lt;br /&gt;
*[[python(plug-in)|python]]&lt;br /&gt;
*[[rabidRabbit]]&lt;br /&gt;
*[[recordmatch]]&lt;br /&gt;
*[[regFlag]]&lt;br /&gt;
*[[RogueGenocide]]&lt;br /&gt;
*[[SAMPLE_PLUGIN]]&lt;br /&gt;
*[[serverControl]]&lt;br /&gt;
*[[serverSideBotSample]]&lt;br /&gt;
*[[shockwaveDeath]]&lt;br /&gt;
*[[soundTest]]&lt;br /&gt;
*[[teamflagreset]]&lt;br /&gt;
*[[thiefControl]]&lt;br /&gt;
*[[timedctf]]&lt;br /&gt;
*[[torBlock]]&lt;br /&gt;
*[[unrealCTF]]&lt;br /&gt;
*[[weaponArena]]&lt;br /&gt;
*[[webadmin]]&lt;br /&gt;
*[[webReport]]&lt;br /&gt;
*[[webstats]]&lt;br /&gt;
*[[wwzones]]&lt;br /&gt;
&lt;br /&gt;
==Third Party Plug-ins==&lt;br /&gt;
A number of non-developers have created plug-ins for BZFS, and usually release them on the [http://my.bzflag.org/bb/ BZFlag Forums].&lt;br /&gt;
&lt;br /&gt;
Here are the steps to compile a hypothetical third party plug-in named &amp;quot;Example&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
# In the plugins directory of the BZFlag source tree run the command &#039;&#039;&#039;./newplugin.sh Example&#039;&#039;&#039;&lt;br /&gt;
# To save time type &#039;&#039;ctrl/c&#039;&#039; to stop the command when it says &amp;quot;Running autogen.sh, please wait...&amp;quot;&lt;br /&gt;
# Remove all of the files from the newly created plugins/Example directory (they were created by newplugin.sh)&lt;br /&gt;
# Copy all of the distributed Example files into the plugins/Example directory&lt;br /&gt;
# In the top-level BZFlag source directory run &#039;&#039;&#039;autogen.sh&#039;&#039;&#039;, &#039;&#039;&#039;configure&#039;&#039;&#039;, and &#039;&#039;&#039;make&#039;&#039;&#039; as usual&lt;br /&gt;
&lt;br /&gt;
When that finishes successfully the plug-in should be ready to use as described above.&lt;br /&gt;
&lt;br /&gt;
==Plug-in Development==&lt;br /&gt;
{{DoDoc|Describe the basics of plug-in development.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Plug-Ins]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Plug-ins&amp;diff=6672</id>
		<title>Plug-ins</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Plug-ins&amp;diff=6672"/>
		<updated>2009-09-05T22:11:15Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Standard plug-ins */ update the list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BZFS can be built to support the loading of external libraries as plug-ins. These plug-ins can alter or replace the logic applied by the server, as well as automate many common tasks. &lt;br /&gt;
&lt;br /&gt;
Plug-ins are a simpler way to apply modifications to the game, as they do not require the server owner to modify or recompile his/her BZFS application. By using the [[BZFS API]] plug-ins are also able to be mixed and matched in an easy way.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Plug-ins are compile dynamic link libraries, that are built for the same OS/RuntimeEnvironment as the BZFS server that hosts them. On [http://www.microsoft.com/windows Microsoft Windows] they are built as [http://en.wikipedia.org/wiki/Dynamic-link_library DLL] files. On [http://www.linux.org Linux] and other [http://www.unix.org/ Unix]-like systems they are built as .so files.&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
Plug-ins are loaded at startup by the &#039;&#039;&#039;-loadplugin&#039;&#039;&#039; option, or at run time with the &#039;&#039;/loadplugin&#039;&#039; command. If the full path to the plug-in is not specified, then [[BZFS]] will search a number of known sub directories for the plug-in as it attempts to load it. Using a valid path to the plug-in on load is highly recommended. While playing, all plug-ins loaded onto the server are visible with the /listplugins command.&lt;br /&gt;
===Parameters===&lt;br /&gt;
Some plug-ins take parameters that are passed to the plug-in on load. This is often a numeric value, or a path to a file. To pass a parameter to a plug-in, simply add a &#039;,&#039; after the plug-in name or path, and then add the parameter. Parameters can not have spaces, due to the way [[BZFS]] parses command line options and / commands.&lt;br /&gt;
&lt;br /&gt;
On load, plug-ins install a number of callbacks and event handlers with the hosting [[BZFS]] that are called when specific events happen. This allows the plug-in to perform additional actions on these events, or if need be, alter the results of the default logic of the server.&lt;br /&gt;
===Search Paths===&lt;br /&gt;
[[BZFS]] searches for plug-ins in two standard locations: the config directory and the global plug-ins directory.  The config directory is where the BZFlag config.cfg file is located, and the global plug-ins directory is $(prefix)/lib/bzflag/.&lt;br /&gt;
&lt;br /&gt;
==BZFS API==&lt;br /&gt;
All plug-ins are linked to the [[BZFS API]]. This programing layer provides the interface to the BZFS application. All events and functions that a plug-in can call are in the [[BZFS API]].&lt;br /&gt;
&lt;br /&gt;
==Standard plug-ins==&lt;br /&gt;
The [[BZFlag Source]] distribution contains a number of plug-ins that are maintained by the project [http://my.bzflag.org/wiki/index.php/Category:Developer developers].&lt;br /&gt;
These plug-ins are located in the &#039;&#039;/plugins&#039;&#039; directory.&lt;br /&gt;
&lt;br /&gt;
As of August 2009, [[BZFlag SVN|SVN]] TRUNK( version [[BZFlag 3.0|2.99]]) contains the following plug-ins:&lt;br /&gt;
&lt;br /&gt;
*[[airspawn]]&lt;br /&gt;
*[[bzfscron]]&lt;br /&gt;
*[[chathistory]]&lt;br /&gt;
*[[chatlog]]&lt;br /&gt;
*[[customflagsample]]&lt;br /&gt;
*[[fastmap]]&lt;br /&gt;
*[[flagStay]]&lt;br /&gt;
*[[hiddenAdmin]]&lt;br /&gt;
*[[HoldTheFlag]]&lt;br /&gt;
*[[HTTPServer]]&lt;br /&gt;
*[[httpTest]]&lt;br /&gt;
*[[keepaway]]&lt;br /&gt;
*[[killall]]&lt;br /&gt;
*[[koth]]&lt;br /&gt;
*[[logDetail]]&lt;br /&gt;
*[[mapchange]]&lt;br /&gt;
*[[nagware]]&lt;br /&gt;
*[[Phoenix]]&lt;br /&gt;
*[[playHistoryTracker]]&lt;br /&gt;
*[[python(plug-in)|python]]&lt;br /&gt;
*[[rabidRabbit]]&lt;br /&gt;
*[[recordmatch]]&lt;br /&gt;
*[[regFlag]]&lt;br /&gt;
*[[RogueGenocide]]&lt;br /&gt;
*[[SAMPLE_PLUGIN]]&lt;br /&gt;
*[[serverControl]]&lt;br /&gt;
*[[serverSideBotSample]]&lt;br /&gt;
*[[shockwaveDeath]]&lt;br /&gt;
*[[soundTest]]&lt;br /&gt;
*[[teamflagreset]]&lt;br /&gt;
*[[thiefControl]]&lt;br /&gt;
*[[timedctf]]&lt;br /&gt;
*[[torBlock]]&lt;br /&gt;
*[[unrealCTF]]&lt;br /&gt;
*[[weaponArena]]&lt;br /&gt;
*[[webadmin]]&lt;br /&gt;
*[[webReport]]&lt;br /&gt;
*[[webstats]]&lt;br /&gt;
*[[wwzones]]&lt;br /&gt;
&lt;br /&gt;
==Third Party Plug-ins==&lt;br /&gt;
A number of non-developers have created plug-ins for BZFS, and usually release them on the [http://my.bzflag.org/bb/ BZFlag Forums].&lt;br /&gt;
&lt;br /&gt;
==Plug-in Development==&lt;br /&gt;
{{DoDoc|Describe the basics of plug-in development.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Plug-Ins]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=V3RCChecklist&amp;diff=6665</id>
		<title>V3RCChecklist</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=V3RCChecklist&amp;diff=6665"/>
		<updated>2009-09-03T18:28:42Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* RC Critical fixes. */ 32-bit teleporter problem is not critical, and no fix is in sight&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
V3.0 is very close to a release candidate. This page will list the remaining items that need to be addressed before an RC can be made.&lt;br /&gt;
&lt;br /&gt;
==RC Critical fixes.==&lt;br /&gt;
# MsgPause fix  &#039;&#039;&#039;&amp;lt;trepan&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
# Network data is being received or processed by the client in the opposite order causing many odd bugs, such as the motto not being displayed, and possibly causing players&#039; flags from not showing up when you join.&lt;br /&gt;
&lt;br /&gt;
==RC Critical Tasks==&lt;br /&gt;
# Windows installer review (install VC9 runtimes etc..)&lt;br /&gt;
# Linux Package review (new files in the right places )&lt;br /&gt;
# Mac installer review (check it in)&lt;br /&gt;
# Readme Updates&lt;br /&gt;
# Docs for V3 changes (-a missing, caps on server, lag comp, etc..)&lt;br /&gt;
# API review (spelling, consistency)&lt;br /&gt;
# Dead-reckoning / lag-compensation testing &#039;&#039;&#039;&amp;lt;JeffM ? &amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==RC &#039;really nice&#039; features ==&lt;br /&gt;
# Ask user to accept non bzflag.org images &#039;&#039;&#039;&amp;lt;trepan&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
# Ask user to join non bzflag.org servers (MsgJoinServer)  &#039;&#039;&#039;&amp;lt;trepan&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
# Parity mesh checks to replace inside/outside points &#039;&#039;&#039;&amp;lt;trepan&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==RC &#039;really nice&#039; Fixes/Tasks==&lt;br /&gt;
# Webadmin template review ( for style )&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Auto-props&amp;diff=6656</id>
		<title>Auto-props</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Auto-props&amp;diff=6656"/>
		<updated>2009-08-18T05:14:54Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: Add Subversion property specification for .def extension.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Developers should make sure their Subversion auto-props are set correctly before committing to [[SVN]].  This helps preserve the correct line endings across platforms.  This is the &amp;quot;standard&amp;quot; auto-props section we are using (you may of course set your own if you prefer).  You&#039;ll need to edit your config file(s), which varies depending on platform and Subversion client.&lt;br /&gt;
&lt;br /&gt;
For UNIX-like platforms, edit your &#039;&#039;~/.subversion/config&#039;&#039; file to set the auto-props.  For Windows Vista, the path is &#039;&#039;C:\Users\YOUR_USERNAME\AppData\Roaming\Subversion\config&#039;&#039;  And for Windows XP, the path is &#039;&#039;C:\Documents and Settings\YOUR_USERNAME\Application Data\Subversion\config&#039;&#039;  Also, please be sure that you uncomment the &#039;&#039;&#039;enable-auto-props&#039;&#039;&#039; option and set it to yes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Section for configuring automatic properties.&lt;br /&gt;
[auto-props]&lt;br /&gt;
### The format of the entries is:&lt;br /&gt;
###   file-name-pattern = propname[=value][;propname[=value]...]&lt;br /&gt;
### The file-name-pattern can contain wildcards (such as &#039;*&#039; and&lt;br /&gt;
### &#039;?&#039;).  All entries which match will be applied to the file.&lt;br /&gt;
### Note that auto-props functionality must be enabled, which&lt;br /&gt;
### is typically done by setting the &#039;enable-auto-props&#039; option.&lt;br /&gt;
*.c = svn:eol-style=native&lt;br /&gt;
*.cpp = svn:eol-style=native&lt;br /&gt;
*.cxx = svn:eol-style=native&lt;br /&gt;
*.def = svn:eol-style=native&lt;br /&gt;
*.h = svn:eol-style=native&lt;br /&gt;
*.pl = svn:eol-style=native&lt;br /&gt;
*.py = svn:eol-style=native&lt;br /&gt;
*.php = svn:eol-style=native&lt;br /&gt;
&lt;br /&gt;
*.po = svn:eol-style=native&lt;br /&gt;
*.am = svn:eol-style=native&lt;br /&gt;
*.ac = svn:eol-style=native&lt;br /&gt;
*.in = svn:eol-style=native&lt;br /&gt;
*.m4 = svn:eol-style=native&lt;br /&gt;
&lt;br /&gt;
*.dsp = svn:eol-style=CRLF&lt;br /&gt;
*.dsw = svn:eol-style=CRLF&lt;br /&gt;
*.sln = svn:eol-style=CRLF&lt;br /&gt;
*.vcproj = svn:eol-style=CRLF&lt;br /&gt;
*.nsi = svn:eol-style=CRLF&lt;br /&gt;
*.manifest = svn:eol-style=CRLF&lt;br /&gt;
&lt;br /&gt;
*.sh = svn:eol-style=native;svn:executable&lt;br /&gt;
*.bat = svn:eol-style=native;svn:mime-type=text/plain&lt;br /&gt;
&lt;br /&gt;
*.txt = svn:eol-style=native;svn:mime-type=text/plain&lt;br /&gt;
README = svn:eol-style=native;svn:mime-type=text/plain&lt;br /&gt;
*.html = svn:eol-style=native;svn:mime-type=text/html&lt;br /&gt;
*.css = svn:eol-style=native;svn:mime-type=text/css&lt;br /&gt;
*.xml = svn:eol-style=native;svn:mime-type=text/xml&lt;br /&gt;
*.bzw = svn:eol-style=native&lt;br /&gt;
&lt;br /&gt;
*.xpm = svn:eol-style=native;svn:mime-type=image/x-xpm&lt;br /&gt;
*.svg = svn:eol-style=native;svn:mime-type=image/svg+xml&lt;br /&gt;
*.bmp = svn:mime-type=image/bmp&lt;br /&gt;
*.png = svn:mime-type=image/png&lt;br /&gt;
*.jpg = svn:mime-type=image/jpeg&lt;br /&gt;
*.ogg = svn:mime-type=application/ogg&lt;br /&gt;
*.wav = svn:mime-type=audio/x-wav&lt;br /&gt;
*.ttf = svn:mime-type=application/octet-stream&lt;br /&gt;
*.ico = svn:mime-type=application/octet-stream&lt;br /&gt;
*.rgb = svn:mime-type=image/x-rgb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Auto-props&amp;diff=5847</id>
		<title>Auto-props</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Auto-props&amp;diff=5847"/>
		<updated>2009-06-03T14:34:38Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: Add Subversion property specification for .svg extension.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Developers should make sure their Subversion auto-props are set correctly before committing to [[SVN]].  This helps preserve the correct line endings across platforms.  This is the &amp;quot;standard&amp;quot; auto-props section we are using (you may of course set your own if you prefer).  You&#039;ll need to edit your config file(s), which varies depending on platform and Subversion client.&lt;br /&gt;
&lt;br /&gt;
For UNIX-like platforms, edit your &#039;&#039;~/.subversion/config&#039;&#039; file to set the auto-props.  For Windows Vista, the path is &#039;&#039;C:\Users\YOUR_USERNAME\AppData\Roaming\Subversion\config&#039;&#039;  And for Windows XP, the path is &#039;&#039;C:\Documents and Settings\YOUR_USERNAME\Application Data\Subversion\config&#039;&#039;  Also, please be sure that you uncomment the &#039;&#039;&#039;enable-auto-props&#039;&#039;&#039; option and set it to yes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Section for configuring automatic properties.&lt;br /&gt;
[auto-props]&lt;br /&gt;
### The format of the entries is:&lt;br /&gt;
###   file-name-pattern = propname[=value][;propname[=value]...]&lt;br /&gt;
### The file-name-pattern can contain wildcards (such as &#039;*&#039; and&lt;br /&gt;
### &#039;?&#039;).  All entries which match will be applied to the file.&lt;br /&gt;
### Note that auto-props functionality must be enabled, which&lt;br /&gt;
### is typically done by setting the &#039;enable-auto-props&#039; option.&lt;br /&gt;
*.c = svn:eol-style=native&lt;br /&gt;
*.cpp = svn:eol-style=native&lt;br /&gt;
*.cxx = svn:eol-style=native&lt;br /&gt;
*.h = svn:eol-style=native&lt;br /&gt;
*.pl = svn:eol-style=native&lt;br /&gt;
*.py = svn:eol-style=native&lt;br /&gt;
*.php = svn:eol-style=native&lt;br /&gt;
&lt;br /&gt;
*.po = svn:eol-style=native&lt;br /&gt;
*.am = svn:eol-style=native&lt;br /&gt;
*.ac = svn:eol-style=native&lt;br /&gt;
*.in = svn:eol-style=native&lt;br /&gt;
*.m4 = svn:eol-style=native&lt;br /&gt;
&lt;br /&gt;
*.dsp = svn:eol-style=CRLF&lt;br /&gt;
*.dsw = svn:eol-style=CRLF&lt;br /&gt;
*.sln = svn:eol-style=CRLF&lt;br /&gt;
*.vcproj = svn:eol-style=CRLF&lt;br /&gt;
*.nsi = svn:eol-style=CRLF&lt;br /&gt;
*.manifest = svn:eol-style=CRLF&lt;br /&gt;
&lt;br /&gt;
*.sh = svn:eol-style=native;svn:executable&lt;br /&gt;
*.bat = svn:eol-style=native;svn:mime-type=text/plain&lt;br /&gt;
&lt;br /&gt;
*.txt = svn:eol-style=native;svn:mime-type=text/plain&lt;br /&gt;
README = svn:eol-style=native;svn:mime-type=text/plain&lt;br /&gt;
*.html = svn:eol-style=native;svn:mime-type=text/html&lt;br /&gt;
*.css = svn:eol-style=native;svn:mime-type=text/css&lt;br /&gt;
*.xml = svn:eol-style=native;svn:mime-type=text/xml&lt;br /&gt;
*.bzw = svn:eol-style=native&lt;br /&gt;
&lt;br /&gt;
*.xpm = svn:eol-style=native;svn:mime-type=image/x-xpm&lt;br /&gt;
*.svg = svn:eol-style=native;svn:mime-type=image/svg+xml&lt;br /&gt;
*.bmp = svn:mime-type=image/bmp&lt;br /&gt;
*.png = svn:mime-type=image/png&lt;br /&gt;
*.jpg = svn:mime-type=image/jpeg&lt;br /&gt;
*.ogg = svn:mime-type=application/ogg&lt;br /&gt;
*.wav = svn:mime-type=audio/x-wav&lt;br /&gt;
*.ttf = svn:mime-type=application/octet-stream&lt;br /&gt;
*.ico = svn:mime-type=application/octet-stream&lt;br /&gt;
*.rgb = svn:mime-type=image/x-rgb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Auto-props&amp;diff=5753</id>
		<title>Auto-props</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Auto-props&amp;diff=5753"/>
		<updated>2009-04-11T05:58:11Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: Update MIME types for .bmp, .ico, and .ttf files.  Add settings for .bat and .css files.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Developers should make sure their Subversion auto-props are set correctly before committing to [[SVN]].  This helps preserve the correct line endings across platforms.  This is the &amp;quot;standard&amp;quot; auto-props section we are using (you may of course set your own if you prefer).  You&#039;ll need to edit your config file(s), which varies depending on platform and Subversion client.&lt;br /&gt;
&lt;br /&gt;
For UNIX-like platforms, edit your &#039;&#039;~/.subversion/config&#039;&#039; file to set the auto-props.  For Windows Vista, the path is &#039;&#039;C:\Users\YOUR_USERNAME\AppData\Roaming\Subversion\config&#039;&#039;  And for Windows XP, the path is &#039;&#039;C:\Documents and Settings\YOUR_USERNAME\Application Data\Subversion\config&#039;&#039;  Also, please be sure that you uncomment the &#039;&#039;&#039;enable-auto-props&#039;&#039;&#039; option and set it to yes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Section for configuring automatic properties.&lt;br /&gt;
[auto-props]&lt;br /&gt;
### The format of the entries is:&lt;br /&gt;
###   file-name-pattern = propname[=value][;propname[=value]...]&lt;br /&gt;
### The file-name-pattern can contain wildcards (such as &#039;*&#039; and&lt;br /&gt;
### &#039;?&#039;).  All entries which match will be applied to the file.&lt;br /&gt;
### Note that auto-props functionality must be enabled, which&lt;br /&gt;
### is typically done by setting the &#039;enable-auto-props&#039; option.&lt;br /&gt;
*.c = svn:eol-style=native&lt;br /&gt;
*.cpp = svn:eol-style=native&lt;br /&gt;
*.cxx = svn:eol-style=native&lt;br /&gt;
*.h = svn:eol-style=native&lt;br /&gt;
*.pl = svn:eol-style=native&lt;br /&gt;
*.py = svn:eol-style=native&lt;br /&gt;
*.php = svn:eol-style=native&lt;br /&gt;
&lt;br /&gt;
*.po = svn:eol-style=native&lt;br /&gt;
*.am = svn:eol-style=native&lt;br /&gt;
*.ac = svn:eol-style=native&lt;br /&gt;
*.in = svn:eol-style=native&lt;br /&gt;
*.m4 = svn:eol-style=native&lt;br /&gt;
&lt;br /&gt;
*.dsp = svn:eol-style=CRLF&lt;br /&gt;
*.dsw = svn:eol-style=CRLF&lt;br /&gt;
*.sln = svn:eol-style=CRLF&lt;br /&gt;
*.vcproj = svn:eol-style=CRLF&lt;br /&gt;
*.nsi = svn:eol-style=CRLF&lt;br /&gt;
*.manifest = svn:eol-style=CRLF&lt;br /&gt;
&lt;br /&gt;
*.sh = svn:eol-style=native;svn:executable&lt;br /&gt;
*.bat = svn:eol-style=native;svn:mime-type=text/plain&lt;br /&gt;
&lt;br /&gt;
*.txt = svn:eol-style=native;svn:mime-type=text/plain&lt;br /&gt;
README = svn:eol-style=native;svn:mime-type=text/plain&lt;br /&gt;
*.html = svn:eol-style=native;svn:mime-type=text/html&lt;br /&gt;
*.css = svn:eol-style=native;svn:mime-type=text/css&lt;br /&gt;
*.xml = svn:eol-style=native;svn:mime-type=text/xml&lt;br /&gt;
*.bzw = svn:eol-style=native&lt;br /&gt;
&lt;br /&gt;
*.xpm = svn:eol-style=native;svn:mime-type=image/x-xpm&lt;br /&gt;
*.bmp = svn:mime-type=image/bmp&lt;br /&gt;
*.png = svn:mime-type=image/png&lt;br /&gt;
*.jpg = svn:mime-type=image/jpeg&lt;br /&gt;
*.ogg = svn:mime-type=application/ogg&lt;br /&gt;
*.wav = svn:mime-type=audio/x-wav&lt;br /&gt;
*.ttf = svn:mime-type=application/octet-stream&lt;br /&gt;
*.ico = svn:mime-type=application/octet-stream&lt;br /&gt;
*.rgb = svn:mime-type=image/x-rgb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Google_Summer_of_Code:_2009&amp;diff=5663</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=5663"/>
		<updated>2009-04-03T05:49:36Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Mentors */ Add myself to the list.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 2009 Google Summer of Code was announced in February, 2009.  BZFlag is once again participating as a mentoring organization.  Given our enormously successful participation in the program in 2007 and 2008, we are very excited to be participating again.  We are 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, 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;
* Jeff Makey (BulletCatcher)&lt;br /&gt;
&lt;br /&gt;
[[Category: Development]]&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Google_Summer_of_Code:_2009:OrgApplication&amp;diff=5557</id>
		<title>Google Summer of Code: 2009:OrgApplication</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Google_Summer_of_Code:_2009:OrgApplication&amp;diff=5557"/>
		<updated>2009-03-13T18:37:34Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* What steps will you take to encourage contributors to interact with your community */ Don&amp;#039;t say &amp;quot;last year&amp;quot;. Other wordsmithing.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description = &lt;br /&gt;
BZFlag is a free online multiplayer cross-platform open source 3D tank battle game that is maintained by an active community of individuals distributed all around the world.  It is one of the most successful and sustained cross-platform open source games ever with an active developer, administrative, and player community.  There have been more than a million downloads in the last five years alone and our user base presently consists of more than 200 players online at any time of day or night.  The project has actually become more popular over the years as we continue to improve and enhance the game.  BZFlag has been under active development since 1992.&lt;br /&gt;
&lt;br /&gt;
Our organization is presently comprised of a rather disparate group of individuals that work on BZFlag because they love the game and the community that surrounds it.  There are presently 71 individuals entrusted with access to BZFlag core resources including 46 individuals that have committed source code modifications over the project&#039;s life span.  Our developer base presently consists of 9 documented core developers that have made extensive contributions to the game and remained active over many years, along with about a dozen apprentice-level developers that are coming up in the ranks, and about two dozen peripheral/casual developers, extension developers, and web integration programmers.  Additionally, there are several dozen trusted staffers, server operators, and graphic artists that assist in the day-to-day operations needed by the game for keeping servers up and running, providing server list services, designing artwork, providing network statistics, image hosting, web hosting, and much more.&lt;br /&gt;
&lt;br /&gt;
All of our project developers almost exclusively collaborate on the #bzflag Freenode IRC channel, which is the central hub for most of our development discussions, decision planning meetings, game operations, and network infrastructure administration.  We operate via a benevolent dictatorship combined with a meritocracy that strives for consensus between the core developers and other involved community members.  Extensive discussions are held for any changes to BZFlag that affect the game&#039;s traditional spirit, mood of gameplay, tone of the user environment, and types of interactions possible in the game.  These discussions also include considerations whenever there are new features being added such as new flags, enhanced graphics, or changes to the gameplay.  We also serve as a support arm to our user community assisting them with anything from how to get started playing to providing assistance with setting up their own server or even helping them write their own new extensions to the game.&lt;br /&gt;
&lt;br /&gt;
From IRC, we administer network operations for more than 19000 registered players and for the tens of thousands of unregistered players that engage in more than 10000 daily player sessions across more than 250 public servers.  As we are a globally distributed network-oriented game, we also maintain the public server listings, provide player tracking, network statistics, global authentication, user and group management, abuse and ban controls, player conflict resolution, competitive league management, and user community support.&lt;br /&gt;
&lt;br /&gt;
= Why is your group applying to participate? What do you hope to gain by participating =&lt;br /&gt;
&lt;br /&gt;
Our primary intention for participating in GSoC 2009 is to attract new developers.  We already have visibility, popularity, familiarity, and a very active community.  The strongest factor in our long-term development initiatives, however, is the number of active developers that we have at any given time.&lt;br /&gt;
&lt;br /&gt;
GSoC has shown to provide an exceptional opportunity for us to entice new developers to our community and keep them working with us over the long term.  It&#039;s been a great program for attracting new talent, inspiring new development initiatives, and even for getting our existing developers more organized and collaborating more effectively.&lt;br /&gt;
&lt;br /&gt;
We&#039;ve enjoyed collaborating on experimental efforts that have had strong academic and research goals, while helping promote and improve BZFlag in the process.  BZFlag is used by several universities (e.g., Brigham-Young University) as an artificial intelligence framework and has also been the subject of several academic research projects related to network communications (ACM-published research papers).  Indiana University researchers worked with our staff in 2007 to use BZFlag as a platform for conducting a social network analysis.  We&#039;d particularly like to improve these facilities to help encourage even wider use of BZFlag for academic and research purposes.&lt;br /&gt;
&lt;br /&gt;
Task-wise, we hope to work with these new developers to implement several enhancements to BZFlag that we know will have a big impact on those that play the game.  Past participation in GSoC has stimulated our project development activities and forced us to become more organized, collaborative, and deliberate in our focus.  Our community members have great ideas for improving the game and we would like to encourage these developments.  GSoC provides a mutually beneficial means to that end, particularly for students that we can attract to our project as new developers that stay with the project.&lt;br /&gt;
&lt;br /&gt;
= What criteria do you use to select the members of your group? Please be as specific as possible. =&lt;br /&gt;
&lt;br /&gt;
All of the mentors listed are actively engaged in the BZFlag community as core developers, apprentice developers, web service developers, and network operators.  Mentors were selected from among our core community of project contributors that are actively engaged on a day-to-day basis .  All mentors needed to have gained enough rapport and trust with those already actively involved to the extent that they&#039;ve been entrusted with source code access, decision-making authority, and that have sustained activity for months or years on end.  The mentors also needed to show competency in the BZFlag source code, our project directions, our operating philosophies, and a basic familiarity with our social dynamic.&lt;br /&gt;
&lt;br /&gt;
Several of our apprentice developers were specifically chosen due to the unique perspective that they bring to the development processes.  Those individuals help bridge the player-developer gap as those new developers tend to come straight out of the player community and/or are heavily involved and familiar with the needs of our users.  They form a critical part of our technical support infrastructure.&lt;br /&gt;
&lt;br /&gt;
Cumulatively, the #bzflag IRC channel provides even more insight, interaction, and mentoring support as our community spans several domains of software development expertise including game development, computer-aided design, computer-aided machining, software testing, web development, computer graphics development, systems and kernel development, and general application development.  As our channel is constantly (24/7) engaged in user and developer support to a global community, the channel will be our predominant means of interaction for all mentors and students.  Each individual listed can also dedicate a minimum of 10 hours a week on average with an understanding that there are additional demands on their time at the start, midterm, and final evaluation periods of the program.&lt;br /&gt;
&lt;br /&gt;
= Has your group participated previously? If so, please summarize your involvement and any past successes and failures. =&lt;br /&gt;
&lt;br /&gt;
Yes, we participated for the first time in 2007 and again in 2008.  We quickly found that being involved in GSoC requires considerable time and resources necessitating massive amounts of coordination, communication, and progress tracking.  Our developers spent many hours mentoring students, reviewing their code, and discussing implementation details.&lt;br /&gt;
&lt;br /&gt;
We found that being involved in GSoC encouraged our community to become more organized and accountable than usual.  It also instigated other developer activity and interest throughout our community, particularly amongst players that were eagerly interested in trying out the new facilities being developed by the students.&lt;br /&gt;
&lt;br /&gt;
The experience taught our mentors a great deal in terms of managing different personalities, expectations we had of their abilities to work with minimal process overhead, and how to respond quickly and effectively to inadequate levels of effort.  In our view, we did very well in managing our students but will need to dedicate even more time and attention to the students if we are allowed to participate again.  We intend to focus more on integrating the students quickly, engaging them more in the design and testing process throughout development, and making sure they follow our development criteria from start to finish so that we can help establish them as long-term developers in our community.&lt;br /&gt;
&lt;br /&gt;
= What is your plan for dealing with disappearing contributors? = &lt;br /&gt;
&lt;br /&gt;
If a student&#039;s interest or availability to participate in the summer project seems to be diverging or otherwise waning, efforts will be made to motivate the student through discussions and hands-on interactive development intended to stimulate their progress.  Being a 3D graphics-oriented game, we have the benefit of most tasks actually resulting in something &amp;quot;fun&amp;quot; that rather easily captures and maintains interest.  However, should the student&#039;s focus still remain diminished or should the student unexpectedly disappear, the administrator will relay this status to Google after repeated attempts to contact the student fail.&lt;br /&gt;
&lt;br /&gt;
Students are expected to commit changes very frequently.  Our philosophy is that if they&#039;re not committing, then they are not working (at least not effectively).  Having them commit frequently gives us a very good estimate of their activity level as well as where they are in the development process.  We strongly adhere to &amp;quot;commit early, commit often.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If the student is not around or is not working as much as needed, we will have discussions with them, see what&#039;s going on, and do so proactively.  We learned from one student who was in serious danger of failing that a simple change in accountability can have a massive impact on motivation.  We will strive to recognize our students&#039; personalities quickly, so that we can impose as much or as little process overhead as it required for them to be effective developers.  Additional process requirements (such as daily or weekly reports and commit quotas) may then be imposed for students that consistently fall behind schedule.&lt;br /&gt;
&lt;br /&gt;
Similarly, by interacting with the students on a daily basis and preferably by having them be joined to our IRC channel while they are working on BZFlag, it allows mentors to keep a careful eye on all student progress and readily discuss issues with them.  As is done for any developer, having them be readily available for interactive discussion on IRC frequently helps avoid misunderstandings, disagreements, and frustrations and at worst makes any issues apparent as soon as possible.  The IRC channel is the hub of our primary development activity providing source commit announcements, developer access, user insight, interactive discussions, and prompt responses to questions and comments.&lt;br /&gt;
&lt;br /&gt;
Other than that, the formula for dealing with disappearing students really just boils down to communication.  It is a very organic process and we don&#039;t believe that there is one answer for all students.&lt;br /&gt;
&lt;br /&gt;
The measures described above help us focus on having the most effective communication that works with our development team but will necessarily be tailored to each student individually.  Issues that we cannot resolve will be brought forward to Google for guidance.&lt;br /&gt;
&lt;br /&gt;
= What is your plan for dealing with disappearing members? = &lt;br /&gt;
&lt;br /&gt;
BZFlag contains an active community that is constantly engaged in providing assistance for any level of questions whether they are introductory user support questions or technical source code development questions.  The predominance of BZFlag&#039;s active software development interactions are discussed *entirely* on the #bzflag Freenode IRC channel.  We require that developers participate and interact on the IRC channel with other developers to their fullest capacity, and preferably without them relying on any single individual so that they may receive assistance and perspective from a variety of developers (it&#039;s not like all our developers always agree and, ultimately, our meritocracy prevails over decisions and directions).&lt;br /&gt;
&lt;br /&gt;
One of the main reasons for requiring developers to be on the IRC channel is to help mitigate issues whereby a student might encounter difficulties interacting with any particular individual.  It also exposes them to all developers so that they can become more quickly in-tune with which developers are presently active and the politics of our development practices.&lt;br /&gt;
&lt;br /&gt;
The students will be encouraged to interact on the IRC channel at all times to provide a continued on-going dialog with the other BZFlag developers as well so that everyone is informed of progress and development directions.  If a given mentor is not responding to the student, whether intentional or incapable, or if a mentor is unreachable for more than a couple days, one of several backup mentors are available to step in.&lt;br /&gt;
&lt;br /&gt;
Should some situation arise that prevents a mentor from being able to participate, several backup mentors are available that can be assigned to the student on the spot and immediately pick up where other mentors leave off.  Several of our mentors and administrators also know each other in person and have physical access to one another, so we can go smack them if they&#039;re not participating effectively or should they try to disappear online.  That said, all mentors are selected based on their activity this year to help minimize any issues.&lt;br /&gt;
&lt;br /&gt;
This year, we have also set up a mentor&#039;s blog to help our mentors make announcements more effectively and to provide suggestions for other GSoC projects.  This blog has already shown to be rather effective in making GSoC-specific announcements and for coordinating information amongst the mentors.  Once the students get started with their projects, we also plan to use the blog as a centralized information resource for developers to see the latest commits from the students and the status of their project progress.&lt;br /&gt;
&lt;br /&gt;
= What steps will you take to encourage contributors to interact with your community before, during, and after the program? =&lt;br /&gt;
&lt;br /&gt;
Being a game, i.e. an entertainment application, we have a somewhat unique benefit of actually being enjoyable before, during, and after the student&#039;s participation in the program and are even often &amp;quot;addictive&amp;quot;.  Most people enjoy playing BZFlag and often after they play the game for a little while, they can &amp;quot;get hooked&amp;quot; on the game.  &amp;quot;Quick to learn, difficult to master&amp;quot; is our motto and this holds true both in the game and for development.  Once new developers see the impact they&#039;re having on such a large user community, they quickly become addicted to the development aspects and making things more enjoyable for our players.  We encourage our developers to play so that they understand the needs of the game and the needs of the existing player community in addition to becoming familiar with how various portions of the source code relate to behaviors in the game.&lt;br /&gt;
&lt;br /&gt;
For student applicants we have a specific checklist of tasks to help them prepare to engage in routine development.  These steps include introducing themselves to our IRC channel, having a SourceForge account, becoming familiar with Subversion if they are not already, checking out the BZFlag sources, compiling their own version of BZFlag, playing the game with that version, registering with our global account services, becoming familiar with our websites and on-line services, and publishing their list of goals milestones for the community to see. &lt;br /&gt;
&lt;br /&gt;
As our IRC infrastructure and developer operations are already well established, we can (and frequently do) readily point new developer interests to our documentation and engage them in discussion.  We have lots of existing documentation, web infrastructure, and network resources available to quickly get new developers familiar and interested in development directions.  Thanks to our previous involvement with GSoC, we have an established mindset of successful interaction criteria that gets students quickly involved in our user community so that they feel like part of the family.&lt;br /&gt;
&lt;br /&gt;
One of the interactions that worked very well in 2007 was having the students directly interact with the users, letting them represent their efforts, and having their efforts be strongly supported and promoted by the other developers.  We intend to take additional steps this year to continuously integrate the students&#039; code throughout the program and work on introducing our player community to the features being developed even more early on.  The goal will be to instill a sense of belonging and a sense of appreciation for the hard work they put into their code.&lt;br /&gt;
&lt;br /&gt;
= What will you do to ensure that your accepted contributors stick with the project after the program concludes? =&lt;br /&gt;
&lt;br /&gt;
It is our responsibility to not neglect or abandon the students.  We have to give them the time and attention that they deserve, and we need to share with the students the respect and appreciation we have of their efforts so that they remain interested and involved.  BZFlag is fortunate to have not had any significant issues with attrition; many of our developers tend to remain involved with the project for a long time.  There is natural turn-over as interests shift and general fluctuations from year to year, but we sustain a relatively stable development rate and that is in no small part due to our interactive and friendly development environment.&lt;br /&gt;
&lt;br /&gt;
New developers are often enticed to stick around and contribute simply because we actively promote their changes to the user community when releases are made, and the user community responds vocally to just about every single modification that gets made to the game no matter how small.  For the topics that we are soliciting ideas, the efforts of the student have the ability to make a major impact on the game that will be exceedingly visible, and will encourage continued development not only by the student but other developers as well.  We will necessarily encourage students to remain involved with the project by welcoming them to our development team, integrating them as quickly as possible, giving them development responsibilities, and showing them the rewards and impact of their efforts.&lt;br /&gt;
&lt;br /&gt;
It&#039;s our job to encourage their passion for BZFlag development long after GSoC concludes.&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Google_Summer_of_Code:_2009:OrgApplication&amp;diff=5556</id>
		<title>Google Summer of Code: 2009:OrgApplication</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Google_Summer_of_Code:_2009:OrgApplication&amp;diff=5556"/>
		<updated>2009-03-13T18:25:35Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* What is your plan for dealing with disappearing contributors? */ Don&amp;#039;t say &amp;quot;last year&amp;quot;.  Other wordsmithing.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description = &lt;br /&gt;
BZFlag is a free online multiplayer cross-platform open source 3D tank battle game that is maintained by an active community of individuals distributed all around the world.  It is one of the most successful and sustained cross-platform open source games ever with an active developer, administrative, and player community.  There have been more than a million downloads in the last five years alone and our user base presently consists of more than 200 players online at any time of day or night.  The project has actually become more popular over the years as we continue to improve and enhance the game.  BZFlag has been under active development since 1992.&lt;br /&gt;
&lt;br /&gt;
Our organization is presently comprised of a rather disparate group of individuals that work on BZFlag because they love the game and the community that surrounds it.  There are presently 71 individuals entrusted with access to BZFlag core resources including 46 individuals that have committed source code modifications over the project&#039;s life span.  Our developer base presently consists of 9 documented core developers that have made extensive contributions to the game and remained active over many years, along with about a dozen apprentice-level developers that are coming up in the ranks, and about two dozen peripheral/casual developers, extension developers, and web integration programmers.  Additionally, there are several dozen trusted staffers, server operators, and graphic artists that assist in the day-to-day operations needed by the game for keeping servers up and running, providing server list services, designing artwork, providing network statistics, image hosting, web hosting, and much more.&lt;br /&gt;
&lt;br /&gt;
All of our project developers almost exclusively collaborate on the #bzflag Freenode IRC channel, which is the central hub for most of our development discussions, decision planning meetings, game operations, and network infrastructure administration.  We operate via a benevolent dictatorship combined with a meritocracy that strives for consensus between the core developers and other involved community members.  Extensive discussions are held for any changes to BZFlag that affect the game&#039;s traditional spirit, mood of gameplay, tone of the user environment, and types of interactions possible in the game.  These discussions also include considerations whenever there are new features being added such as new flags, enhanced graphics, or changes to the gameplay.  We also serve as a support arm to our user community assisting them with anything from how to get started playing to providing assistance with setting up their own server or even helping them write their own new extensions to the game.&lt;br /&gt;
&lt;br /&gt;
From IRC, we administer network operations for more than 19000 registered players and for the tens of thousands of unregistered players that engage in more than 10000 daily player sessions across more than 250 public servers.  As we are a globally distributed network-oriented game, we also maintain the public server listings, provide player tracking, network statistics, global authentication, user and group management, abuse and ban controls, player conflict resolution, competitive league management, and user community support.&lt;br /&gt;
&lt;br /&gt;
= Why is your group applying to participate? What do you hope to gain by participating =&lt;br /&gt;
&lt;br /&gt;
Our primary intention for participating in GSoC 2009 is to attract new developers.  We already have visibility, popularity, familiarity, and a very active community.  The strongest factor in our long-term development initiatives, however, is the number of active developers that we have at any given time.&lt;br /&gt;
&lt;br /&gt;
GSoC has shown to provide an exceptional opportunity for us to entice new developers to our community and keep them working with us over the long term.  It&#039;s been a great program for attracting new talent, inspiring new development initiatives, and even for getting our existing developers more organized and collaborating more effectively.&lt;br /&gt;
&lt;br /&gt;
We&#039;ve enjoyed collaborating on experimental efforts that have had strong academic and research goals, while helping promote and improve BZFlag in the process.  BZFlag is used by several universities (e.g., Brigham-Young University) as an artificial intelligence framework and has also been the subject of several academic research projects related to network communications (ACM-published research papers).  Indiana University researchers worked with our staff in 2007 to use BZFlag as a platform for conducting a social network analysis.  We&#039;d particularly like to improve these facilities to help encourage even wider use of BZFlag for academic and research purposes.&lt;br /&gt;
&lt;br /&gt;
Task-wise, we hope to work with these new developers to implement several enhancements to BZFlag that we know will have a big impact on those that play the game.  Past participation in GSoC has stimulated our project development activities and forced us to become more organized, collaborative, and deliberate in our focus.  Our community members have great ideas for improving the game and we would like to encourage these developments.  GSoC provides a mutually beneficial means to that end, particularly for students that we can attract to our project as new developers that stay with the project.&lt;br /&gt;
&lt;br /&gt;
= What criteria do you use to select the members of your group? Please be as specific as possible. =&lt;br /&gt;
&lt;br /&gt;
All of the mentors listed are actively engaged in the BZFlag community as core developers, apprentice developers, web service developers, and network operators.  Mentors were selected from among our core community of project contributors that are actively engaged on a day-to-day basis .  All mentors needed to have gained enough rapport and trust with those already actively involved to the extent that they&#039;ve been entrusted with source code access, decision-making authority, and that have sustained activity for months or years on end.  The mentors also needed to show competency in the BZFlag source code, our project directions, our operating philosophies, and a basic familiarity with our social dynamic.&lt;br /&gt;
&lt;br /&gt;
Several of our apprentice developers were specifically chosen due to the unique perspective that they bring to the development processes.  Those individuals help bridge the player-developer gap as those new developers tend to come straight out of the player community and/or are heavily involved and familiar with the needs of our users.  They form a critical part of our technical support infrastructure.&lt;br /&gt;
&lt;br /&gt;
Cumulatively, the #bzflag IRC channel provides even more insight, interaction, and mentoring support as our community spans several domains of software development expertise including game development, computer-aided design, computer-aided machining, software testing, web development, computer graphics development, systems and kernel development, and general application development.  As our channel is constantly (24/7) engaged in user and developer support to a global community, the channel will be our predominant means of interaction for all mentors and students.  Each individual listed can also dedicate a minimum of 10 hours a week on average with an understanding that there are additional demands on their time at the start, midterm, and final evaluation periods of the program.&lt;br /&gt;
&lt;br /&gt;
= Has your group participated previously? If so, please summarize your involvement and any past successes and failures. =&lt;br /&gt;
&lt;br /&gt;
Yes, we participated for the first time in 2007 and again in 2008.  We quickly found that being involved in GSoC requires considerable time and resources necessitating massive amounts of coordination, communication, and progress tracking.  Our developers spent many hours mentoring students, reviewing their code, and discussing implementation details.&lt;br /&gt;
&lt;br /&gt;
We found that being involved in GSoC encouraged our community to become more organized and accountable than usual.  It also instigated other developer activity and interest throughout our community, particularly amongst players that were eagerly interested in trying out the new facilities being developed by the students.&lt;br /&gt;
&lt;br /&gt;
The experience taught our mentors a great deal in terms of managing different personalities, expectations we had of their abilities to work with minimal process overhead, and how to respond quickly and effectively to inadequate levels of effort.  In our view, we did very well in managing our students but will need to dedicate even more time and attention to the students if we are allowed to participate again.  We intend to focus more on integrating the students quickly, engaging them more in the design and testing process throughout development, and making sure they follow our development criteria from start to finish so that we can help establish them as long-term developers in our community.&lt;br /&gt;
&lt;br /&gt;
= What is your plan for dealing with disappearing contributors? = &lt;br /&gt;
&lt;br /&gt;
If a student&#039;s interest or availability to participate in the summer project seems to be diverging or otherwise waning, efforts will be made to motivate the student through discussions and hands-on interactive development intended to stimulate their progress.  Being a 3D graphics-oriented game, we have the benefit of most tasks actually resulting in something &amp;quot;fun&amp;quot; that rather easily captures and maintains interest.  However, should the student&#039;s focus still remain diminished or should the student unexpectedly disappear, the administrator will relay this status to Google after repeated attempts to contact the student fail.&lt;br /&gt;
&lt;br /&gt;
Students are expected to commit changes very frequently.  Our philosophy is that if they&#039;re not committing, then they are not working (at least not effectively).  Having them commit frequently gives us a very good estimate of their activity level as well as where they are in the development process.  We strongly adhere to &amp;quot;commit early, commit often.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If the student is not around or is not working as much as needed, we will have discussions with them, see what&#039;s going on, and do so proactively.  We learned from one student who was in serious danger of failing that a simple change in accountability can have a massive impact on motivation.  We will strive to recognize our students&#039; personalities quickly, so that we can impose as much or as little process overhead as it required for them to be effective developers.  Additional process requirements (such as daily or weekly reports and commit quotas) may then be imposed for students that consistently fall behind schedule.&lt;br /&gt;
&lt;br /&gt;
Similarly, by interacting with the students on a daily basis and preferably by having them be joined to our IRC channel while they are working on BZFlag, it allows mentors to keep a careful eye on all student progress and readily discuss issues with them.  As is done for any developer, having them be readily available for interactive discussion on IRC frequently helps avoid misunderstandings, disagreements, and frustrations and at worst makes any issues apparent as soon as possible.  The IRC channel is the hub of our primary development activity providing source commit announcements, developer access, user insight, interactive discussions, and prompt responses to questions and comments.&lt;br /&gt;
&lt;br /&gt;
Other than that, the formula for dealing with disappearing students really just boils down to communication.  It is a very organic process and we don&#039;t believe that there is one answer for all students.&lt;br /&gt;
&lt;br /&gt;
The measures described above help us focus on having the most effective communication that works with our development team but will necessarily be tailored to each student individually.  Issues that we cannot resolve will be brought forward to Google for guidance.&lt;br /&gt;
&lt;br /&gt;
= What is your plan for dealing with disappearing members? = &lt;br /&gt;
&lt;br /&gt;
BZFlag contains an active community that is constantly engaged in providing assistance for any level of questions whether they are introductory user support questions or technical source code development questions.  The predominance of BZFlag&#039;s active software development interactions are discussed *entirely* on the #bzflag Freenode IRC channel.  We require that developers participate and interact on the IRC channel with other developers to their fullest capacity, and preferably without them relying on any single individual so that they may receive assistance and perspective from a variety of developers (it&#039;s not like all our developers always agree and, ultimately, our meritocracy prevails over decisions and directions).&lt;br /&gt;
&lt;br /&gt;
One of the main reasons for requiring developers to be on the IRC channel is to help mitigate issues whereby a student might encounter difficulties interacting with any particular individual.  It also exposes them to all developers so that they can become more quickly in-tune with which developers are presently active and the politics of our development practices.&lt;br /&gt;
&lt;br /&gt;
The students will be encouraged to interact on the IRC channel at all times to provide a continued on-going dialog with the other BZFlag developers as well so that everyone is informed of progress and development directions.  If a given mentor is not responding to the student, whether intentional or incapable, or if a mentor is unreachable for more than a couple days, one of several backup mentors are available to step in.&lt;br /&gt;
&lt;br /&gt;
Should some situation arise that prevents a mentor from being able to participate, several backup mentors are available that can be assigned to the student on the spot and immediately pick up where other mentors leave off.  Several of our mentors and administrators also know each other in person and have physical access to one another, so we can go smack them if they&#039;re not participating effectively or should they try to disappear online.  That said, all mentors are selected based on their activity this year to help minimize any issues.&lt;br /&gt;
&lt;br /&gt;
This year, we have also set up a mentor&#039;s blog to help our mentors make announcements more effectively and to provide suggestions for other GSoC projects.  This blog has already shown to be rather effective in making GSoC-specific announcements and for coordinating information amongst the mentors.  Once the students get started with their projects, we also plan to use the blog as a centralized information resource for developers to see the latest commits from the students and the status of their project progress.&lt;br /&gt;
&lt;br /&gt;
= What steps will you take to encourage contributors to interact with your community before, during, and after the program? =&lt;br /&gt;
&lt;br /&gt;
Being a game, i.e. an entertainment application, we have a somewhat unique benefit of actually being enjoyable before, during, and after the student&#039;s participation in the program and are even often &amp;quot;addictive&amp;quot;.  Most people enjoy playing BZFlag and often after they play the game for a little while, they can &amp;quot;get hooked&amp;quot; on the game.  &amp;quot;Quick to learn, difficult to master&amp;quot; is our motto and this holds true both in the game and for development.  Once new developers see the impact they&#039;re having on such a large user community, they quickly become addicted to the development aspects and making things more enjoyable for our players.  We encourage our developers to play so that they understand the needs of the game and the needs of the existing player community in addition to becoming familiar with how various portions of the source code relate to behaviors in the game.&lt;br /&gt;
&lt;br /&gt;
Before the program, we have a specific checklist of tasks that we have prepared to give them definitive actions that they need to perform.  These steps include introducing themselves to our IRC channel, having a Sourceforge account, becoming familiar with Subversion if they are not already, checking out the BZFlag sources, compiling their own version of BZFlag, playing the game with that version, registering with our global account services, becoming familiar with our websites and on-line services, and publishing their list of goals milestones for the community to see. &lt;br /&gt;
&lt;br /&gt;
As our IRC infrastructure and developer operations are already well established, we can (and frequently do) readily point new developer interests to our documentation and engage them in discussion.  We have lots of existing documentation, web infrastructure, and network resources available to get new developers familiar and interested in development directions quickly.  Given our involvement with GSoC last year, we now also have an established mindset of successful interaction criteria that gets students quickly involved in our user community so that they feel like part of the family.&lt;br /&gt;
&lt;br /&gt;
One of the interactions that worked very well last year was having the students directly interact with the users, letting them represent their efforts, and having their efforts be strongly supported and promoted by the other developers.  We intend to take additional steps this year to continuously integrate the students&#039; code throughout the program and work on introducing our player community to the features being developed even more early on.  The goal will be to instill a sense of belonging and a sense of appreciation for the hard-work they are putting into their code.&lt;br /&gt;
&lt;br /&gt;
= What will you do to ensure that your accepted contributors stick with the project after the program concludes? =&lt;br /&gt;
&lt;br /&gt;
It is our responsibility to not neglect or abandon the students.  We have to give them the time and attention that they deserve, and we need to share with the students the respect and appreciation we have of their efforts so that they remain interested and involved.  BZFlag is fortunate to have not had any significant issues with attrition; many of our developers tend to remain involved with the project for a long time.  There is natural turn-over as interests shift and general fluctuations from year to year, but we sustain a relatively stable development rate and that is in no small part due to our interactive and friendly development environment.&lt;br /&gt;
&lt;br /&gt;
New developers are often enticed to stick around and contribute simply because we actively promote their changes to the user community when releases are made, and the user community responds vocally to just about every single modification that gets made to the game no matter how small.  For the topics that we are soliciting ideas, the efforts of the student have the ability to make a major impact on the game that will be exceedingly visible, and will encourage continued development not only by the student but other developers as well.  We will necessarily encourage students to remain involved with the project by welcoming them to our development team, integrating them as quickly as possible, giving them development responsibilities, and showing them the rewards and impact of their efforts.&lt;br /&gt;
&lt;br /&gt;
It&#039;s our job to encourage their passion for BZFlag development long after GSoC concludes.&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Google_Summer_of_Code:_2009:OrgApplication&amp;diff=5555</id>
		<title>Google Summer of Code: 2009:OrgApplication</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Google_Summer_of_Code:_2009:OrgApplication&amp;diff=5555"/>
		<updated>2009-03-13T18:08:50Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: /* Why is your group applying to participate? */ Use absolute time references.  Be more concise.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description = &lt;br /&gt;
BZFlag is a free online multiplayer cross-platform open source 3D tank battle game that is maintained by an active community of individuals distributed all around the world.  It is one of the most successful and sustained cross-platform open source games ever with an active developer, administrative, and player community.  There have been more than a million downloads in the last five years alone and our user base presently consists of more than 200 players online at any time of day or night.  The project has actually become more popular over the years as we continue to improve and enhance the game.  BZFlag has been under active development since 1992.&lt;br /&gt;
&lt;br /&gt;
Our organization is presently comprised of a rather disparate group of individuals that work on BZFlag because they love the game and the community that surrounds it.  There are presently 71 individuals entrusted with access to BZFlag core resources including 46 individuals that have committed source code modifications over the project&#039;s life span.  Our developer base presently consists of 9 documented core developers that have made extensive contributions to the game and remained active over many years, along with about a dozen apprentice-level developers that are coming up in the ranks, and about two dozen peripheral/casual developers, extension developers, and web integration programmers.  Additionally, there are several dozen trusted staffers, server operators, and graphic artists that assist in the day-to-day operations needed by the game for keeping servers up and running, providing server list services, designing artwork, providing network statistics, image hosting, web hosting, and much more.&lt;br /&gt;
&lt;br /&gt;
All of our project developers almost exclusively collaborate on the #bzflag Freenode IRC channel, which is the central hub for most of our development discussions, decision planning meetings, game operations, and network infrastructure administration.  We operate via a benevolent dictatorship combined with a meritocracy that strives for consensus between the core developers and other involved community members.  Extensive discussions are held for any changes to BZFlag that affect the game&#039;s traditional spirit, mood of gameplay, tone of the user environment, and types of interactions possible in the game.  These discussions also include considerations whenever there are new features being added such as new flags, enhanced graphics, or changes to the gameplay.  We also serve as a support arm to our user community assisting them with anything from how to get started playing to providing assistance with setting up their own server or even helping them write their own new extensions to the game.&lt;br /&gt;
&lt;br /&gt;
From IRC, we administer network operations for more than 19000 registered players and for the tens of thousands of unregistered players that engage in more than 10000 daily player sessions across more than 250 public servers.  As we are a globally distributed network-oriented game, we also maintain the public server listings, provide player tracking, network statistics, global authentication, user and group management, abuse and ban controls, player conflict resolution, competitive league management, and user community support.&lt;br /&gt;
&lt;br /&gt;
= Why is your group applying to participate? What do you hope to gain by participating =&lt;br /&gt;
&lt;br /&gt;
Our primary intention for participating in GSoC 2009 is to attract new developers.  We already have visibility, popularity, familiarity, and a very active community.  The strongest factor in our long-term development initiatives, however, is the number of active developers that we have at any given time.&lt;br /&gt;
&lt;br /&gt;
GSoC has shown to provide an exceptional opportunity for us to entice new developers to our community and keep them working with us over the long term.  It&#039;s been a great program for attracting new talent, inspiring new development initiatives, and even for getting our existing developers more organized and collaborating more effectively.&lt;br /&gt;
&lt;br /&gt;
We&#039;ve enjoyed collaborating on experimental efforts that have had strong academic and research goals, while helping promote and improve BZFlag in the process.  BZFlag is used by several universities (e.g., Brigham-Young University) as an artificial intelligence framework and has also been the subject of several academic research projects related to network communications (ACM-published research papers).  Indiana University researchers worked with our staff in 2007 to use BZFlag as a platform for conducting a social network analysis.  We&#039;d particularly like to improve these facilities to help encourage even wider use of BZFlag for academic and research purposes.&lt;br /&gt;
&lt;br /&gt;
Task-wise, we hope to work with these new developers to implement several enhancements to BZFlag that we know will have a big impact on those that play the game.  Past participation in GSoC has stimulated our project development activities and forced us to become more organized, collaborative, and deliberate in our focus.  Our community members have great ideas for improving the game and we would like to encourage these developments.  GSoC provides a mutually beneficial means to that end, particularly for students that we can attract to our project as new developers that stay with the project.&lt;br /&gt;
&lt;br /&gt;
= What criteria do you use to select the members of your group? Please be as specific as possible. =&lt;br /&gt;
&lt;br /&gt;
All of the mentors listed are actively engaged in the BZFlag community as core developers, apprentice developers, web service developers, and network operators.  Mentors were selected from among our core community of project contributors that are actively engaged on a day-to-day basis .  All mentors needed to have gained enough rapport and trust with those already actively involved to the extent that they&#039;ve been entrusted with source code access, decision-making authority, and that have sustained activity for months or years on end.  The mentors also needed to show competency in the BZFlag source code, our project directions, our operating philosophies, and a basic familiarity with our social dynamic.&lt;br /&gt;
&lt;br /&gt;
Several of our apprentice developers were specifically chosen due to the unique perspective that they bring to the development processes.  Those individuals help bridge the player-developer gap as those new developers tend to come straight out of the player community and/or are heavily involved and familiar with the needs of our users.  They form a critical part of our technical support infrastructure.&lt;br /&gt;
&lt;br /&gt;
Cumulatively, the #bzflag IRC channel provides even more insight, interaction, and mentoring support as our community spans several domains of software development expertise including game development, computer-aided design, computer-aided machining, software testing, web development, computer graphics development, systems and kernel development, and general application development.  As our channel is constantly (24/7) engaged in user and developer support to a global community, the channel will be our predominant means of interaction for all mentors and students.  Each individual listed can also dedicate a minimum of 10 hours a week on average with an understanding that there are additional demands on their time at the start, midterm, and final evaluation periods of the program.&lt;br /&gt;
&lt;br /&gt;
= Has your group participated previously? If so, please summarize your involvement and any past successes and failures. =&lt;br /&gt;
&lt;br /&gt;
Yes, we participated for the first time in 2007 and again in 2008.  We quickly found that being involved in GSoC requires considerable time and resources necessitating massive amounts of coordination, communication, and progress tracking.  Our developers spent many hours mentoring students, reviewing their code, and discussing implementation details.&lt;br /&gt;
&lt;br /&gt;
We found that being involved in GSoC encouraged our community to become more organized and accountable than usual.  It also instigated other developer activity and interest throughout our community, particularly amongst players that were eagerly interested in trying out the new facilities being developed by the students.&lt;br /&gt;
&lt;br /&gt;
The experience taught our mentors a great deal in terms of managing different personalities, expectations we had of their abilities to work with minimal process overhead, and how to respond quickly and effectively to inadequate levels of effort.  In our view, we did very well in managing our students but will need to dedicate even more time and attention to the students if we are allowed to participate again.  We intend to focus more on integrating the students quickly, engaging them more in the design and testing process throughout development, and making sure they follow our development criteria from start to finish so that we can help establish them as long-term developers in our community.&lt;br /&gt;
&lt;br /&gt;
= What is your plan for dealing with disappearing contributors? = &lt;br /&gt;
&lt;br /&gt;
If a student&#039;s interest or availability to participate in the summer project seems to be diverging or otherwise waning, efforts will be made to motivate the student through discussions and hands-on interactive development intended to stimulate their progress.  Being a 3D graphics-oriented game, we have the benefit of most tasks actually resulting in something &amp;quot;fun&amp;quot; that rather easily captures and maintains interest.  However, should the student&#039;s focus still remain diminished or should the student unexpectedly disappear without notice, the administrator will relay this status with Google after repeated attempts to contact the student fail.&lt;br /&gt;
&lt;br /&gt;
Also, as a learned measure from last year, the students are going to be required to make very frequent commits.  If they&#039;re not committing, then they are not working.  At least they won&#039;t be working effectively.  Having them commit frequently gives us a very good estimate of their activity level as well as where they are in the development process.  We strongly adhere to &amp;quot;commit early, commit often&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If the student is not around or is not working as much as they need to be, we will have discussions with them, see what&#039;s going on, and do so proactively.  We learned from one of our students last year when they were in serious danger of failing that a simple change in their accountability can have a massive impact on their motivation.  We will strive to recognize our students&#039; personalities quickly, so that we can impose as much or as little process overhead as it required for them to be effective developers.  Additional process requirements (such as daily or weekly reports and commit quotas) may then be imposed for students that consistently fall behind schedule.&lt;br /&gt;
&lt;br /&gt;
Similarly, by interacting with the students on a daily basis and preferably by having them be joined to our IRC channel while they are working on BZFlag, it allows mentors to keep a careful eye on all student progress and readily discuss issues with them.  As is done for any developer, having them be readily available for interactive discussion on IRC frequently helps avoid misunderstandings, disagreements, and frustrations and at worst makes any issues apparent as soon as possible.  The IRC channel is the hub of our primary development activity providing source commit announcements, developer access, user insight, interactive discussions, and near immediate response to questions and comments.&lt;br /&gt;
&lt;br /&gt;
Other than that, the formula for dealing with disappearing students really just boils down to communication.  It&#039;s a very organic process and we don&#039;t believe that there is one answer for all students.  The measures described above help us focus on having the most effective communication that works with our development team but will necessarily be tailored to each student individually.  Issues that we cannot resolve will be brought forward to Google for guidance, as was done last year.&lt;br /&gt;
&lt;br /&gt;
= What is your plan for dealing with disappearing members? = &lt;br /&gt;
&lt;br /&gt;
BZFlag contains an active community that is constantly engaged in providing assistance for any level of questions whether they are introductory user support questions or technical source code development questions.  The predominance of BZFlag&#039;s active software development interactions are discussed *entirely* on the #bzflag Freenode IRC channel.  We require that developers participate and interact on the IRC channel with other developers to their fullest capacity, and preferably without them relying on any single individual so that they may receive assistance and perspective from a variety of developers (it&#039;s not like all our developers always agree and, ultimately, our meritocracy prevails over decisions and directions).&lt;br /&gt;
&lt;br /&gt;
One of the main reasons for requiring developers to be on the IRC channel is to help mitigate issues whereby a student might encounter difficulties interacting with any particular individual.  It also exposes them to all developers so that they can become more quickly in-tune with which developers are presently active and the politics of our development practices.&lt;br /&gt;
&lt;br /&gt;
The students will be encouraged to interact on the IRC channel at all times to provide a continued on-going dialog with the other BZFlag developers as well so that everyone is informed of progress and development directions.  If a given mentor is not responding to the student, whether intentional or incapable, or if a mentor is unreachable for more than a couple days, one of several backup mentors are available to step in.&lt;br /&gt;
&lt;br /&gt;
Should some situation arise that prevents a mentor from being able to participate, several backup mentors are available that can be assigned to the student on the spot and immediately pick up where other mentors leave off.  Several of our mentors and administrators also know each other in person and have physical access to one another, so we can go smack them if they&#039;re not participating effectively or should they try to disappear online.  That said, all mentors are selected based on their activity this year to help minimize any issues.&lt;br /&gt;
&lt;br /&gt;
This year, we have also set up a mentor&#039;s blog to help our mentors make announcements more effectively and to provide suggestions for other GSoC projects.  This blog has already shown to be rather effective in making GSoC-specific announcements and for coordinating information amongst the mentors.  Once the students get started with their projects, we also plan to use the blog as a centralized information resource for developers to see the latest commits from the students and the status of their project progress.&lt;br /&gt;
&lt;br /&gt;
= What steps will you take to encourage contributors to interact with your community before, during, and after the program? =&lt;br /&gt;
&lt;br /&gt;
Being a game, i.e. an entertainment application, we have a somewhat unique benefit of actually being enjoyable before, during, and after the student&#039;s participation in the program and are even often &amp;quot;addictive&amp;quot;.  Most people enjoy playing BZFlag and often after they play the game for a little while, they can &amp;quot;get hooked&amp;quot; on the game.  &amp;quot;Quick to learn, difficult to master&amp;quot; is our motto and this holds true both in the game and for development.  Once new developers see the impact they&#039;re having on such a large user community, they quickly become addicted to the development aspects and making things more enjoyable for our players.  We encourage our developers to play so that they understand the needs of the game and the needs of the existing player community in addition to becoming familiar with how various portions of the source code relate to behaviors in the game.&lt;br /&gt;
&lt;br /&gt;
Before the program, we have a specific checklist of tasks that we have prepared to give them definitive actions that they need to perform.  These steps include introducing themselves to our IRC channel, having a Sourceforge account, becoming familiar with Subversion if they are not already, checking out the BZFlag sources, compiling their own version of BZFlag, playing the game with that version, registering with our global account services, becoming familiar with our websites and on-line services, and publishing their list of goals milestones for the community to see. &lt;br /&gt;
&lt;br /&gt;
As our IRC infrastructure and developer operations are already well established, we can (and frequently do) readily point new developer interests to our documentation and engage them in discussion.  We have lots of existing documentation, web infrastructure, and network resources available to get new developers familiar and interested in development directions quickly.  Given our involvement with GSoC last year, we now also have an established mindset of successful interaction criteria that gets students quickly involved in our user community so that they feel like part of the family.&lt;br /&gt;
&lt;br /&gt;
One of the interactions that worked very well last year was having the students directly interact with the users, letting them represent their efforts, and having their efforts be strongly supported and promoted by the other developers.  We intend to take additional steps this year to continuously integrate the students&#039; code throughout the program and work on introducing our player community to the features being developed even more early on.  The goal will be to instill a sense of belonging and a sense of appreciation for the hard-work they are putting into their code.&lt;br /&gt;
&lt;br /&gt;
= What will you do to ensure that your accepted contributors stick with the project after the program concludes? =&lt;br /&gt;
&lt;br /&gt;
It is our responsibility to not neglect or abandon the students.  We have to give them the time and attention that they deserve, and we need to share with the students the respect and appreciation we have of their efforts so that they remain interested and involved.  BZFlag is fortunate to have not had any significant issues with attrition; many of our developers tend to remain involved with the project for a long time.  There is natural turn-over as interests shift and general fluctuations from year to year, but we sustain a relatively stable development rate and that is in no small part due to our interactive and friendly development environment.&lt;br /&gt;
&lt;br /&gt;
New developers are often enticed to stick around and contribute simply because we actively promote their changes to the user community when releases are made, and the user community responds vocally to just about every single modification that gets made to the game no matter how small.  For the topics that we are soliciting ideas, the efforts of the student have the ability to make a major impact on the game that will be exceedingly visible, and will encourage continued development not only by the student but other developers as well.  We will necessarily encourage students to remain involved with the project by welcoming them to our development team, integrating them as quickly as possible, giving them development responsibilities, and showing them the rewards and impact of their efforts.&lt;br /&gt;
&lt;br /&gt;
It&#039;s our job to encourage their passion for BZFlag development long after GSoC concludes.&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
	<entry>
		<id>https://wiki.bzflag.org/index.php?title=Google_Summer_of_Code:_2009:OrgApplication&amp;diff=5550</id>
		<title>Google Summer of Code: 2009:OrgApplication</title>
		<link rel="alternate" type="text/html" href="https://wiki.bzflag.org/index.php?title=Google_Summer_of_Code:_2009:OrgApplication&amp;diff=5550"/>
		<updated>2009-03-13T17:44:39Z</updated>

		<summary type="html">&lt;p&gt;Bullet Catcher: Use less precision for the number of registered players.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description = &lt;br /&gt;
BZFlag is a free online multiplayer cross-platform open source 3D tank battle game that is maintained by an active community of individuals distributed all around the world.  It is one of the most successful and sustained cross-platform open source games ever with an active developer, administrative, and player community.  There have been more than a million downloads in the last five years alone and our user base presently consists of more than 200 players online at any time of day or night.  The project has actually become more popular over the years as we continue to improve and enhance the game.  BZFlag has been under active development since 1992.&lt;br /&gt;
&lt;br /&gt;
Our organization is presently comprised of a rather disparate group of individuals that work on BZFlag because they love the game and the community that surrounds it.  There are presently 71 individuals entrusted with access to BZFlag core resources including 46 individuals that have committed source code modifications over the project&#039;s life span.  Our developer base presently consists of 9 documented core developers that have made extensive contributions to the game and remained active over many years, along with about a dozen apprentice-level developers that are coming up in the ranks, and about two dozen peripheral/casual developers, extension developers, and web integration programmers.  Additionally, there are several dozen trusted staffers, server operators, and graphic artists that assist in the day-to-day operations needed by the game for keeping servers up and running, providing server list services, designing artwork, providing network statistics, image hosting, web hosting, and much more.&lt;br /&gt;
&lt;br /&gt;
All of our project developers almost exclusively collaborate on the #bzflag Freenode IRC channel, which is the central hub for most of our development discussions, decision planning meetings, game operations, and network infrastructure administration.  We operate via a benevolent dictatorship combined with a meritocracy that strives for consensus between the core developers and other involved community members.  Extensive discussions are held for any changes to BZFlag that affect the game&#039;s traditional spirit, mood of gameplay, tone of the user environment, and types of interactions possible in the game.  These discussions also include considerations whenever there are new features being added such as new flags, enhanced graphics, or changes to the gameplay.  We also serve as a support arm to our user community assisting them with anything from how to get started playing to providing assistance with setting up their own server or even helping them write their own new extensions to the game.&lt;br /&gt;
&lt;br /&gt;
From IRC, we administer network operations for more than 19000 registered players and for the tens of thousands of unregistered players that engage in more than 10000 daily player sessions across more than 250 public servers.  As we are a globally distributed network-oriented game, we also maintain the public server listings, provide player tracking, network statistics, global authentication, user and group management, abuse and ban controls, player conflict resolution, competitive league management, and user community support.&lt;br /&gt;
&lt;br /&gt;
= Why is your group applying to participate? What do you hope to gain by participating =&lt;br /&gt;
&lt;br /&gt;
Our primary intention for participating in GSoC 2009 is to hopefully attract new developers.  We already have visibility, popularity, familiarity, and a very active community.  The strongest factor in our long-term development initiatives, however, is the number of active developers that we have at any given time.&lt;br /&gt;
&lt;br /&gt;
GSoC has shown to provide an exceptional opportunity for us to entice new developers to our community and keep them working with us over the long term.  It&#039;s been a great program for attracting new talent, inspiring new development initiatives, and even for getting our own developers more organized and collaborating more effectively.&lt;br /&gt;
&lt;br /&gt;
We&#039;ve enjoyed collaborating on experimental efforts that have had strong academic and research goals, while helping promote and improve BZFlag in the process.  BZFlag is used by several universities (e.g., Brigham-Young University) as an artificial intelligence framework and has also been the subject of several academic research projects related to network communications (ACM-published research papers).  Just this past year, Indiana University worked with our staff to use BZFlag as a platform for conducting a social network analysis.  We&#039;d particularly like to improve these facilities to help encourage even wider use of BZFlag for academic and research purposes.&lt;br /&gt;
&lt;br /&gt;
Task-wise, we hope to work with these new developers to implement several enhancements to BZFlag that we know will have a big impact on those that play the game.  We found out last year that participating in GSoC simulates our project development activities and forces us to become more organized, collaborative, and deliberate in our focus.  Our community is simply filled with great ideas on how to improve the game in wide impacting ways and we would like to encourage these developments.  GSoC provides a mutually beneficial means to that end, particularly for students that we can attract to our project as new developers that stay with the project.&lt;br /&gt;
&lt;br /&gt;
= What criteria do you use to select the members of your group? Please be as specific as possible. =&lt;br /&gt;
&lt;br /&gt;
All of the mentors listed are actively engaged in the BZFlag community as core developers, apprentice developers, web service developers, and network operators.  Mentors were selected from among our core community of project contributors that are actively engaged on a day-to-day basis .  All mentors needed to have gained enough rapport and trust with those already actively involved to the extent that they&#039;ve been entrusted with source code access, decision-making authority, and that have sustained activity for months or years on end.  The mentors also needed to show competency in the BZFlag source code, our project directions, our operating philosophies, and a basic familiarity with our social dynamic.&lt;br /&gt;
&lt;br /&gt;
Several of our apprentice developers were specifically chosen due to the unique perspective that they bring to the development processes.  Those individuals help bridge the player-developer gap as those new developers tend to come straight out of the player community and/or are heavily involved and familiar with the needs of our users.  They form a critical part of our technical support infrastructure.&lt;br /&gt;
&lt;br /&gt;
Cumulatively, the #bzflag IRC channel provides even more insight, interaction, and mentoring support as our community spans several domains of software development expertise including game development, computer-aided design, computer-aided machining, software testing, web development, computer graphics development, systems and kernel development, and general application development.  As our channel is constantly (24/7) engaged in user and developer support to a global community, the channel will be our predominant means of interaction for all mentors and students.  Each individual listed can also dedicate a minimum of 10 hours a week on average with an understanding that there are additional demands on their time at the start, midterm, and final evaluation periods of the program.&lt;br /&gt;
&lt;br /&gt;
= Has your group participated previously? If so, please summarize your involvement and any past successes and failures. =&lt;br /&gt;
&lt;br /&gt;
Yes, we participated for the first time in 2007 and again in 2008.  We quickly found that being involved in GSoC requires considerable time and resources necessitating massive amounts of coordination, communication, and progress tracking.  Our developers spent many hours mentoring students, reviewing their code, and discussing implementation details.&lt;br /&gt;
&lt;br /&gt;
We found that being involved in GSoC encouraged our community to become more organized and accountable than usual.  It also instigated other developer activity and interest throughout our community, particularly amongst players that were eagerly interested in trying out the new facilities being developed by the students.&lt;br /&gt;
&lt;br /&gt;
The experience taught our mentors a great deal in terms of managing different personalities, expectations we had of their abilities to work with minimal process overhead, and how to respond quickly and effectively to inadequate levels of effort.  In our view, we did very well in managing our students but will need to dedicate even more time and attention to the students if we are allowed to participate again.  We intend to focus more on integrating the students quickly, engaging them more in the design and testing process throughout development, and making sure they follow our development criteria from start to finish so that we can help establish them as long-term developers in our community.&lt;br /&gt;
&lt;br /&gt;
= What is your plan for dealing with disappearing contributors? = &lt;br /&gt;
&lt;br /&gt;
If a student&#039;s interest or availability to participate in the summer project seems to be diverging or otherwise waning, efforts will be made to motivate the student through discussions and hands-on interactive development intended to stimulate their progress.  Being a 3D graphics-oriented game, we have the benefit of most tasks actually resulting in something &amp;quot;fun&amp;quot; that rather easily captures and maintains interest.  However, should the student&#039;s focus still remain diminished or should the student unexpectedly disappear without notice, the administrator will relay this status with Google after repeated attempts to contact the student fail.&lt;br /&gt;
&lt;br /&gt;
Also, as a learned measure from last year, the students are going to be required to make very frequent commits.  If they&#039;re not committing, then they are not working.  At least they won&#039;t be working effectively.  Having them commit frequently gives us a very good estimate of their activity level as well as where they are in the development process.  We strongly adhere to &amp;quot;commit early, commit often&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If the student is not around or is not working as much as they need to be, we will have discussions with them, see what&#039;s going on, and do so proactively.  We learned from one of our students last year when they were in serious danger of failing that a simple change in their accountability can have a massive impact on their motivation.  We will strive to recognize our students&#039; personalities quickly, so that we can impose as much or as little process overhead as it required for them to be effective developers.  Additional process requirements (such as daily or weekly reports and commit quotas) may then be imposed for students that slip consistently fall behind schedule.&lt;br /&gt;
&lt;br /&gt;
Similarly, by interacting with the students on a daily basis and preferably by having them be joined to our IRC channel while they are working on BZFlag, it allows mentors to keep a careful eye on all student progress and readily discuss issues with them.  As is done for any developer, having them be readily available for interactive discussion on IRC frequently helps avoid misunderstandings, disagreements, and frustrations and at worst makes any issues apparent as soon as possible.  The IRC channel is the hub of our primary development activity providing source commit announcements, developer access, user insight, interactive discussions, and near immediate response to questions and comments.&lt;br /&gt;
&lt;br /&gt;
Other than that, the formula for dealing with disappearing students really just boils down to communication.  It&#039;s a very organic process and we don&#039;t believe that there is one answer for all students.  The measures described above help us focus on having the most effective communication that works with our development team but will necessarily be tailored to each student individually.  Issues that we cannot resolve will be brought forward to Google for guidance, as was done last year. &lt;br /&gt;
&lt;br /&gt;
= What is your plan for dealing with disappearing members? = &lt;br /&gt;
&lt;br /&gt;
BZFlag contains an active community that is constantly engaged in providing assistance for any level of questions whether they are introductory user support questions or technical source code development questions.  The predominance of BZFlag&#039;s active software development interactions are discussed *entirely* on the #bzflag Freenode IRC channel.  We require that developers participate and interact on the IRC channel with other developers to their fullest capacity, and preferably without them relying on any single individual so that they may receive assistance and perspective from a variety of developers (it&#039;s not like all our developers always agree and, ultimately, our meritocracy prevails over decisions and directions).&lt;br /&gt;
&lt;br /&gt;
One of the main reasons for requiring developers to be on the IRC channel is to help mitigate issues whereby a student might encounter difficulties interacting with any particular individual.  It also exposes them to all developers so that they can become more quickly in-tune with which developers are presently active and the politics of our development practices.&lt;br /&gt;
&lt;br /&gt;
The students will be encouraged to interact on the IRC channel at all times to provide a continued on-going dialog with the other BZFlag developers as well so that everyone is informed of progress and development directions.  If a given mentor is not responding to the student, whether intentional or incapable, or if a mentor is unreachable for more than a couple days, one of several backup mentors are available to step in.&lt;br /&gt;
&lt;br /&gt;
Should some situation arise that incapacitates a mentor from being able to participate, several backup mentors are available that can be assigned to the student on the spot and immediately pick up where other mentors leave off.  Several of our mentors and administrators also know each other in person and have physical access to one another, so we can go smack them if they&#039;re not participating effectively or should they try to disappear online.  That said, all mentors selected based on their activity this year to help minimize any issues.&lt;br /&gt;
&lt;br /&gt;
This year, we have also set up a mentor&#039;s blog to help our mentors make announcements more effectively and to provide suggestions for other GSoC projects.  This blog has already shown to be rather effective in making GSoC-specific announcements and for coordinating information amongst the mentors.  Once the students get started with their projects, we also plan to use the blog as a centralized information resource for developers to see the latest commits from the students and the status of their project progress.&lt;br /&gt;
&lt;br /&gt;
= What steps will you take to encourage contributors to interact with your community before, during, and after the program? =&lt;br /&gt;
&lt;br /&gt;
Being a game, i.e. an entertainment application, we have a somewhat unique benefit of actually being enjoyable before, during, and after the student&#039;s participation in the program and are even often &amp;quot;addictive&amp;quot;.  Most people enjoy playing BZFlag and often after they play the game for a little while, they can &amp;quot;get hooked&amp;quot; on the game.  &amp;quot;Quick to learn, difficult to master&amp;quot; is our motto and this holds true both in the game and for development.  Once new developers see the impact they&#039;re having on such a large user community, they quickly become addicted to the development aspects and making things more enjoyable for our players.  We encourage our developers to play so that they understand the needs of the game and the needs of the existing player community in addition to becoming familiar with how various portions of the source code relate to behaviors in the game.&lt;br /&gt;
&lt;br /&gt;
Before the program, we have a specific checklist of tasks that we have prepared to give them definitive actions that they need to perform.  These steps include introducing themselves to our IRC channel, having a Sourceforge account, becoming familiar with Subversion if they are not already, checking out the BZFlag sources, compiling their own version of BZFlag, playing the game with that version, registering with our global account services, becoming familiar with our websites and on-line services, and publishing their list of goals milestones for the community to see. &lt;br /&gt;
&lt;br /&gt;
As our IRC infrastructure and developer operations are already well established, we can (and frequently do) readily point new developer interests to our documentation and engage them in discussion.  We have lots of existing documentation, web infrastructure, and network resources available to get new developers familiar and interested in development directions quickly.  Given our involvement with GSoC last year, we now also have an established mindset of successful interaction criteria that gets students quickly involved in our user community so that they feel like part of the family.&lt;br /&gt;
&lt;br /&gt;
One of the interactions that worked very well last year was having the students directly interact with the users, letting them represent their efforts, and having their efforts be strongly supported and promoted by the other developers.  We intend to take additional steps this year to continuously integrate the students&#039; code throughout the program and work on introducing our player community to the features being developed even more early on.  The goal will be to instill a sense of belonging and a sense of appreciation for the hard-work they are putting into their code.&lt;br /&gt;
&lt;br /&gt;
= What will you do to ensure that your accepted contributors stick with the project after the program concludes? =&lt;br /&gt;
&lt;br /&gt;
It is our responsibility to not neglect or abandon the students.  We have to give them the time and attention that they deserve, and we need to share with the students the respect and appreciation we have of their efforts so that they remain interested and involved.  BZFlag is fortunate to have not had any significant issues with attrition; many of our developers tend to remain involved with the project for a long time.  There is natural turn-over as interests shift and general fluctuations from year to year, but we sustain a relatively stable development rate and that is in no small part due to our interactive and friendly development environment.&lt;br /&gt;
&lt;br /&gt;
New developers are often enticed to stick around and contribute simply because we actively promote their changes to the user community when releases are made, and the user community responds vocally to just about every single modification that gets made to the game no matter how small.  For the topics that we are soliciting ideas, the efforts of the student have the ability to make a major impact on the game that will be exceedingly visible, and will encourage continued development not only by the student and other developers as well.  We will necessarily encourage students to remain involved with the project by welcoming them to our development team, integrating them as quickly as possible, giving them development responsibilities, and showing them the rewards and impact of their efforts.&lt;br /&gt;
&lt;br /&gt;
It&#039;s our job to encourage their passion for BZFlag development long after GSoC concludes.&lt;/div&gt;</summary>
		<author><name>Bullet Catcher</name></author>
	</entry>
</feed>