Provided by: bzflag-server_2.0.4.20051017ubuntu3_i386 bug


       bzfs - BZFlag game server


       bzfs    [-a    linear    angular]    [-admsg    message]    [-advertise
       GROUPNAME,GROUPNAME,...]   [-autoTeam]  [-b]  [-badwords   badwordfile]
       [-ban  ip{,ip}*]  [-ban  ip[,ip]...]   [-banfile filename] [-c] [-cache
       worldCacheURL]  [-cacheout  filename]  [-conf  configfile]  [-cr]  [-d]
       [-density  num]  [-disableBots]  [+f {good|bad|team||flag-id}[{count}]]
       [-f   {good|bad|flag-id}]   [-fb]   [-filterCallsigns]    [-filterChat]
       [-filterSimple] [-g] [-groupdb file] [-h] [-handicap] [-help] [-helpmsg
       file name] [-i interface] [-j] [-lagdrop warn-count] [-lagwarn time/ms]
       [-masterBanURL        URL/s]        [-maxidle        time/s]       [-mp
       [-mps  {max-score}]  [-ms  shots] [-mts {max-score}] [-noMasterBanlist]
       [-p port] [-passdb file] [-passwd password] [-pidfile filename]  [-poll
       variable=value]   [-printscore]   [-public   description]  [-publicaddr
       address[:port]]    [-publiclist     url]     [-q]     [+r]     [-rabbit
       [score|killer|random]] [-recbuf size] [-recbufonly] [-recdir directory]
       [-replay] [-reportfile filename]  [-reportpipe  command]  [-requireudp]
       [+s  flag-count]  [-s flag-count] [-sa] [-sb] [-set name value] [-sl id
       num] [-spamtime time] [-spamwarn warnLimit] [-speedtol factor] [-srvmsg
       message]   [-st   time]   [-sw   count]  [-synctime]  [-t]  [-tftimeout
       time-limit] [-time  time-limit]  [-timemanual]  [-tk]  [-tkkr  percent]
       [-trackplayhistory]   [-ts   [micros]]   [-userdb  file]  [-vars  file]
       [-version] [-world world-file] [-worldsize world size]


       Bzfs is the server for BZFlag, and it must be running to play.  It  can
       be run on any system on the network (including a player’s system or one
       without graphics).  Terminating  the  server  terminates  the  game  in


       -a linear angular
                      Sets  the maximum linear and angular accelerations.  The
                      units  are  somewhat  arbitrary  so   you’ll   have   to
                      experiment to find suitable values. Positive values will
                      set limits to  the  acceleration  and  lower  they  are,
                      greater is the inertia.  Zero or negative values disable
                      acceleration limits.

       -admsg message Define a message which will be broadcast to all  players
                      every  15  minutes.   This  option  can be used multiple
                      times to define a multiline message.

       -advertise groupname,groupname,...
                      Allows control of who can see this server on the  server
                      list.  Use: -advertise NONE to make a private server (no
                      one will see the server, but global logins can be used).
                      The default, if -advertise is not specified, is to allow
                      everyone to see the server.  Otherwise, your server will
                      only  be  listed  to  members  of  the  groups which you
                      specify, eg: -advertise JOE,BOB.

       -autoTeam      Automatically assign players to teams when they  connect
                      so  that  there  are  an  equal number of players on all
                      available teams.  Players are placed on teams that  have
                      the fewest players; otherwise they will be placed on the
                      weakest team.  Weakest team is the team with the  lowest
                      combined kill ratio.

       -b             When  -c  is  supplied, this option randomly rotates the

       -badwords badwordfile
                      Specify a file that contains bad words that will be used
                      when  either -filterCallsigns or -filterChat is enabled.

       -ban ip{,ip}*  Prohibits connections  from  the  listed  IP  addresses.
                      Trailing 255 bytes are treated as mask bytes.

       -banfile filename
                      Specifies  the  name of a file where bzfs will store the
                      banlist. It will load the banlist from this file when it
                      starts  (if the file exists), and write the banlist back
                      to the file when someone gets banned  or  unbanned.   If
                      this option isn’t given the banlist will not be saved.

       -c             Enables the capture-the-flag style game. By default this
                      allocates one team flag per team.  This can be  modified
                      see +f team. By default, the free-for-all style is used.

       -cache worldCacheURL
                      Specifies the URL for the world cache file.  This  is  a
                      binary file that clients will attempt to download before
                      getting the world from the bzfs server.

       -cacheout filename
                      Save the currently specified world into a  binary  cache
                      file and exit.

       -conf configfilename
                      Specifies the name of a configuration file to be used to
                      set all of the bzfs options, rather than setting them on
                      the command line.

       -cr            Enables the capture-the-flag style game with random map.
                      You  can  optionally  specify  a  building  density   by
                      providing  a  number  (default is 5).  One team flag per
                      team is provided, but more can be added  thru  +f  team.
                      By default, the free-for-all style is used.

       -d             Increase  debugging  level.  If  more  -d is given, more
                      debugging info is obtained.

       -density num   Specify density  for  buildings,  i.e.  the  higher  the
                      integer  number,  the  more buildings you will get. This
                      applies to automatically generated maps only.

       -disableBots   Disallow clients from using the ROGER autopilot or  from
                      using robots.

       +f {good|bad|teamflag-id}[{count}]
                      Forces  the  existence  of the given flag.  If specified
                      multiple times for the  same  flag-id,  then  that  many
                      flags  will  appear.  The good argument is equivalent to
                      specifying +f once for each kind of good flag. Same goes
                      for  the  bad  argument.   The team argument adds a team
                      flag to each team,  assuming  that  the  game  style  is
                      capture  the flag. The optional {count} parameter allows
                      the specification of multiple flags of  the  same  type.
                      Note that the curly braces are required.

       -f {good|bad|flag-id}
                      Disallows  random  flags  of  the  given type.  Required
                      flags given by the +f option are  still  provided.   The
                      bad  argument  is  equivalent  to specifying -f once for
                      each kind of bad flag.  Same  goes  for  good,  but  you
                      probably do not want to do that.

       An  example  of  running  a  server with 40 to 50 flags except genocide
                      be "+s40 -s50 -f G".  Similarly, "+f good{40} +f bad{10}
                      -f G{40}" would give you exactly 40  good  flags  except
                      genocide and 10 of each bad flag.

       -fb            Allow flags on box buildings.

                      Turn  on the filtering of callsigns and email addresses.
                      Callsigns and addresses are compared against  bad  words
                      provided via -badwords.

       -filterChat    Turn  on  the filtering of chat messages.  Messages that
                      contain words listed via a -badwords file  are  replaced
                      with !@#$%^&* characters.

       -filterSimple  By  default,  all filtering is aggressive, matching much
                      more than what is strictly listed in  a  -badwords  file
                      for  convenience.   Providing  this option will make the
                      -filterCallsigns and -filterChat comparisons exact match

       -g             Quit after serving one game.

       -groupdb file  Load groups from file

       -h             Buildings are given random heights.

       -handicap      Players  are  given  a handicap advantage based on their
                      ability in relation to the  other  players.  Handicapped
                      players  will  have faster tanks and shots. The handicap
                      is determined by the player’s score in relation to other

       -help          Shows a help page and lists all the valid flag id’s.

       -helpmsg file name
                      Create  a  help  message accessible by /help name, which
                      prints the contents of file. Restricted to 10 lines  per
                      help message.

       -i interface   Server  will  listen  for and respond to ‘‘pings’’ (sent
                      via broadcast) on the given interface.  Clients use this
                      to  find  active  servers  on  the  network. This is the
                      TCP/UDP/IP address the server will listen on.

       -j             Allows jumping.

       -lagdrop warn-count
                      Kicks players after warn-count lag warnings.

       -lagwarn time/ms
                      Send warnings to players that lag more than time.

       -masterBanURL URL/s
                      Specify alternate URLs for the master  ban  file  to  be
                      pulled  from.   This  argument  may be provided multiple

       -maxidle time/s
                      Kick players that did not play longer than time seconds.
                      Pausing  players  are  not kicked. If a player uttered a
                      word recently, he will be kicked after thrice the  given

       -mp {count|[rogue],[red],[green],[blue],[purple],[observer]}
                      Sets  the  maximum number of players, total or per team.
                      A single value sets the total number of players allowed.
                      Five  comma  separated  values  set the maximum for each
                      team.  If a count is left blank then no limit is set for
                      that  team,  except for the limit on the total number of
                      players.  Both forms may be provided.

       -mps max-score Sets a maximum score for individual players.  The  first
                      player  to  reach  this score is declared the winner and
                      the game is over.

       -ms shots      Allows up to shots simultaneous shots for  each  player.
                      This is 1 by default.

       -mts max-score Sets a maximum score for teams.  The first team to reach
                      this score is declared the winner and the game is  over.

                      Server will not attempt to load the master ban list from
                      the internet.

       -p port        Listen for game  connections  on  port  instead  of  the
                      default  port.   Use -help to print the default port, or
                      use -d debug printing.

       -passdb file   Load passwords from file

       -passwd password
                      Specify a  server  administrator  password  for  use  in
                      remote  administration  such  as /kick, /ban, /mute, etc

       -pidfile filename
                      Specify a file where the server will write  its  process
                      ID so it may be used for remote administration.

       -poll variable=value
                      Configure several aspects of the in-game polling system

                             default number of minutes player should be banned
                             (unspecified, the  default is 300)

                             max seconds authorized user  has  to  abort  poll
                             (default is 20)

                             percentage  of  players required to affirm a poll
                             (unspecified, the default is 50.1%)

                             minimum seconds  required  before  a  player  may
                             request another vote (default is 300)

                             minimum  number  of  additional votes required to
                             make a vote valid (default is 2)

                             maximum amount of time player  has  to  vote,  in
                             seconds (default is 60)

       -printscore    Write score to stdout whenever it changes

       -public description
                      Advertise  this  server  on  the internet with the given
                      description.  By  default,  a  server  will  respond  to
                      broadcast  queries,  allowing  clients  to  find servers
                      running on the standard port on the local  subnet.   The
                      -public option causes the server to register itself with
                      a list server, which clients can query to get a list  of
                      bzfs servers.

       -publicaddr address[:port]
                      Advertise  this  server with the given address and port.
                      Only has an effect when used with -public.   Normally  a
                      server  advertises itself at the local address and port.
                      Some servers are not accessible  from  the  internet  at
                      this  address  (for  example  servers  behind a firewall
                      using Network Address Translation).  Use this option  to
                      specify  the  address  and/or  port  that internet users
                      should use to access this server.

       -publiclist url
                      Advertise this server on the list servers listed at url.
                      Only  has  an effect when used with -public.  A built-in
                      url is used by default.  The BZFlag clients use the same
                      built-in  url  so,  by  default, clients will see public
                      servers automatically.  This argument  may  be  provided
                      multiple  times  to  publicize a server to multiple list

       -q             If specified, the server will not listen for nor respond
                      to  ‘‘pings’’.  BZFlag sends out these pings to give the
                      user a list  of  available  servers.   This  effectively
                      makes the server private, especially if the -p option is
                      also used.

       +r             Makes most shots ricochet.  Super bullets, shock  waves,
                      and guided missiles do not.

       -rabbit [score|killer|random]
                      Enables  the  rabbit-hunt  style  game.  By default, the
                      free-for-all  style  is  used.   You  must  specify  the
                      algorithm  used  to  pick  a new rabbit when the old one
                      dies.    The   score   algorithm   uses    a    modified
                      wins/(wins+losses)  score  and  picks  the  top  scoring
                      player to be  the  new  rabbit.   The  killer  algorithm
                      specifies  a  reverse  tag game where whomever kills the
                      rabbit becomes the new  rabbit.   The  random  algorithm
                      randomly  picks  a  new  rabbit without regard to score.
                      (The score algorithm is the original behavior.)

       -recbuf size   Start  with  the  recording  buffer  active,  with   the
                      specified size (in megabytes).

       -recbufonly    Disable recording straight to files

       -recdir directory
                      Specify the directory for record and replay files.

       -replay        Start the server in replay mode.

       -reportfile filename
                      Write  messages  to  the  server admin written using the
                      /report command to this file. If neither -reportfile  or
                      -reportpipe   is   used  the  /report  command  will  be

       -reportpipe command
                      Pipe messages to the  server  admin  written  using  the
                      /report  command  to  this program or shell command. See

       -requireudp    Require clients to use parallel  UDP.  If  players  fire
                      before  opening a UDP channel, kick them off the server.

       +s num-flags   The server will have an  extra  num-flags  random  super
                      flags available at all times.  The -f option can be used
                      to  restrict  which  types  of  flags  will  be   added.
                      Required  flags  given by the +f option are not included
                      in the num-flags total.

       -s num-flags   The server will have up to num-flags random super  flags
                      available  at  any  time.   The -f option can be used to
                      restrict which types of flags will be  added.   Required
                      flags  given  by  the  +f option are not included in the
                      num-flags total.

       -sa            Antidote flags are provided for players with bad  flags.

       -sb            Allow spawns on box buildings.

       -set name value
                      Set BZDB variable name to value

       -sl id num     Restrict flag id to num shots.

       -spamtime time Minimum  <time>  between  player  chat messages that are

       -spamwarn warnLimit
                      Number of warnings a player/spammer gets, who   violates

       -speedtol factor
                      Override  the default speed auto kick factor. The factor
                      should not be less then 1.0. The factor is a multiplier.

       -srvmsg message
                      Define a server welcome message. This option can be used
                      multiple times to define a multiline message.

       -st time       Bad flags are automatically dropped after time  seconds.

       -sw count      Bad  flags  are  automatically dropped after count wins.
                      Capturing a team flag does not count as a win.

       -synctime      Forces all clients to use the same  time  of  day.   The
                      current  time is determined by the server’s clock.  This
                      disables the + and - keys on the clients.

       -t             Adds teleporters to the game.

       -tftimeout time-limit
                      If the last player in a team leaves while  someone  else
                      is  carrying the team flag, the team flag will not reset
                      until it is captured, or until the player drops  it  and
                      it  is  left  alone for some time. This option specifies
                      the number of seconds that the flag should be left alone
                      before it is reset. The default value is 30.

       -time time-limit
                      Sets  a  time limit on the game to time-limit.  The game
                      will be  stopped  time-limit  seconds  after  the  first
                      player connects.

       -timemanual    When  using  -time,  the  countdown  will start when the
                      first player joins. With -timemanual, the countdown  has
                      to  be  started  manually  using the /countdown command.
                      This is useful for matches.

       -tk            Changes the default behavior where a player dies when he
                      kills  a teammate.  When using this option, he will just
                      get a -1 score penalty for the kill but not be killed in

       -tkkr percent  Kicks players whose team killing to normal kill ratio is
                      greater than percent [1-100]. A start up grace period is
                      given to players.

                      Has the server track players with good runs of kills and
                      anounces them.  Also anounces those  players  that  stop
                      the runs of good players.

       -ts [micros]   Include  timestamp  information in DEBUG output - useful
                      for logging.  If micros is specified, microseconds  will
                      be added to the timestamp.

       -userdb file   Load group associations from file

       -vars file     Loads  values for game configurable variables from file.
                      Entries are one per  line  in  the  form:  set  variable
                      value. For a list of variables that are configurable, in
                      the BZFlag client, send a message with /set as the text.

       -version       Prints the version number of the executable.

       -world world-file
                      Reads  a  specific BZFlag .bzw world layout file for the
                      game map.

       -worldsize world-size
                      Changes the size for random maps

       The server uses nearly zero CPU time when nobody is playing,  and  even
       during  a game the server uses very little CPU, so it’s not a burden on
       the system to leave one running and it won’t interfere  with  a  player
       using  the  same  system  (except  on Windows 95, which really sucks at
       multitasking).  The server will continue to run until terminated.  If a
       game  is  in  progress  when  the server goes down, all players will be
       kicked off and the game will be aborted without  warning.   The  server
       resets  itself  when  all  players have quit.  All players must quit to
       reset the server when a game is  over  (because  of  a  score  or  time

       The following game styles are recommended starting points.

              -c [-b]        Basic capture-the-flag game.  It teaches teamwork
                             and dogfighting skills.

              -s -t          Free-for-all  with  superflags  and  teleporters.
                             Teaches   players   how  to  use  superflags  and
                             teleporters for maximum effect.  You may want  to
                             allow  players to drop bad flags with any of -sa,
                             -st, and -sw.

       Notice that the maximum number  of  shots  for  these  styles  is  one.
       Having  low  shot  counts  can greatly increase general playability and
       learning speed.  However, this is not always true of every  game  style
       or  game  world, and a skilled player will learn to deal with a variety
       of shot counts.  Single shot games have additional disadvantage in  WAN
       games  where  lag/jitter can cause unfair advantage.  Single shot, non-
       Jump games will teach valuable lessons in  dodging,  however,  and  are
       excellent starting points for the beginner.

       Communication  between  the  server  and clients (i.e. between bzfs and
       bzflag) during a game is via TCP and UDP.  Use the -help option to  get
       the  server’s  default  port.  If there’s a firewall between the server
       and client, the firewall must accept connections  from  the  client  to
       this port and forward them to the server.

       Clients  can  search for servers by sending broadcast UDP packets.  But
       they must be on the same local area network for this to work.   Clients
       can  also  find  servers  advertised  using  -public  by  querying list

       Game information is relayed  through  the  server.  Some  communication
       between  clients,  such  as  position  and  orientation information, is
       normally sent via UDP packets.  Other data, like  flag  grab  and  kill
       messages,  are sent to the server via TCP. The server then turns around
       and broadcasts these packets  to all players. Since  being  in  a  game
       implies connection to the server, all players are guaranteed to get all
       messages sent via TCP.  But the UDP packets may be discarded.  If other
       players  can see your tank in the game but it never appears to move and
       shots go through it, chances are high that your UDP connection  is  not


              Lists  network  delays,  jitter  and number of lost resp. out of
              order packets by player. Example:
              MrApathyCream 335 +- 10ms
              Gerbol 210 +- 3ms
              captain_macgyver 155 +- 0ms  12% lost/ooo

              Displays the idle time in seconds for each player. A player is idle when
              he is dead and has not respawned yet.

              MrApathyCream: 0s
              Gerbol: 80s
              captain_macgyver: 13s

              Lists what flags players have grabbed in the past. Example:
              MrApathyCream: (<-) (->) (O) (CB) (M) (B) (JM) (WA)
              Gerbol: (L) (GM) (L) (GM) (CL) (ST) (GM) (L)
              captain_macgyver: (SB) (SW)

       /time, /date
              Responds with the current server local time. /date and /time are the exact same. Example:
              Tuesday September 08 06:45:54 2004

              Prints server’s current running time in days, hours, mins and secs.

       /password {password}
              Attempt to gain administrator status Example:
              /password supersecretpassword
              You are now an administrator!

       /clientquery [callsign]
              Retrieve client version info from all users, or just CALLSIGN if given Example:
              /clientquery MrApathyCream
              MrApathyCream: Version: BZFlag 1.11.6-20040729-gnu-linux-SDL

       /report {message}
              Write a message to the server administrator. Example:
              /report I like this map!

       /part {message}
              Leave the server with a goodbye message (similar to IRC’s /part)
              /part Gotta go! bye everyone!

       /quit {message}
              Quit the game with a goodbye message (similar to IRC’s /quit)
              /quit Gotta go! bye everyone!

              This command displays an "action" that is conveyed to another player.  It allows
              for a little more expressivity in the game.  For example: "/me is hunting wabbits"
              turns into a message like "TimRiker is hunting wabbits" that gets displayed
              differently to other players.

       /msg some player some message

              This command allows a player to send a message to another player.  Similar to using
              the "," and "." message keys in the game and then selecting your recipient, this
              will send some message to particular player.  The quotes are optional.


              View the server’s report file.

       /record list
              List all files in the recordings directory

       /record start
              Start recording into the memory buffer

       /record stop
              Stop recording into the memory buffer

       /record size <megabytes>
              Set the size of the recording memory buffer

       /record rate <seconds>
              Set the time between game state updates stored in the recording.
              This will affect the granularity of the ’skips’ you can do while
              replaying a file. It will also make the recording  files  bigger
              if it is set to a faster update rate.

       /record stats
              Display  the  statistics  for  the  current  recording  (file or

       /record file <filename>
              Start recording directly to a file

       /record save <filename> [seconds]
              Save the recording buffer into a file. If seconds is  specified,
              then only save that many previous seconds into the file.

       /replay list
              List all files in the recordings directory

       /replay load <filename|#index>
              Load  the  specified  recording  file by name, or by index (same
              indices as produced by the ’replay list’ command)

       /replay play
              Start playing the recording. This will oftentimes  require  that
              all  players connected to the server rejoin  (to reload the map,

       /replay loop
              Start looping the recording. This will oftentimes  require  that
              all  players connected to the server rejoin  (to reload the map,

       /replay skip [+/- seconds]
              If seconds is specified, then skip that amount of  time  in  the
              recording.   Otherwise, skip forwards until there is activity.
              /replay  stats  Show  the  current  replay   status   (filename,
              position, etc...)

              Stop serving BZFlag on this server

              Kick all players off the server

              Ends the current game

       /flag reset {unused}
              Repositions  flags.  If  unused  is  specified, flags carried by
              tanks are not affected.

       /flag up
              Removes all flags from the game

       /flag show
              Shows all flags with information. Example:
              0: p:-1 r:1 g:1 1:V s:1 p:159.1x43.2x0.0
              1: p:2 r:1 g:1 1:SW s:1 p:209.1x143.2x10.0
              2: p:-1 r:1 g:3 1:L s:1 p:-29.1x301.2x0.0

       /kick <"Player name" | playerName | #slot> <reason>
              Kick a named player off the server. Example:
              /kick Gerbol
              You were kicked off the server by MrApathyCream

              /kick #1 Team killing
              Kick the player using slot 1 because Team Killing

              Note: Slots numbers are only displayed in admins clients.
              A reason is required

       /kill <"Player name" | playerName | #slot> [reason]>
              Kill a player just like when shooting.

              /kill Gerbol
              kill the player named Gerbol
              /kill #4 teamkilling
              Kill the player using slot 4 because teamkilling

              List player names and IP addresses. Example:
              [0]MrApathyCream: udp id
              [1]Gerbol: udp id
              [2]captain_macgyver: udp id

       /ban <ip | ipList | #slot | Player name | playerName > <duration> <reason>

              Ban players using the specified IPs for certain length of time
              from using this server.
              <duration> can be:
                  ’short’ or ’default’ for the default ban time
                  ’forever’ or ’max’ for infinite bans
                  a time in the format <weeks>W<days>D<hours>H<minutes>M
                  just a number of minutes

              /ban 2 cheating
              bans player with specific ip for 2 minutes
              /ban 35.23.*.*,47.23.17.* 0 Cheaters
              bans all ips in this range forever
              /ban 2h30m "ShootMe" was abusing players
              bans specific ip for 2.5 hours with given reason
              /ban #5 60m Rejoining
              bans player using slot 5 for 60 minutes with given reason
              /ban "Tanker" max cheating
              bans the player Tanker forever because cheating

              Note: Slots numbers are only displayed in admins clients.
              Duration and reason are required.

              List all of the IPs currently banned from this server. Example:
              IP Ban List

       /hostban {hostpat} {duration} {reason}

              Ban players using the specified hostnames for a certain length of time from using this server.

              /hostban * 2 cheating
              bans all players from for 2 minutes

              Note: Bzfs must be compiled to use the ADNS asynchronous resolver library in order for this
              feature to work.

              List all of the host patterns currently banned from this server.

       /say {message}
              Generate a public message sent by the server. Example:

              /say This is a servermessage

       /sendhelp <"Player name" | playerName | #slot> <help page>
              Send the specified help page to a user

              /send register "Foo"
              Send the the help page ’register’ to the player Foo

       /countdown [seconds]
              Starts the countdown sequence for a timed game.  The countdown
              sequence length can optionally be specified in seconds.  Examples:

              /countdown 3


              Dynamic change the maximum allowed lag time. Example:

              /lagwarn 300


       Generally, you start  with  empty  files  for  the  user  and  password
       databases.   These are maintained by the server, and modifiable through
       server commands.  Users in turn belong to groups.  Groups are generally
       customized to perhaps allow administrative control to trusted users.

       There  are both local and global groups, i.e. groups that are available
       across the entire BZFlag network.  In setting up a server, you may want
       to specify global groups that will allow already well known and trusted
       users to police your server and help maintain control against  cheaters
       and abuse.

       The  server will automatically create three groups: EVERYONE, VERIFIED,
       The  LOCAL.ADMIN group has almost every permission possible (similar to
       granting admin powers via /password).

       Once the server is running, users  can  register  their  callsigns  and
       admins  can set their group memberships. Users can use any command that
       their permissions allow. Every user, registered or not, is part of  the
       EVERYONE  group.  When  a  user  identifies,  they  become  part of the
       VERIFIED group.

       In  addition,  there  are  global   groups   available   that   persist
       network-wide.   Users  that  register  their  callsigns  on  the BZFlag
       website at http://my.B  have  the  ability  to  globally
       authenticate by providing a password from within the client.  When they
       authenticate, bzfs will ask the list server if they belong  to  any  of
       the  groups  listed  in  your group database file that are not prefixed
       with "LOCAL.".  If they are a member of a group in question, then  they
       are granted the permissions you specify for that group.

       A  group  database  file  is  set  up to contain the specific local and
       global groups you care to have on your server in  addition  to  default
       groups  and exactly which permissions are granted by each.  These files
       are laid out with one line per group, using the following format:

       GROUP_NAME: [*Group] [+|-|!]perm1 [+|-|!]perm2 ... permN

       *Group: inhert permissions from existing group "Group"

       +perm: add perm to this group

       -perm: remove perm from this group

       !perm: forbid perm for this group. makes perm inaccessable whether it’s
       granted from another group or not

       If  no  operator is given with a permission it is handled like +perm. A
       group line for a previously existing  group  adds  to  already  granted
       permissions.  That way you can spread a group’s definition over several

       GROUP_NAME: +perm1 +perm2
       GROUP_NAME: +perm3 +perm4 -perm5

       Group names cannot have spaces, quotes, or other special characters  in
       them.  This would be a sample line defining a "cop" group:


       Now  a  group  USERADMIN with all permissions granted to COPS plus some
       additional could look like this:


       Probably you want to define  customized  permissions  for  the  default
       group "VERIFIED" instead of those automatically asigned by the server:

       VERIFIED: -ALL +perm1 +perm2 ...

       Or you want to disable the /poll command entirely?


       To  distinguish  between  a group that is local and one that is global,
       use the "LOCAL." prefix as part of the group name, e.g.:


       The available permissions are as follows:

       ACTIONMESSAGE       /me
       ADMINMESSAGERECEIVE player receives messages sent to admin channel
       ADMINMESSAGESEND    player may send messages on the admin channel
       ALL _all_ permissions available
       BAN                 /ban /hostban
       BANLIST             /banlist /hostbanlist
       COUNTDOWN           /countdown
       ENDGAME             /endgame
       FLAGHISTORY         /flaghistory
       FLAGMOD             /flag
       IDLESTATS           /idlestats
       INFO                not implemented
       KICK                /kick
       LAGSTATS            /lagstats
       LAGWARN             /lagwarn
       LISTPERMS           not implemented
       MUTE                /mute
       PLAYERLIST          /playerlist
       POLL                /poll
       POLLBAN             /poll ban
       POLLFLAGRESET       /poll flagreset
       POLLKICK            /poll kick
       POLLSET             /poll set
       PRIVATEMESSAGE      /msg
       REJOIN              allows instant rejoin, regardless of _rejoinTime
       REMOVEPERMS         /removegroup
       REQUIREIDENTIFY     user  must  /identify  when  using   this   locally
       registered callsign
       SAY                 /say
       SETALL              use of all set/remove commands
       SETPERMS            /setgroup
       SETPASSWORD         not implemented
       SETVAR              /set /reset
       SHOWOTHERS          not implemented
       SHUTDOWNSERVER      /shutdownserver
       SPAWN               join  game  as  a player. observers don’t need this
       SUPERKILL           /superkill
       TALK    allows all players to send messages
       UNBAN               /unban /hostunban
       UNMUTE              /unmute
       VETO                /veto
       VOTE                /vote

       /register {password}

              Register  your  current  callsign  to  the  specified  password.
              Passwords  must  be at least 3 characters long, and the callsign
              may  not  contain   quotes   or   other   non-alphanumeric/space

       /identify {password}

              Log in to a registered callsign

       /setpass {password}

              Changes your password

       /ghost {callsign} {password}

              Kicks off an impersonating player or ghost


              Lists the available user groups


              Lists the permissions for each group

       /showgroup {callsign}

              Lists the groups that a registered user is a member of

       /setgroup {callsign} {group}

              Add a user to a group

       /removegroup {callsign} {group}

              Remove a user from a group


              Reloads the user, group, and password files (for synchronization
              between multiple servers on the same machine)

       /deregister [callsign]

              With  an  argument,  it  deregisters  another  user’s  callsign.
              Without, it removes your own registration.

       /poll ban|kick|vote|veto [...]

              Interact  and  make requests of the bzflag voting system via the
              /poll command.  The ban and kick subcommands request a  vote  to
              respectively  ban  or  kick  some  player.   The  playername  is
              expected as the next  argument.   The  vote  and  veto  commands
              behave  identical  to  the /vote and /veto command counterparts,
              expecting the same arguments in following.  By default, you must
              be registered to request and vote on a poll.

       /vote yes|no

              If  there  is  a  poll active, this command will place a vote in
              favor or in opposition to  the  poll.   Multiple  languages  are
              supported  as a vote argument in addition to "yes" and "no".  By
              default, you must be registered to vote on a poll.

       /veto   If there is a poll active,  this  will  cancel  the  poll.   By
              default, you must be an admin to veto a poll.

       /masterban flush|reload

              Forces  the  server to flush any bans from the master server. If
              reload is specified instead of flush, also reloads bans from the
              the  internet. Local bans are unaffected.  This command requires
              the UNBAN permision.

       /mute   Allows a server admin to remove the ability  for  a  player  to
              communicate  with  other players. Once muted the player may only
              talk  to  admins  on  the  server.   usage:  /mute   <#slot>   |
              <playername>  This  command  removes the TALK permission that is
              enabled by default for all players. (disabling TALK  by  default
              would let you run a "silent" server)


              Allows  a  server  admin  to  restore  the  TALK permission to a
              previously muted player.  usage: /unmute <#slot> | <playername>


       BZFlag worlds come in two varieties, randomly generated ones, and human
       designed  ones.  By  default, bzfs uses randomly generated world unless
       you specify the -world command line or configuration file  option.  The
       world  file  specified  by  the -world option is a text based file that
       contains a list of world  objects.  This  file  can  be  created  using
       programs  found  on through cvs, or can be hand edited.
       See the bzw(5) manual page for more details.


       bzflag(6), bzadmin(6), bzw(5)