BZFlag Administrator Help
Table of Contents
Administrator Groups
Privilege Levels
There are 3 administrator groups defined for the BZFlag servers:
| Short Name | Group Name | Description |
|---|---|---|
| JRADMIN | NORANG.JRADMIN | Junior Administrator |
| SRADMIN | NORANG.SRADMIN | Senior Administrator |
| TRADMIN | NORANG.TRADMIN | Trusted Administrator |
| HDADMIN | NORANG.HIDE | Trusted 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
/bancommand by simply issuing the/bancommand with no parameters. This works for most server commands.Server help from the
/bancommand 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:
/banfollowed by one of#slotorPlayerNameor ="Player Name"= oripfollowed bydurationand thenreasonExample 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
/playerlistcommand 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
bancommand 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:
Duration Description 0 Permanent non-expiring ban 10 10 minutes 20m 20 minutes 3h 3 hours 1d 1 day 2w 2 weeks default 5 hours (short ban duration - maximum for JRADMINS) max permanent ban (same as 0) forever permanent 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:
| Plugin | Function |
|---|---|
| serverControl | Stops 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. |
| logDetail | Logs 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.
| Name | Required | Description | Parameters | Example |
|---|---|---|---|---|
| airspawn | No | Tanks spawn in the air | Height above ground to spawn | /loadplugin plugins/airspawn,50 |
| hiddenAdmin | No | Hides admin @ signs on the score list | /loadplugin plugins/hiddenAdmin | |
| HoldTheFlag | No | New command /htf | TEAM=color | /loadplugin plugins/HoldTheFlag,TEAM=Red |
| RogueGenocide | No | Kill a Rogue with genocide and they all die. | /loadplugin plugins/RogueGenocide | |
| playHistoryTracker | No | Server prints amusing messages during play | /loadplugin plugins/playHistoryTracker | |
| serverControl | YES | Allows remote control for server shutdown | /loadplugin plugins/serverControl | |
| shockwaveDeath | No | A shockwave fires at position of dying player. | usevictim | /loadplugin plugins/shockwaveDeath[,usevictim] |
| logDetail | YES | Logging player events for the website | /loadplugin plugins/logDetail | |
| nagware | No | Bug unregistered players about registering. New command /nag | config 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.
/killthe player/kickthe player/banthe 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.