Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
BZFS(6)				    BZFlag			       BZFS(6)

NAME
       bzfs - BZFlag game server

SYNOPSIS
       bzfs  [-a linear	angular] [-adminlagannounce milliseconds] [-admsg mes-
       sage] [-advertise groupname[,groupname]...]   [-autoTeam]  [-b]	[-bad-
       words  badwordfile] [-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]  [-gndtex  texture-name] [-groupdb
       file] [-h] [-handicap] [-help] [-helpmsg	file name] [-i interface] [-j]
       [-jitterdrop  warn-count] [-jitterwarn milliseconds] [-lagannounce mil-
       liseconds] [-lagdrop warn-count]	[-lagwarn  milliseconds]  [-loadplugin
       name[,options]]	[-masterBanURL	URL] [-maxidle seconds]	[-mp {count  |
       [rogue-count],  [red-count],  [green-count],   [blue-count],   [purple-
       count],	 [observer-count]}]   [-mps   max-score]   [-ms	 shots]	 [-mts
       max-score] [-noMasterBanlist]  [-noradar]  [-noTeamKills]  [-offa]  [-p
       port]  [-packetlossdrop	warn-count] [-packetlosswarn percent] [-passwd
       password]  [-pidfile  filename]	[-poll	variable=value]	 [-printscore]
       [-publictitle  description]  [-publicaddr  address[:port]] [-publiclist
       url] [-publickey	key] [-q] [+r] [-rabbit	[score	|  killer  |  random]]
       [-recbuf	size] [-recbufonly] [-recdir directory]	[-replay] [-reportfile
       filename] [-reportpipe command] [+s flag-count] [-s  flag-count]	 [-sa]
       [-sb] [-set name	value] [-setforced name	value] [-sl id num] [-spamtime
       time] [-spamwarn	warnLimit] [-speedtol factor] [-srvmsg	message]  [-st
       time]   [-sw   count]   [-synclocation]	[-synctime]  [-t]  [-tftimeout
       time-limit] [-time  {time-limit	|  ending-time}]  [-timemanual]	 [-tk]
       [-tkannounce]  [-tkkr  percent]	[-ts  [micros]]	[-UPnP]	[-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.

       -adminlagannounce milliseconds
		      Announce players that lag	more than milliseconds to  ad-
		      mins.

       -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-
		      ify, 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
		      buildings.

       -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 provid-
		      ing a number (default is 5).  One	team flag per team  is
		      provided,	 but  more  can	be added thru +f team.	By de-
		      fault, the free-for-all style is used.

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

       -density	num   Specify density for buildings, i.e. the higher the inte-
		      ger number, the more buildings you will  get.  This  ap-
		      plies 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 cap-
		      ture 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  ex-
		      cept  genocide  would be "+s 40 -s 50 -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	mottos.	 Call-
		      signs and	mottos 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.

       -gndtex texture-name
		      Specify the name of the ground texture.

       -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
		      Provide  a message accessible by /help name, which sends
		      no more than the first 50	lines of file to the player.

       -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.

       -jitterdrop warn-count
		      Kicks players after warn-count jitter warnings.

       -jitterwarn milliseconds
		      Send warnings to players that jitter more	than millisec-
		      onds.

       -lagannounce milliseconds
		      Announce players that lag	more than milliseconds in pub-
		      lic.

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

       -lagwarn	milliseconds
		      Send  warnings  to  players that lag more	than millisec-
		      onds.

       -loadplugin name[,options]
		      Load the specified plugin. name can either be  the  name
		      of  the  plugin,	or a path to its library file. Option-
		      ally, you	can provide any	options	the plugin requires.

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

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

       -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.  For rabbit	chase,
		      the  "rogue" value sets the total	number of non-observer
		      player, and all other values must	be zero.

       -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.

       -noradar	      Disable the use of the radar.

       -noTeamKills   Players  on  the	same  team  are	immune to each other's
		      shots. Rogue is excepted.

       -offa	      Enables the Open-Free-for-All  style  game.  This	 is  a
		      teamless	mode,  similar	to  the	 classic deathmatch in
		      other games.

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

       -packetlossdrop warn-count
		      Kicks players after warn-count packetloss	warnings.

       -packetlosswarn percent
		      Send warnings to players that have more more  than  per-
		      cent loss.

       -passwd password
		      Specify  a  server administrator password	for use	in re-
		      mote 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 re-
			     quest another vote	(default is 300)

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

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

       -printscore    Write score to stdout whenever it	changes

       -publictitle description
		      Advertise	this server on the internet with the given de-
		      scription.   By default, a server	will respond to	broad-
		      cast queries, allowing clients to	find  servers  running
		      on  the standard port on the local subnet.  The -public-
		      title 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.
		      Normally a server	advertises itself at the local address
		      and port.	 Some servers are not accessible from the  in-
		      ternet  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 -publictitle	and/or
		      -publicaddr.  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 ar-
		      gument  may  be  provided	 multiple times	to publicize a
		      server to	multiple list servers.

       -publickey key Advertise	this server on the list	 server(s)  using  the
		      specified	 key.  Only has	an effect when used with -pub-
		      lictitle and/or -publicaddr.

       -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-chase  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

       -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 dis-
		      abled.

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

       +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.   Re-
		      quired  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 re-
		      strict 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.

       -setforced name value
		      Set BZDB variable	name to	value, even  if	 the  variable
		      does not exist.

       -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.

       -synclocation  Forces all clients to use	the same  location  (longitude
		      and latitude).

       -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 | ending-time}
		      Sets a time limit	on the game to time-limit  or  ending-
		      time.  The game will be stopped time-limit seconds after
		      the first	player connects, or at ending-time,  whichever
		      is  given.  The  ending-time should be given in hh:mm:ss
		      format, but does not need	minute and  second  arguments.
		      If only hour is given, it	must end in ':'. Each unspeci-
		      fied argument is set to 0.

       -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
		      game.

       -tkannounce    Announce teamkills to the	admin channel.

       -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.

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

       -UPnP	      If enabled during	build, bzfs try	 to  communicate  with
		      the  Gateway to set Port Forwarding and to supply	infor-
		      mation not specified with	-i (local interface) and -pub-
		      licaddr

       -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 re-
       set the server when a game is over (because of a	score or time limit).

       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 tele-
			     porters for maximum effect.  You may want to  al-
			     low  players  to  drop bad	flags with any of -sa,
			     -st, and -sw.

       Notice that the maximum number of shots for these styles	is one.	  Hav-
       ing low shot counts can greatly increase	general	playability and	learn-
       ing 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 ex-
       cellent 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 -publictitle by querying list
       servers.

       Game information	is relayed through the server. Some communication  be-
       tween  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.

   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 github, or can be	hand edited.  See  the	bzw(5)	manual
       page for	more details.

GENERAL	SERVER COMMANDS
       /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

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

       /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)

       /idlestats
	      Displays the idle	time in	seconds	for each player. A player is idle when
	      he is dead and has not respawned yet. Example:
	      MrApathyCream: 0s
	      Gerbol: 80s
	      captain_macgyver:	13s

       /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

       /me action

	      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 "callsign" 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.

       /part [message]
	      Leave the	server with a goodbye message (similar to IRC's	/part)
	      /part Gotta go! bye everyone!

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

       /poll {{ban | kick} callsign | vote {yes	| no} |	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 or vote on a poll, and	an admin to veto.

       /quit [message]
	      Quit the game with a goodbye message (similar to IRC's /quit)
	      /quit Gotta go! bye everyone!

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

       /uptime
	      Prints server's current running time in days, hours, mins	and secs.

       /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.

SERVER ADMINISTRATIVE COMMANDS

       /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
	      ------------
	      35.23.43.66 (2 minutes) banned by	Tankmaster
		  reason: Cheaters
	      47.23.17.* banned	by Tankslave

       /checkip	ip
	      Check whether the	IP is banned and print the corresponding rule. This does not
	      cover hostbans. Example:
	      /checkip 35.23.43.66
	      35.23.43.66 is banned:
	      35.23.43.66 banned by Tankmaster
		  reason: Cheaters

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

       /flag reset {all|unused|team|FlagId}
	      Repositions flags. If unused is specified, flags carried
	      by tanks are not affected. Using the team	option only
	      resets team flags, whereas specifying a flag id (such as GM) only
	      repositions flags	of this	type. If noteam	is specified,
	      team flags will not be reset. Examples:
	      /flag reset unused noteam
	      /flag reset G

       /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

       /flag up
	      Removes all flags	from the game

       /gameover
	      Ends the current game

       /handicap
	      Shows the	handicap boost percentage for every player

       /hostban	hostpattern duration reason
	      Ban players using	the specified hostnames	for a certain length of	time from using	this server.
	      Example:
	      /hostban *.foo.com 2 cheating
	      bans all players from foo.com for	2 minutes

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

       /jitterwarn [time]
	      Change the maximum allowed jitter	time. Example:
	      /jitterwarn 50

       /jitterdrop [count]
	      Change the number	of jitter warnings given before	a player is kicked. Example:
	      /jitterdrop 3

       /kick {"Player Name" | playerName | #slot} reason
	      Kick a 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. Example:
	      /kill Gerbol
	      kill the player named Gerbol

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

       /lagwarn	[time]
	      Change the maximum allowed lag time. Example:
	      /lagwarn 300

       /lagdrop	[count]
	      Change the number	of lag warnings	given before a player is kicked. Example:
	      /lagdrop 3

       /modcount [seconds]
	      Change the time on the clock by the specified number of seconds. Example:
	      /modcount	+320

       /mute {#slot | callsign}
	      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.
	      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)

       /packetlosswarn [time]
	      Change the maximum allowed packetloss. Example:
	      /packetloss 1

       /packetlossdrop [count]
	      Change the number	of packetloss warnings given before a player is	kicked.	Example:
	      /packetloss 3

       /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

       /record file filename
	      Start recording directly to a file

       /record list
	      List all files in	the recordings directory

       /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 save filename [seconds]
	      Save the recording buffer	into a file. If	seconds	is specified, then only	save
	      that many	previous seconds into the file.

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

       /record start
	      Start recording into the memory buffer

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

       /record stop
	      Stop recording into the memory buffer

       /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 loop
	      Start looping the	recording. This	will oftentimes	require	that all players connected
	      to the server rejoin  (to	reload the map,	etc...)

       /replay play
	      Start playing 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,	position, etc...)

       /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
	      /sendhelp	register "Foo"
	      Send the the help	page 'register'	to the player Foo

       /shutdownserver
	      Stop serving BZFlag on this server

       /superkill
	      Kick all players off the server

       /unmute {#slot |	callsign}
	      Allows a server admin to restore the TALK	permission to a	previously muted
	      player.

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

       /viewreports
	      View the server's	report file.

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,
       CLIENTQUERY, DATE, FLAGHISTORY,	IDLESTATS,  LAGSTATS,  PRIVATEMESSAGE,
       SHOWMOTTO,  SPAWN  and TALK by default. VERIFIED	has LISTPLUGINS, POLL,
       POLLKICK, POLLBAN, POLLKICK, POLLSET, POLLFLAGRESET, REPORT  and	 VOTE.
       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  ad-
       mins  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 VERI-
       FIED group.

       In addition, there  are	global	groups	available  that	 persist  net-
       work-wide.   Users  that	register their callsigns on the	BZFlag website
       at https://forums.bzflag.org/ have the ability to globally authenticate
       by  providing  a	 password from within the client.  When	they authenti-
       cate, 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: inherit 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 inaccessible 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 assigned	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:

       ACTIONMESSAGE	   /me
       ADMINMESSAGERECEIVE player receives messages sent to admin channel
       ADMINMESSAGESEND	   player may send messages on the admin channel
       ALL		   all permissions available
       ANTIBAN		   player is immune to /ban
       ANTIKICK		   player is immune to /kick
       ANTIKILL		   player is immune to /kill
       ANTIPOLL		   player is immune to /poll
       ANTIPOLLBAN	   player is immune to /poll ban
       ANTIPOLLKICK	   player is immune to /poll kick
       ANTIPOLLKILL	   player is immune to /poll kill
       BAN		   /ban	/hostban
       BANLIST		   /banlist /hostbanlist
       CLIENTQUERY	   /clientquery
       COUNTDOWN	   /countdown
       ENDGAME		   /gameover
       FLAGHISTORY	   /flaghistory
       FLAGMASTER	   /flag
       FLAGMOD		   /flag reset /flag show /flag	history
       HIDEADMIN	   player doesn't show the @ sign
       IDLESTATS	   /idlestats
       INFO		   not implemented
       JITTERWARN	   /jitterwarn /jitterdrop
       KICK		   /kick
       LAGSTATS		   /lagstats
       LAGWARN		   /lagwarn /lagdrop
       LISTPERMS	   not implemented
       LISTPLUGINS	   /listplugins
       MASTERBAN	   /masterban
       MODCOUNT		   /modcount
       MUTE		   /mute
       PACKETLOSSWARN	   /packetlosswarn /packetlossdrop
       PLAYERLIST	   /playerlist
       PLUGINS		   /listplugins	/loadplugin /unloadplugin
       POLL		   /poll
       POLLBAN		   /poll ban
       POLLFLAGRESET	   /poll flagreset
       POLLKICK		   /poll kick
       POLLSET		   /poll set
       PRIVATEMESSAGE	   /msg
       RECORD		   /record
       REJOIN		   allows instant rejoin, regardless of	_rejoinTime
       REMOVEPERMS	   /removegroup
       REPLAY		   /replay
       REPORT		   /report
       REQUIREIDENTIFY	   user	must use global	registration
       SAY		   /say
       SENDHELP		   /sendhelp
       SETALL		   use of all set/remove commands
       SETPERMS		   /setgroup
       SETPASSWORD	   not implemented
       SETVAR		   /set	/reset
       SHORTBAN		   /ban	(with a	limited	duration)
       SHOWADMIN	   player shows	an @ regardless	of  having  'shortban'
       perm
       SHOWMOTTO	   player  is  allowed	to  display their motto	on the
       scoreboard
       SHOWOTHERS	   /showgroup /showperms (on others)
       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

       /grouplist
	      Lists the	available user groups

       /groupperms
	      Lists the	permissions for	each group

       /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	permission.

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

       /removegroup callsign group
	      Remove a user from a group

       /setgroup callsign group
	      Add a user to a group

       /showgroup callsign
	      Lists the	groups that a registered user is a member of

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

BZFlag 2.4.20			  2020-08-28			       BZFS(6)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | GENERAL SERVER COMMANDS | SERVER ADMINISTRATIVE COMMANDS | USER MANAGEMENT | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=bzfs&sektion=6&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help