First database update: 2006-10-27 17:10:03 UTC
Last database update: 4 min :o)
Global BZFlag Login

To avoid misuse of the login credentials of your global BZBB account, please use the following link that will redirect to the BZstats site after successful login.
login @BZBB
What is the purpose of this site?
Wait, have I not seen this before?
So, this is the first and only web page which merges all this information?
Are there any differences to the old site?
Which scripts are used to gather the data? Are they based on the scripts bzfquery.py, bzfquery.pl, bzfquery.php, ... at GitHub (previously at SourceForge.net)?
What kind of data is queried anyway...and how?
How frequently are these queries performed?
Wouldn't it be good to have more frequent updates to get more up-to-date information?
But what if some server owners object to being queried by your site?
What can be done with the collected data?
Is it possible for others to access the raw data?
Btw., which BZFlag server are supported and queried?
Is this an open source project?
Thus all this depends solely on your goodwill?
And now "Gretchen's question": How long will this service be available (for free)?




What is the purpose of this site?
Overall it aims to provide a good overview of BZFlag servers, player, leagues and additional information.


Wait, have I not seen this before?
Sure you have.
This web page combines features from many different sites. It is based on data about the servers and players, not unlike what is available on Noodleman's got stats?. The general look of BZstats was also inspired by his page.
Additional data about players and teams of the most prominent BZFlag leagues has been integrated in many views and is also available via the Leagues section. David_V's Fortix site featured something similar, but due to some error it unfortunately failed to deliver further data at some point.
Another important part is myBZbuddies. This enables the user to enter his BZflag friends which are then displayed in a convenient sidebar at all times. This feature has been adopted from Fansite "The Legendary ZeeBrothers" where it is known as myTLZ.
And last, but not least, the BZinfo section has a plethora of informaton about BZFlag which has been deemed interesting and/or useful by the author of this page (i.e. me :o) and which has already been available on strayer.de for some time.


So, this is the first and only web page which merges all this information?
Yes and no.
On one hand, I have already created a first draft which is very similar to this one with respect to looks and features. On the other hand, I cannot be sure that there are no similar sites. However, I don't know of one - or I would not have gone to such lengths to create this one.


Are there any differences to the old site?
Yes.
Except for the general look, all sections have changed completely. The scripts used to collect all the data have been rewritten from scratch with the goal of being easier to maintain in case of new BZFlag protocol versions or potential errors. The data collection is fundamentally different. The web page itself was also redone and should be easier to maintain than the old version.


Which scripts are used to gather the data? Are they based on the scripts bzfquery.py, bzfquery.pl, bzfquery.php, ... at GitHub (previously at SourceForge.net)?
All data collection and management is implemented in the scripting language PHP for the simple reason that this enables me to easily run BZstats on any web hoster which provides PHP 5 and MySQL 4.1 (or above).
All scripts have been written by myself and are not really compatible to the ones from GitHub. However, my first script was based on the source of bzfquery.pl (from 2002), but it has heavily changed since then.


What kind of data is queried anyway...and how?
The data queried includes information about servers, players and leagues.
The basic server data is provided by the BZFlag list server. It has a list of publicly-known servers along with their configuraton and brief description, as well as the current number of players.
All servers having at least one player (who might be an observer) are then queried individually to get the names, scores and team color of all players on it. All this data is then packed and stored in a database.


How frequently are these queries performed?
To limit network traffic, server stress and the amount of data stored, the active BZFlag servers are queried every 5 minutes.
The league data is updated several times a day.
All general game data extracted from GitHub (see section BZinfo) are checked for updates once a day and are refreshed when needed.


Wouldn't it be good to have more frequent updates to get more up-to-date information?
No.
However, for servers which are marked as match servers of the supported leagues, it is possible to use the link "force data refresh" to get an up-to-date view. The data thus acquired is not stored into the database, however; it is merely displayed to the user.
You should consider that these manually-initiated queries increase network traffic and server load of both the BZFlag server and the BZstats web server.


But what if some server owners object to being queried by your site?
This is a problem. Due to the large number of servers I was not able or willing to ask each of the server owners, but there are the following options:
- The server owner contacts me and I will stop all queries to that server immediately.
- The server owner simply blocks my requests.
(I would prefer the first option.)


What can be done with the collected data?
In theory, almost anything. The only constraints are performance (database queries), server capacity (for possible caching) and the fact that all data is stored in a compressed form. That means that player data is stored in sessions and the information about the evolution of a player's score within a session cannot be extracted. Without this compression (which saves about 95% of storage space), the servers storage would be exhausted too quickly.


Is it possible for others to access the raw data?
Yes, but only on request.
Direct access to the database is currently not permitted, but using a script HTTP requests can be performed which deliver the desired data in an easily parsable format.


Btw., which BZFlag server are supported and queried?
All public servers running version 1.7x, 1.10.x, 2.0.x, 2.4.x as well as some of the intermediate development versions.


Is this an open source project?
No.


Thus all this depends solely on your goodwill?
Yes and no.
In principle, I am not willing to publish everything (therefore it is no open source project). However, I would happily provide the source code of the PHP scripts which are used to query the servers (I am somewhat proud of that code ;o). Regarding the scripts which update the database containing the player, server, GitHub and league data as well as the web site itself, I will decide as the case arises, whether I will provide the source code. The reasons are that the code is not very beautiful and I want to avoid the easy exploitation of potential security holes. Thus, I would like to decide for myself who can have a look at it. You're right, I am an egotist...
Let me also say that all the scripts located and running on the current server also depend on [dmp] who generously offered his server for free although BZstats is a rather demanding application.


And now "Gretchen's question": How long will this service be available (for free)?
Well...in general I can say that I'll run the data collection and the web page as long as I can/am allowed to/want to. I'll also never ask for payment for this service as far as I have the possibility to access to free resources. But I can't rule out not placings some advertising on the web page in future. If it will be shown to all or only to unregistered players is a good question...time will tell. :o)


load time: 0.0409 sec