Is there such a thing as too much BZFlag?

BZTips #2 – Client-side variables

by blast on 2009-03-03, 6 comments

The BZFlag client and server both use what’s called the BZDB (BZFlag DataBase) to store different variables. Many of you know about the various server variables that BZFS has. You can also set client-side variables using the /localset command. To run this, you would hit ‘n’ or whatever your chat key is, type /localset, and then the name of the variable you want to change. After that, you need to type the new value for that variable. Once you have all that, you can press Enter. On 2.0.x versions of the game, you have to be on a server to run /localset. In recent code (what will become 3.0.0), you do not have to be on a server to run it.

Here’s an example of what you could run:

/localset someVariableName 1

Okay, now that you know how to set client-side variables, I’m going to cover a handful of them that aren’t exposed in the GUI.


The showCoordinates variable can be set to 1, which will then show your tank’s current coordinates in the top right corner of the screen. This can be useful for map development to determine the position of the tank when resting on an object or platform.


This is another boolean value (0 for off, 1 for on) that you can set. When this variable is turned on, and you are in the observer mode following or driving with a tank, it will switch the camera view to a view of their bullet when they fire. This might be removed in future versions of BZFlag, but it exists in at least 2.0.10. Kinda makes you sick if you use it for too long, but it is fun to fly along with a guided missile.


This one is especially useful for getting good screenshots. It turns off the manority of the user interface. The radar and chat panel still remain, but you can turn those off with ‘q’ and ‘w’. With all of that combined, you can get a screenshot that doesn’t have any text or user interface.


This one is mainly useful for admins. You can set this to a ratio (such as 0.3) and if a user has that ratio of team kills (30%, based on the previous example), then it will highlight their number of TKs in cyan. Neat!


These two options can be altered, and will affect stuff like the star patterns. I’m not sure what all effects this has (might affect the moon/sun position, time of sunrise/sunset, etc), but feel free to play around with it. The sky system in BZFlag is quite advanced.

EDIT: trepan also mentioned that some (or all?) of theses could be replaced with Lua scripts. However, to replicate trackShots, you’d need to use LuaWorld or LuaBzOrg, since LuaUser cannot access shot data.

BZTips #1 – Client Side Chat Filtering

by blast on 2009-02-22, 3 comments

Today I’m going to start a set “BZTips” postings. These will focus on some of the lesser known features of BZFlag. For this first posting, I will cover Client Side Chat Filtering.

Many servers have a chat filter set up to block profanity. But there are still quite a few that do not have such a filter. If you want to censor out profanity on those servers, there is a way built into the client to do this.

The method to accomplish this varies depending on the operating system, but it all involves passing -badwords to the BZFlag executable along with a path to the badwords file. Full directions provided in this article.

more →

Missile Wars 2 & BZFlagr

by blast on 2009-02-15, no comments

As some of you probably heard, Winny is no longer hosting Missile Wars 2. The map won’t go away though, as I have picked up the hosting for it. You can find it at It should be set up identical to the old server, including the admins/cops.

I have a few more tweaks to get in there, but I’ll try to wait until the server slows down a bit to restart it. Though I’m finding that this map doesn’t ever slow down that much…

EDIT: I have moved the server to port 5154.

Read more at:

Now offering free map hosting

by blast on 2009-02-02, no comments

Attention all map authors. Need a host for your maps? Then check out my map hosting page for more information.

I have hosted maps for several people in the past, but this is the first time I’ve put the offer out there in the open.

Eventually I hope to have a powerful web interface for map hosting, but for now it will be basic hosting.

Pre-Alpha Build: bzflag-

by blast on 2009-01-22, no comments

I threw together a Windows installer of the BZFlag development code. Version 2.99.15 from today can be downloaded from the post on the official forum. I’m not entirely sure if it will work, because it was built with the Express version of Visual C++ 2008. I haven’t tested it on a machine without that installed. I’d love to hear some feedback either here or on the forum post about it.

I’m pretty sure that not all of the BZFS plugins will work, as the installer script doesn’t yet copy over all of the templates for the HTTP plugins. Eventually those will be added in, as well as the Visual C++ 2008 SP1 redistributable package. We’re still a ways from an official 3.0 release, as there are a few critical bugs that need to get fixed.

Relief shading and fancy lighting

by blast on 2009-01-19, one comment

This Lua stuff is really interesting. For this post, I’ll be showing some more screenshots from trepan’s test server. These are from last Sunday. They show relief shading and I think they also have multitexturing. Bit of an FPS killer though. When I’m on the ground, I’m getting only 45FPS. Might not seem that low, but I’m also able to get over 500FPS without that stuff. I was running in Ubuntu 8.10 on an nVidia 9800GTX+ at 1920x1200x32bit with everything turned on except anti-aliasing.

Small sample of what’s to come

by blast on 2009-01-07, no comments

There have been some recent additions to the development code of BZFlag that will interest map authors. trepan has been adding support for Lua scripts in BZFlag. Initially he added support for writing server plugins in the Lua scripting language. This is going to make it easier for plugins authors to write plugins if they are not familiar with C++. There are a few other languages have been tied into the BZFS API over time, including Python and JavaScript. What is different about the Lua stuff trepan added is that it’s even possible to integrate plugins directly into a map file.

He also recently commit some changes that enable client-side Lua scripts. These come in two forms: LuaUser and LuaWorld. LuaUser allows an individual user to customize the look of their UI (and probably more).

LuaWorld will be sent along with the map data when you join a server. It will enable map authors to add graphical details or UI changes that were not possible before without modifying the client itself. Here are some screenshots of a modified version of HiX that trepan made. It includes a Lua script that alters how the client renders the map. In this case, it adds ground-level fog to the map, but lots of other things are possible. Lua code could even be used to draw map objects.

Happy New Year!

by blast on 2009-01-04, no comments

Hope everyone had a great New Year. It’s 2009, and maybe we’ll see a new release of BZFlag this year.

The BZFlag developers are currently trying to get version 3.0 ready. The current version number in our SVN is in the format of 2.99.x, based on our new version number scheme. There are still some serious bugs in the code that is preventing a release. If you would like to help test, fix, or report bugs, compile a client from SVN trunk code and/or get ahold of us on the main BZFlag IRC channel. You can find this on the server in the channel #bzflag.

Official BZFlag Forum Upgrade

by blast on 2008-12-29, no comments

I finally got around to upgrading the official BZFlag forum to phpBB 3. Had a few quirks, mainly with the authentication for the game clients/servers. The new version of phpBB uses the utf8_bin collition, which is case sensitive. Had to use a bit of code from phpBB to convert a username to a ‘clean’ username, and then compare that to the ‘username_clean’ column instead of the ‘username’ column. Groups also had the same issue (case sensitive comparisons via the queries), so I just made all of them uppercase in the database. Hopefully that’s the last of the major issues.

Jingle Tanks

by blast on 2008-12-25, 2 comments

Dashing to your base
In my 3D rendered tank
Gonna steal your flag
Cap it several times!
You get a super flag
And shoot me in the butt
As my tank blows into chunks
I mutter “WTF!”

Oh, jingle tanks, jingle tanks
Jingle all the way!
Oh what fun it is to shoot
A bullet through your taa-AANK!
Jingle tanks, jingle tanks
Jingle all the way!
Oh what fun it is to shoot
A bullet through your tank!