BZFlag Administrator Help

Table of Contents

Administrator Groups

Privilege Levels

There are 3 administrator groups defined for the BZFlag servers:

Short NameGroup NameDescription
JRADMINNORANG.JRADMINJunior Administrator
SRADMINNORANG.SRADMINSenior Administrator
TRADMINNORANG.TRADMINTrusted Administrator
HDADMINNORANG.HIDETrusted Hidden Administrator

You can view the privileges defined for any group with /groupperms. You can show the groups you are in with /showgroup .

Server Rules

Please review the server rules.

Most servers have the same set of rules. Additional game rules exist on the Olympic server.

Try to admin from the sidelines and only deal with problem players. If the game is running well leave it alone.

If you /kill (or /kick or /ban) players just because you can you'll lose your administrator status. Please use your administrator privileges responsibly.

Bans

Bans are global and affect all servers. There is a script that propagates ban changes to the webserver which in turn distributes the new ban file to all of the game server hosts. Each bzflag server uses the serverControl plugin to synchronize the ban list with other servers on the host. Ban propagation to all servers takes less than 30 seconds normally. You'll see a Ban list updated message broadcast when the server responds to a ban file change.

Master ban changes are synchronized every 30 minutes and display a Master Ban List updated message broadcast by the server when it changes.

You can display the current banlist with /banlist. Master ban entries (from bzflag.org) are flagged with an (m).

  • Ban Command Format

    On any bzflag server you can get the correct format for the /ban command by simply issuing the /ban command with no parameters. This works for most server commands.

    Server help from the /ban command is:

    [SERVER->] Syntax: /ban <#slot | PlayerName | "Player Name" | ip> <duration> <reason>
    [SERVER->]  <duration> can be 'short' or 'default' for the default ban time
    
    [SERVER->]  or 'forever' or 'max' for infinite bans
    [SERVER->]  or a time in the format <weeks>W<days>D<hours>H<minutes>M
    [SERVER->]  or just a number of minutes
    [SERVER->]  Please keep in mind that reason is displayed to the user.
    

    You read < a | b | c | d > in the format above as 'or' so it is:

    /ban followed by one of #slot or PlayerName or ="Player Name"= or ip followed by duration and then reason

    Example ban command formats:

    • Ban player in slot #3 for 10 minutes with reason 'Lag is too high - please rejoin later'
    /ban #3 10m Lag is too high - please rejoin later
    
    • Ban player with IP 1.2.3.4 for 10 minutes with reason 'Lag is too high - please rejoin later'
    /ban 1.2.3.4 10m Lag is too high - please rejoin later
    
    • Ban a player with a callsign Freddie - simple callsign (no spaces) for 10 minutes with reason 'Lag is too high - please rejoin later'
    /ban Freddie 10m Lag is too high - please rejoin later
    
    • Ban a player with callsign 'Freddie Frazier' - callsign with spaces for 10 minutes with reason 'Lag is too high - please rejoin later'
    /ban "Freddie Frazier" 10m Lag is too high - please rejoin later
    
    • Ban a player with bzid 1234 for 1 day with reason 'Language. Kids play here. Keep it clean.'
    /idban +1234 1d Language. Kids play here. Keep it clean.
    
    • Ban a player's ISP
    /hostban *.norang.ca 7d You need to put better help on the website instead of playing
    

    Player IP and host information is normally displayed with the /playerlist command or alternatively you can get it from the website logs and PlayerInfo function.

    It's possible to ban IPs with wildcards but that's not recommended since it's way too broad normally.

    hostbans are used as a last resort for dealing with problem players on a dynamic IP connection.

    If necessary the servers will temporarily switch to registered only play to deal with players that constantly change their IP to bypass bans.

  • Ban Durations

    The default duration is in minutes. If you don't specify a unit the ban command will use minutes.

    Permanent bans (ones that will not expire) are specified with a duration of 0 (zero), 'max', or 'forever'.

    Here are some ban duration examples:

    DurationDescription
    0Permanent non-expiring ban
    1010 minutes
    20m20 minutes
    3h3 hours
    1d1 day
    2w2 weeks
    default5 hours (short ban duration - maximum for JRADMINS)
    maxpermanent ban (same as 0)
    foreverpermanent ban (same as 0 )

    Normally I ban for 10 minutes for lag issues - which tends to make players go find another server to play on. The ban expires quickly and the player can try again later since lag can depend on Internet usage and time of day.

    For rule offences (language, Team Killing, etc) I issue a 1 day ban. Junior Admins are restricted to 5 hours max mainly to keep themselves from accidentally banning large portions of the Internet (or themselves) forever :D

    Repeated rule offences earn longer bans (2 days, 3 days, 7days, 30 days, forever). In general that policy seems to work well. Non-admin players are now warning other players about language offences when admins are not around. :D

Servers

The summary page for the server host shows the status of our BZFlag servers. Test servers are marked with a blue background in the server summary table.

JRADMINs have SRADMIN privs on Test servers for using /set, /shutdownserver, and other server commands. Regular servers require SRADMIN privs for /set.

Plugins

Required Plugins

The following plugins are standard and should always be loaded on every server:

PluginFunction
serverControlStops or restarts a server, Synchronizes banlists. Unloading this plugin will make the server no longer respond to commands from the website and will make its banlist go out of date.
logDetailLogs player events and conversations. Unloading this plugin will stop all logging on the server which will effectively kill the interface to the website for tracking what is going on

Do not unload these plugins.

These plugins keep the website up-to-date and functioning properly.

Plugins are displayed with the /listplugins command. Plugins are loaded and unloaded with the /unloadplugin and /loadplugin commands.

The standard plugins are loaded on every map automatically when the server starts. Additional plugins are available.

Available Plugins

The table below details available plugins. I'll be keeping this table up to date as new plugins are added.

NameRequiredDescriptionParametersExample
airspawnNoTanks spawn in the airHeight above ground to spawn/loadplugin plugins/airspawn,50
hiddenAdminNoHides admin @ signs on the score list/loadplugin plugins/hiddenAdmin
HoldTheFlagNoNew command /htfTEAM=color/loadplugin plugins/HoldTheFlag,TEAM=Red
RogueGenocideNoKill a Rogue with genocide and they all die./loadplugin plugins/RogueGenocide
playHistoryTrackerNoServer prints amusing messages during play/loadplugin plugins/playHistoryTracker
serverControlYESAllows remote control for server shutdown/loadplugin plugins/serverControl
shockwaveDeathNoA shockwave fires at position of dying player.usevictim/loadplugin plugins/shockwaveDeath[,usevictim]
logDetailYESLogging player events for the website/loadplugin plugins/logDetail
nagwareNoBug unregistered players about registering. New command /nagconfig file/loadplugin plugins/nagware,plugins/nagware.cfg

If you want to play with any of these please use a test server. Maps you upload to servers can specify the plugin to load with:

options
  ...
  -loadplugin plugins/shockwaveDeath,usevictim
  ...
end

Replay Server

All servers record up to the last hour of the game in memory. You can save all or part of the recording with the /record command.

Saving a Recording

To save a recording use:

/record save <filename> <seconds>

For example:

/record save thumper 120

saves the last 120 seconds of the recording to a file named thumper. I suggest you use your callsign (or part of it) as the filename so you do not overwrite someone else's recording.

Only one recording can be played at a time. If the map changes when a recording is loaded the server will prompt you to reconnect. Failing to reconnect will probably crash your bzflag client.

List Recordings

To show available recordings use either

/record list
/replay list

Playing a Recording

To play a recording you need to connect to the Administrator Replay Server listed on the server list. There is one replay server per bzflag server host.

On that server issue:

/replay load FILENAME

to load recording.

Next start playback with

/replay start

Now you are in observer mode and can view the play from any angle. You can skip ahead or back in the recording with

/replay skip +10
/replay skip -30

to skip forwards 10 seconds or back 30 seconds respectively.

Additional Help

You can get additional commands from the

/record
/replay

Test Servers

All test servers have a basic configuration that specifies the public address, port, password, and other information that you can't change. The basic configuration specifies a world file that you can replace by uploading a new file from the website.

Test servers are marked with blue background on the port number in the servers summary table. JRADMINs have SRADMIN privs on test servers - so they can use /set to experiment with map settings. Permanent servers outside this range require SRADMIN privs to use /set.

Normally only the server map owner messes with /set on any given server. If you want to mess around with a map load a copy of the map on a test server and go wild. When you are done with it turn it off since the original server is probably still running the same map.

Most server maps are available from the admin page. You can download and save a copy of a server map locally on your computer then upload it to a test server.

Test Map File

A test map file has the following basic layout:

options
       #map options go here
       #server options (jumping, ricochet etc)
       #flag settings
       #max players
       #max shots
end

world
       #size how big do you want it?
end

#followed by constructors to build the world
...

Here is an example map file from LouMan's TimeTrial:

options
       -mp 4,4,4,4,4,10
       -set _tankSpeed 35
       -set _wingsJumpCount 12
       -j
       -ms 8
       -st 4
       -fb
       +f V{2} +f QT +f OO{2} +f F{2} +f MG +f GM{2} +f L{2} +f R{2}
       +f SB{2} +f IB{2} +f ST{2} +f T{2} +f N{2} +f SH{2} +f SR{2}
       +f PZ{2} +f G{2} +f ID{2} +f CL{2} +f US +f MQ +f SE{2} +f TH{2}
       +f BU +f WG{4} +f CB +f LT +f RT +f FO +f RO +f M +f B +f JM +f WA 
       +f NJ +f TR +f BY +f RC +f A{2}
end

world
       size 500
end

. . .

Uploading The Map

Use the Upload New Map website link to upload a new map to a test server. If the server is empty the server should reset automatically and use your new map. All admins have /shutdownserver privs on the test servers so they can force a map change.

When you upload a new map please include all map settings inside the map file including server options for max players etc. as described above and a map name.

Always specify the max players (-mp n,n,n,n,n,10 line in the map options). You can specify all 6 player limits separately (Rogue, Red, Green, Blue, Purple, Observer) or a single maximum value (-mp 20). For CTF-style maps you must specify individual team limits unless you including all four bases on the map.

Please do not upload a map with a player limit over 20 players and please always include an observer limit of 10 so the bots can reload the banlists - they connect as observers to do their job.

The map name is specified in the map file options section with the -publictitle option as follows:

--- map.bzw ---
...
options
...
    -publictitle "Map Name Goes Here"
...
end

Please use reasonable values! Do not include 'test server' in the public server name.

Who's Using A Test Server

The admin page now displays:

  • The name of the admin that uploaded a map to a server
  • The name of the admin that last controlled the server with a Start or Stop command

This information appears in the Details section of the server table in square brackets (eg. Thumper). This information is intended to help with communication when two admins want to control the same server. You'll be able to figure out who is using the server and talk to them before you load the server with a new map.

bzbb PMs are recommended for contacting admins that are not currently online.

Servers that go down due to bandwidth limits now display Temporarily Down. This lets you distinguish between servers that are supposed to be running and those that are down on purpose.

Servers with an Upload New Map link are available to use for map testing. Some servers require passwords for map uploads. If you want to use a server that requires a password please contact Thumper. The intention here is to restrict the changes for that server to a specific admin. Server upload passwords are private. Please do not give them out to anyone else.

When selecting a server to use please try to pick a server that is Down first. If you are done playing with a server and no longer need it please turn it off by selecting the Stop link for that server on the admin page.

Server Commands and Permissions

Permissions

The BZFlag server permissions that grant privileges to players are described on the BZFlag Wiki.

Commands

The basic format for most server commands are displayed to you by the server if you issue the command with no parameters (eg. just /kick or /ban). /shutdownserver and /superkill take no parameters so be careful with these when players are connected.

BZFlag server commands are described on the BZFlag Wiki.

You can send a private message to Thumper on the bzflag board if you have any questions.

Groups

BZFlag server groups are descibed on the BZFLAG Server Groups page

Server Policy

Congratulations you're an admin on our servers. My general server policy is outlined below. As an admin you have the power to deal with problem players on the servers.

You are _not_ obligated in any way to deal with players.

If you want to play and enjoy yourself on the server by all means feel free. Your admin privileges give you the ability to deal with problem players that disrupt the game or spoil it for others.

Break-in attempts

There have been a few cases of players trying to gain privileges with /password. The server logs these failed attempts like this:

callsign-goes-here has tried to become administrator with bad password

Our servers do not have passwords – all privileges are granted by the BZFlag global authorization system. If a player is in a group granted permissions then they get elevated privileges. Players are not going to gain access with the /password command by guessing the server password on our servers.

I don't really care how you deal with players that cause these server messages. Any of the following actions are fine with me.

  • /kill the player
  • /kick the player
  • /ban the player for a short duration (up to a day)
  • Talk to the player and explain that attempting to break into the server is frowned upon.
  • Ignore it

I either ignore the attempt or /kick to make it obvious that attempting to break into the server is in general a bad thing. /kick also makes the repercussion immediately obvious to the perpetrator. Use your best judgement guys.

Normally server break-in attempts are considered bad.

Language

Swearing and foul language are not tolerated. This includes player abuse with language that is not normally considered a problem.

Words like crap and poo are fine. shit is considered swearing and we warn or kick for that. Harsher swear words and language that is not appropriate for a 6 year old is not tolerated and normally earns the player a 1 day ban. Repeated offenses earn longer bans eventually turning into a permanent ban.

Acronyms for swearing (wtf, omfg, etc.) are treated as swearing.

If people want to swear they can talk to their monitors and say anything they like – we don't want to see it on the server chat channels.

Use your best judgement.

Flooding, ALL-CAPS, and Spam

Message flooding and ALL-CAPS in chat text are annoying. Repeated flooding is not meaningful conversation and tends to obscure any real conversations.

Kick or ban offenders that don't comply after a warning.

Chat and Callsign Filters

The language chat filter is used for the following reasons:

  • It catches most of the foul language before any kids connected on the servers see it
  • It prevents players from joining with vulgar callsigns or email strings

SPAM Filters

The BZFlag spam filter is not used for the following reasons:

  • It doesn't know the difference between chat and commands

Issuing /lagstats 3 times fast will be considered spam by the server and that's just wrong.

  • Sending a message to the wrong player in private chat and then resending it to the correct player also is treated as spam by the server

Admin-wannabes

Admin status is now granted to players on an invitation only basis. If players ask you if they can become an admin please politely tell them that when the time comes Thumper will ask them to be.

If they are persistently (and annoyingly) asking over and over after you tell them this you have my blessing to kick (and in extreme cases ban) them from the server :E. (By the way for those of you who may not know the history on this :E is my evil grin - from some of the obstacles created on the Olympic server ;) )

Cheating

Use of modified BZFlag clients for cheating is not tolerated. Permanent bans are issued when we've determined beyond a reasonable doubt that the player has a cheat client.

Obvious examples of this are:

  • Flying or control in the air without wings
  • Invulnerable Tanks

Make sure these aren't just lag issues.

  • many others

Subtle cheat clients exist and are much harder to identify beyond a reasonable doubt. If in doubt it is better to err on the side of caution and not kick the player.

For more information check out the BZFlag Wiki Known Cheats Page.

Admin Behaviour

Servers with admins that 'over-admin' by kicking and banning innocent players quickly get a bad reputation in the BZFlag community.

Servers get bad reputations when admins go nuts - at which point players tend to boycott the servers. That isn't what I want from an admin.

Admins are supposed to do discrete administration from the sidelines - not get in the way of play. Nobody cares if you are an admin or not - they only care if someone is spoiling the game and that person can be removed effectively so the game can continue. Having admin privs is a privilege not a right and I expect a certain level of responsibility and maturity from my admins.

Admins that are acting inappropriately will be demoted or have their privileges revoked at Thumper's discretion.

Admins that are absent for more than 6 months are subject to removal.

Validate XHTML 1.0