This wiki is archived and useful information is being migrated to the main bzflag.org website

Difference between revisions of "BZFS"

From BZFlagWiki
Jump to: navigation, search
(Super lazy me.)
 
(Replacing page with 'BZFS is name of the the [[[BZFlag]] server application. It is a command line application that can ether be run manually or started from within the game. The server supports a l...')
Line 1: Line 1:
BZFS is the BZFlag server. To be lazy, the man page is located at [http://my.bzflag.org/bzfman.cgi?bzfs.6.in]
+
BZFS is name of the the [[[BZFlag]] server application. It is a command line application that can ether be run manually or started from within the game. The server supports a large list of [[BZFS Command Line Options|command line options]] that can be used.
  
The man page is pasted below for your convenience (it is in need of heavy wiki formatting).
+
[[Category:Server]]
== Man Page ==
+
SYNOPSIS
+
 
+
      bzfs  [-a linear angular] [-admsg message] [-advertise GROUPNAME,GROUP-
+
      NAME,...]  [-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] [-filterSim-
+
      ple] [-g] [-groupdb file] [-h] [-handicap] [-help] [-helpmsg file name]
+
      [-i interface] [-j] [-lagdrop warn-count] [-lagwarn time/ms]  [-master-
+
      BanURL       URL/s]       [-maxidle   time/s]   [-mp
+
      {count|[rogue-count],[red-count],[green-count],[blue-count],[pur-
+
      ple-count],[observer-count]}]  [-mps  {max-score}]  [-ms  shots]  [-mts
+
      {max-score}] [-noMasterBanlist] [-p port] [-passdb file] [-passwd pass-
+
      word] [-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]
+
 
+
 
+
 
+
 
+
DESCRIPTION
+
 
+
      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
+
      progress.
+
 
+
 
+
 
+
 
+
OPTIONS
+
 
+
      -a linear angular
+
      Sets  the maximum linear and angular accelerations.  The
+
      units are somewhat arbitrary so you'll have  to  experi-
+
      ment  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 accel-
+
      eration 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 spec-
+
      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 provid-
+
      ing  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 inte-
+
      ger  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
+
      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.
+
 
+
      -filterCallsigns
+
      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
+
      only.
+
 
+
      -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
+
      players.
+
 
+
      -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.
+
      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.
+
 
+
      -noMasterBanlist
+
      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
+
      messages.
+
 
+
      -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
+
 
+
      banTime
+
    default number of minutes player should be banned
+
    (unspecified, the default is 300)
+
 
+
      vetoTime
+
    max seconds authorized user  has  to  abort  poll
+
    (default is 20)
+
 
+
      votePercentage
+
    percentage  of  players required to affirm a poll
+
    (unspecified, the default is 50.1%)
+
 
+
      voteRepeatTime
+
    minimum seconds  required before a  player  may
+
      description.  By default,  a  server  will  respond  to
+
      broadcast queries, allowing clients to find servers run-
+
      ning 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
+
      servers.
+
 
+
      -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  algo-
+
      rithm  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  rab-
+
      bit  without  regard  to score.  (The score algorithm is
+
      the original behavior.)
+
 
+
      -recbuf size  Start with the recording buffer active, with the speci-
+
      fied size (in megabytes).
+
 
+
      -recbufonly    Disable recording straight to files
+
 
+
      -reportfile.
+
 
+
      -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
+
      alike.
+
 
+
      -spamwarn warnLimit
+
      Number of warnings a player/spammer gets, who  violates
+
      -spamtime.
+
 
+
      -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.
+
 
+
      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
+
      game.
+
 
+
      -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.
+
 
+
      -trackplayhistory
+
      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
+
 
+
  Notes
+
      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 mul-
+
      titasking).  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
+
      limit).
+
 
+
      The following game styles are recommended starting points.
+
 
+
      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.
+
 
+
  Networking
+
      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
+
      servers.
+
 
+
      Game information is relayed  through  the  server.  Some  communication
+
      between clients, such as position and orientation information, is nor-
+
      mally sent via UDP packets.  Other data, like flag grab and  kill  mes-
+
      sages, 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 mes-
+
      sages 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
+
      working.
+
 
+
 
+
 
+
 
+
GENERAL SERVER COMMANDS
+
 
+
      /lagstats
+
      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
+
 
+
 
+
      /idlestats
+
      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
+
 
+
 
+
      /flaghistory
+
      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)
+
 
+
 
+
 
+
      /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!
+
 
+
 
+
      /me
+
      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.
+
 
+
 
+
 
+
 
+
 
+
SERVER ADMINISTRATIVE COMMANDS
+
 
+
 
+
      /viewreports
+
      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
+
 
+
      /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,
+
      etc...)
+
 
+
      /replay loop
+
      Start looping the recording. This will oftentimes  require  that
+
      all  players connected to the server rejoin  (to reload the map,
+
      etc...)
+
 
+
      /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,  posi-
+
      tion, etc...)
+
 
+
 
+
      /shutdownserver
+
      Stop serving BZFlag on this server
+
 
+
      /superkill
+
      Kick all players off the server
+
 
+
      /gameover
+
      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
+
      A reason is required
+
 
+
 
+
      /kill <"Player name" | playerName | #slot> [reason]>
+
      Kill a player just like when shooting.
+
 
+
      Example:
+
      /kill Gerbol
+
      kill the player named Gerbol
+
      /kill #4 teamkilling
+
      Kill the player using slot 4 because teamkilling
+
 
+
 
+
      /playerlist
+
      List player names and IP addresses. Example:
+
      /playerlist
+
      [0]MrApathyCream: 35.23.65.44:4808 udp id
+
      [1]Gerbol: 130.123.1.55:4909 udp id
+
      [2]captain_macgyver: 15.32.122.51:3201 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
+
 
+
      Examples:
+
      /ban 35.23.43.66 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 36.37.2.8 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.
+
 
+
 
+
      /banlist
+
      List all of the IPs currently banned from this server. Example:
+
      /banlist
+
      IP Ban List
+
      ------------
+
 
+
 
+
      /hostbanlist
+
      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
+
      /countdown 3
+
 
+
 
+
      /lagwarn
+
 
+
      Dynamic change the maximum allowed lag time. Example:
+
 
+
      /lagwarn 300
+
 
+
 
+
 
+
 
+
USER MANAGEMENT
+
 
+
      Generally, you start with empty files for the user and  password  data-
+
      bases. 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,
+
      and LOCAL.ADMIN.  EVERYONE  has ACTIONMESSAGE, ADMINMESSAGESEND, DATE,
+
      FLAGHISTORY,  IDLESTATS, LAGSTATS, PRIVATEMESSAGE and SPAWN by default.
+
      VERIFIED has POLL, POLLKICK, POLLBAN, POLLSET, POLLFLAGRESET, and VOTE.
+
      The  LOCAL.ADMIN group has almost every permission possible (similar to
+
      granting admin powers via /password).
+
 
+
 
+
      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 per-
+
      missions.  That way  you  can spread a group's definition over several
+
      lines:
+
 
+
      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:
+
 
+
      COPS: +KICK +SHORTBAN +BANLIST
+
 
+
      Now  a  group  USERADMIN with all permissions granted to COPS plus some
+
      additional could look like this:
+
 
+
      USERADMIN: *COPS +BAN +UNBAN
+
 
+
      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?
+
 
+
      EVERYONE: !POLL
+
 
+
      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.:
+
 
+
      LOCAL.OPERATOR: BANLIST
+
 
+
 
+
      The available permissions are as follows:
+
      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 regis-
+
      tered 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
+
      flag.
+
      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.  Pass-
+
      words  must  be at least 3 characters long, and the callsign may
+
      not contain quotes or other non-alphanumeric/space characters
+
 
+
 
+
      /identify {password}
+
 
+
      Log in to a registered callsign
+
 
+
 
+
      /setpass {password}
+
 
+
      Changes your password
+
 
+
 
+
      /ghost {callsign} {password}
+
 
+
 
+
      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
+
 
+
 
+
      /reload
+
 
+
      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. With-
+
      out, 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 sup-
+
      ported 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
+
 
+
      Allows a server admin to restore the TALK permission to a previ-
+
      ously muted player.  usage: /unmute <#slot> | <playername>
+
 
+
 
+
 
+
Worlds
+
 
+
      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 pro-
+
      grams found on sourceforge.net through cvs, or can be hand edited.  See
+
      the bzw(5) manual page for more details.
+
 
+
 
+
 
+
 
+
SEE ALSO
+
 
+
      bzflag(6), bzadmin(6), bzw(5)
+
 
+
 
+
 
+
bzfs-2.0.4   2006-04-17       bzfs(6)
+

Revision as of 22:35, 18 February 2007

BZFS is name of the the [[[BZFlag]] server application. It is a command line application that can ether be run manually or started from within the game. The server supports a large list of command line options that can be used.