Over the years, I’ve done quite a bit of game server hosting for BZFlag. I’ve run an assortment of maps and styles, from old school box and pyramid maps to “high” poly count mesh based maps. In this time, I’ve come up with a few tricks to make running and administering my servers a little easier. I’m no expert at this, however, and there are much cooler/better tricks. But I’ll cover a couple tricks that I use for hosting my servers.
In BZTip #3 – Commands for admins – Part 1, we covered the first section of commands that admins or cops typically use on a daily basis. In part 2, we will cover the various ban commands that are available. In BZFlag, there is three different types of bans: IP bans, host bans, and ID bans. Each type has their own set of commands. When a banned user tries to join, they should see the fact that they are banned, the reason they are banned, and who banned them. Read More »
The various server commands and client commands/options that BZFlag offers can be a huge benefit to server administrators and cops if used to their full potential.
This BZTips session will cover how to use some of the server side commands for typical server administration. I will not be covering all of the server commands, just the ones that are typically used by an admin or a cop. A typically server owner will have additional commands that an admin or cop will not have access to.
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.
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.