1bzfs(6)                             BZFlag                             bzfs(6)
2
3
4

NAME

6       bzfs - BZFlag game server
7

SYNOPSIS

9       bzfs  [-a linear angular] [-adminlagannounce milliseconds] [-admsg mes‐
10       sage] [-advertise groupname[,groupname]...]   [-autoTeam]  [-b]  [-bad‐
11       words  badwordfile] [-ban ip[,ip]...]  [-banfile filename] [-c] [-cache
12       worldCacheURL]  [-cacheout  filename]  [-conf  configfile]  [-cr]  [-d]
13       [-density  num]  [-disableBots]  [+f {good|bad|team||flag-id}[{count}]]
14       [-f {good|bad|flag-id}] [-fb] [-filterCallsigns]  [-filterChat]  [-fil‐
15       terSimple] [-g] [-groupdb file] [-h] [-handicap] [-help] [-helpmsg file
16       name] [-i interface] [-j] [-jitterdrop  warn-count]  [-jitterwarn  mil‐
17       liseconds]  [-lagannounce milliseconds] [-lagdrop warn-count] [-lagwarn
18       milliseconds]   [-masterBanURL    URL]    [-maxidle    seconds]    [-mp
19       {count|[rogue-count],[red-count],[green-count],[blue-count],[pur‐
20       ple-count],[observer-count]}]  [-mps  max-score]  [-ms   shots]   [-mts
21       max-score]  [-noMasterBanlist] [-offa] [-noTeamKills] [-p port] [-pack‐
22       etlossdrop  warn-count]  [-packetlosswarn   percent]   [-passdb   file]
23       [-passwd   password]   [-pidfile   filename]   [-poll   variable=value]
24       [-printscore] [-publictitle description]  [-publicaddr  address[:port]]
25       [-publiclist    url]    [-publickey    key]    [-q]    [+r]    [-rabbit
26       [score|killer|random]] [-recbuf size] [-recbufonly] [-recdir directory]
27       [-replay]  [-reportfile filename] [-reportpipe command] [+s flag-count]
28       [-s flag-count] [-sa] [-sb] [-set name value] [-sl id  num]  [-spamtime
29       time]  [-spamwarn  warnLimit] [-speedtol factor] [-srvmsg message] [-st
30       time] [-sw  count]  [-synctime]  [-t]  [-tftimeout  time-limit]  [-time
31       {time-limit|ending-time}]  [-timemanual] [-tk] [-tkkr percent] [-track‐
32       playhistory] [-ts [micros]]  [-userdb  file]  [-vars  file]  [-version]
33       [-world world-file] [-worldsize world size]
34
35

DESCRIPTION

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

OPTIONS

44       -a linear angular
45                      Sets the maximum linear and angular accelerations.   The
46                      units  are  somewhat arbitrary so you'll have to experi‐
47                      ment to find suitable values. Positive values  will  set
48                      limits  to  the acceleration and lower they are, greater
49                      is the inertia.  Zero or negative values disable  accel‐
50                      eration limits.
51
52       -adminlagannounce milliseconds
53                      Announce  players  that  lag  more  than milliseconds to
54                      admins.
55
56       -admsg message Define a message which will be broadcast to all  players
57                      every  15  minutes.   This  option  can be used multiple
58                      times to define a multiline message.
59
60       -advertise groupname,groupname,...
61                      Allows control of who can see this server on the  server
62                      list.  Use: -advertise NONE to make a private server (no
63                      one will see the server, but global logins can be used).
64                      The default, if -advertise is not specified, is to allow
65                      everyone to see the server.  Otherwise, your server will
66                      only  be listed to members of the groups which you spec‐
67                      ify, eg: -advertise JOE,BOB.
68
69       -autoTeam      Automatically assign players to teams when they  connect
70                      so  that  there  are  an  equal number of players on all
71                      available teams.  Players are placed on teams that  have
72                      the fewest players; otherwise they will be placed on the
73                      weakest team.  Weakest team is the team with the  lowest
74                      combined kill ratio.
75
76       -b             When  -c  is  supplied, this option randomly rotates the
77                      buildings.
78
79       -badwords badwordfile
80                      Specify a file that contains bad words that will be used
81                      when either -filterCallsigns or -filterChat is enabled.
82
83       -ban ip[,ip]...
84                      Prohibits  connections  from  the  listed  IP addresses.
85                      Trailing 255 bytes are treated as mask bytes.
86
87       -banfile filename
88                      Specifies the name of a file where bzfs will  store  the
89                      banlist. It will load the banlist from this file when it
90                      starts (if the file exists), and write the banlist  back
91                      to  the  file  when someone gets banned or unbanned.  If
92                      this option isn't given the banlist will not be saved.
93
94       -c             Enables the capture-the-flag style game. By default this
95                      allocates  one team flag per team.  This can be modified
96                      see +f team. By default, the free-for-all style is used.
97
98       -cache worldCacheURL
99                      Specifies the URL for the world cache file.  This  is  a
100                      binary file that clients will attempt to download before
101                      getting the world from the bzfs server.
102
103       -cacheout filename
104                      Save the currently specified world into a  binary  cache
105                      file and exit.
106
107       -conf configfilename
108                      Specifies the name of a configuration file to be used to
109                      set all of the bzfs options, rather than setting them on
110                      the command line.
111
112       -cr            Enables the capture-the-flag style game with random map.
113                      You can optionally specify a building density by provid‐
114                      ing  a number (default is 5).  One team flag per team is
115                      provided, but more  can  be  added  thru  +f  team.   By
116                      default, the free-for-all style is used.
117
118       -d             Increase  debugging  level.  If  more  -d is given, more
119                      debugging info is obtained.
120
121       -density num   Specify density for buildings, i.e. the higher the inte‐
122                      ger  number,  the  more  buildings  you  will  get. This
123                      applies to automatically generated maps only.
124
125       -disableBots   Disallow clients from using the ROGER autopilot or  from
126                      using robots.
127
128       +f {good|bad|teamflag-id}[{count}]
129                      Forces  the  existence  of the given flag.  If specified
130                      multiple times for the  same  flag-id,  then  that  many
131                      flags  will  appear.  The good argument is equivalent to
132                      specifying +f once for each kind of good flag. Same goes
133                      for  the  bad  argument.   The team argument adds a team
134                      flag to each team, assuming that the game style is  cap‐
135                      ture the flag. The optional {count} parameter allows the
136                      specification of multiple flags of the same  type.  Note
137                      that the curly braces are required.
138
139       -f {good|bad|flag-id}
140                      Disallows  random  flags  of  the  given type.  Required
141                      flags given by the +f option are  still  provided.   The
142                      bad  argument  is  equivalent  to specifying -f once for
143                      each kind of bad flag.  Same  goes  for  good,  but  you
144                      probably do not want to do that.
145
146       An  example  of  running  a  server with 40 to 50 flags except genocide
147       would
148                      be "+s40 -s50 -f G".  Similarly, "+f good{40} +f bad{10}
149                      -f  G{40}"  would  give you exactly 40 good flags except
150                      genocide and 10 of each bad flag.
151
152       -fb            Allow flags on box buildings.
153
154       -filterCallsigns
155                      Turn on the filtering of callsigns  and  mottos.   Call‐
156                      signs and mottos are compared against bad words provided
157                      via -badwords.
158
159       -filterChat    Turn on the filtering of chat messages.   Messages  that
160                      contain  words  listed via a -badwords file are replaced
161                      with !@#$%^&* characters.
162
163       -filterSimple  By default, all filtering is aggressive,  matching  much
164                      more  than  what  is strictly listed in a -badwords file
165                      for convenience.  Providing this option  will  make  the
166                      -filterCallsigns and -filterChat comparisons exact match
167                      only.
168
169       -g             Quit after serving one game.
170
171       -groupdb file  Load groups from file
172
173       -h             Buildings are given random heights.
174
175       -handicap      Players are given a handicap advantage  based  on  their
176                      ability  in  relation  to the other players. Handicapped
177                      players will have faster tanks and shots.  The  handicap
178                      is determined by the player's score in relation to other
179                      players.
180
181       -help          Shows a help page and lists all the valid flag id's.
182
183       -helpmsg file name
184                      Create a help message accessible by  /help  name,  which
185                      prints  the contents of file. Restricted to 10 lines per
186                      help message.
187
188       -i interface   Server will listen for and respond  to  ``pings''  (sent
189                      via broadcast) on the given interface.  Clients use this
190                      to find active servers  on  the  network.  This  is  the
191                      TCP/UDP/IP address the server will listen on.
192
193       -j             Allows jumping.
194
195       -jitterdrop warn-count
196                      Kicks players after warn-count jitter warnings.
197
198       -jitterwarn milliseconds
199                      Send warnings to players that jitter more than millisec‐
200                      onds.
201
202       -lagannounce milliseconds
203                      Announce players that lag more than milliseconds in pub‐
204                      lic.
205
206       -lagdrop warn-count
207                      Kicks players after warn-count lag warnings.
208
209       -lagwarn milliseconds
210                      Send  warnings  to  players that lag more than millisec‐
211                      onds.
212
213       -masterBanURL URL
214                      Specify alternate URLs for the master  ban  file  to  be
215                      pulled  from.   This  argument  may be provided multiple
216                      times.
217
218       -maxidle seconds
219                      Kick players that did  not  play  longer  than  seconds.
220                      Pausing  players  are  not kicked. If a player uttered a
221                      word recently, he will be kicked after thrice the  given
222                      time.
223
224       -mp {count|[rogue],[red],[green],[blue],[purple],[observer]}
225                      Sets  the  maximum number of players, total or per team.
226                      A single value sets the total number of players allowed.
227                      Five  comma  separated  values  set the maximum for each
228                      team.  If a count is left blank then no limit is set for
229                      that  team,  except for the limit on the total number of
230                      players.  Both forms may be provided.  For rabbit  hunt,
231                      the  "rogue" value sets the total number of non-observer
232                      player, and all other values must be zero.
233
234       -mps max-score Sets a maximum score for individual players.  The  first
235                      player  to  reach  this score is declared the winner and
236                      the game is over.
237
238       -ms shots      Allows up to shots simultaneous shots for  each  player.
239                      This is 1 by default.
240
241       -mts max-score Sets a maximum score for teams.  The first team to reach
242                      this score is declared the winner and the game is over.
243
244       -noMasterBanlist
245                      Server will not attempt to load the master ban list from
246                      the internet.
247
248       -offa          Enables  the  Open-Free-for-All  style  game.  This is a
249                      teamless mode, similar  to  the  classic  deathmatch  in
250                      other games.
251
252       -noTeamKills   Players  on  the  same  team  are immune to each other's
253                      shots. Rogue is excepted.
254
255       -p port        Listen for game  connections  on  port  instead  of  the
256                      default  port.   Use -help to print the default port, or
257                      use -d debug printing.
258
259       -packetlossdrop warn-count
260                      Kicks players after warn-count packetloss warnings.
261
262       -packetlosswarn percent
263                      Send warnings to players that have more more  than  per‐
264                      cent loss.
265
266       -passdb file   Load passwords from file
267
268       -passwd password
269                      Specify  a  server  administrator  password  for  use in
270                      remote administration such as /kick,  /ban,  /mute,  etc
271                      messages.
272
273       -pidfile filename
274                      Specify  a  file where the server will write its process
275                      ID so it may be used for remote administration.
276
277       -poll variable=value
278                      Configure several aspects of the in-game polling system
279
280                      banTime
281                             default number of minutes player should be banned
282                             (unspecified, the  default is 300)
283
284                      vetoTime
285                             max  seconds  authorized  user  has to abort poll
286                             (default is 20)
287
288                      votePercentage
289                             percentage of players required to affirm  a  poll
290                             (unspecified, the default is 50.1%)
291
292                      voteRepeatTime
293                             minimum  seconds  required  before  a  player may
294                             request another vote (default is 300)
295
296                      votesRequired
297                             minimum number of additional  votes  required  to
298                             make a vote valid (default is 2)
299
300                      voteTime
301                             maximum  amount  of  time  player has to vote, in
302                             seconds (default is 60)
303
304       -printscore    Write score to stdout whenever it changes
305
306       -publictitle description
307                      Advertise this server on the  internet  with  the  given
308                      description.   By  default,  a  server  will  respond to
309                      broadcast queries, allowing clients to find servers run‐
310                      ning  on  the  standard  port  on the local subnet.  The
311                      -publictitle option causes the server to register itself
312                      with  a  list  server,  which clients can query to get a
313                      list of bzfs servers.
314
315       -publicaddr address[:port]
316                      Advertise this server with the given address  and  port.
317                      Normally a server advertises itself at the local address
318                      and port.  Some servers  are  not  accessible  from  the
319                      internet  at  this address (for example servers behind a
320                      firewall using Network Address Translation).   Use  this
321                      option  to specify the address and/or port that internet
322                      users should use to access this server.
323
324       -publiclist url
325                      Advertise this server on the list servers listed at url.
326                      Only  has  an  effect when used with -publictitle and/or
327                      -publicaddr.  A built-in url is used  by  default.   The
328                      BZFlag clients use the same built-in url so, by default,
329                      clients will see  public  servers  automatically.   This
330                      argument  may  be provided multiple times to publicize a
331                      server to multiple list servers.
332
333       -publickey key Advertise this server on the list  server(s)  using  the
334                      specified  key.  Only has an effect when used with -pub‐
335                      lictitle and/or -publicaddr.
336
337       -q             If specified, the server will not listen for nor respond
338                      to  ``pings''.  BZFlag sends out these pings to give the
339                      user a list  of  available  servers.   This  effectively
340                      makes the server private, especially if the -p option is
341                      also used.
342
343       +r             Makes most shots ricochet.  Super bullets, shock  waves,
344                      and guided missiles do not.
345
346       -rabbit [score|killer|random]
347                      Enables  the  rabbit-hunt  style  game.  By default, the
348                      free-for-all style is used.  You must specify the  algo‐
349                      rithm  used  to pick a new rabbit when the old one dies.
350                      The score algorithm uses a  modified  wins/(wins+losses)
351                      score  and  picks  the  top scoring player to be the new
352                      rabbit.  The killer algorithm specifies  a  reverse  tag
353                      game  where  whomever  kills  the rabbit becomes the new
354                      rabbit.  The random algorithm randomly picks a new  rab‐
355                      bit  without  regard  to score.  (The score algorithm is
356                      the original behavior.)
357
358       -recbuf size   Start with the recording buffer active, with the  speci‐
359                      fied size (in megabytes).
360
361       -recbufonly    Disable recording straight to files
362
363       -recdir directory
364                      Specify the directory for record and replay files.
365
366       -replay        Start the server in replay mode.
367
368       -reportfile filename
369                      Write  messages  to  the  server admin written using the
370                      /report command to this file. If neither -reportfile  or
371                      -reportpipe  is  used  the  /report command will be dis‐
372                      abled.
373
374       -reportpipe command
375                      Pipe messages to the  server  admin  written  using  the
376                      /report  command  to  this program or shell command. See
377                      -reportfile.
378
379       +s num-flags   The server will have an  extra  num-flags  random  super
380                      flags available at all times.  The -f option can be used
381                      to  restrict  which  types  of  flags  will  be   added.
382                      Required  flags  given by the +f option are not included
383                      in the num-flags total.
384
385       -s num-flags   The server will have up to num-flags random super  flags
386                      available  at  any  time.   The -f option can be used to
387                      restrict which types of flags will be  added.   Required
388                      flags  given  by  the  +f option are not included in the
389                      num-flags total.
390
391       -sa            Antidote flags are provided for players with bad flags.
392
393       -sb            Allow spawns on box buildings.
394
395       -set name value
396                      Set BZDB variable name to value
397
398       -sl id num     Restrict flag id to num shots.
399
400       -spamtime time Minimum time  between  player  chat  messages  that  are
401                      alike.
402
403       -spamwarn warnLimit
404                      Number  of warnings a player/spammer gets, who  violates
405                      -spamtime.
406
407       -speedtol factor
408                      Override the default speed auto kick factor. The  factor
409                      should not be less then 1.0. The factor is a multiplier.
410
411       -srvmsg message
412                      Define a server welcome message. This option can be used
413                      multiple times to define a multiline message.
414
415       -st time       Bad flags are automatically dropped after time seconds.
416
417       -sw count      Bad flags are automatically dropped  after  count  wins.
418                      Capturing a team flag does not count as a win.
419
420       -synctime      Forces  all  clients  to  use the same time of day.  The
421                      current time is determined by the server's clock.   This
422                      disables the + and - keys on the clients.
423
424       -t             Adds teleporters to the game.
425
426       -tftimeout time-limit
427                      If  the  last player in a team leaves while someone else
428                      is carrying the team flag, the team flag will not  reset
429                      until  it  is captured, or until the player drops it and
430                      it is left alone for some time.  This  option  specifies
431                      the number of seconds that the flag should be left alone
432                      before it is reset. The default value is 30.
433
434       -time time-limit
435                      Sets a time limit on the game to time-limit  or  ending-
436                      time.  The game will be stopped time-limit seconds after
437                      the first player connects, or at ending-time,  whichever
438                      is  given.  The  ending-time should be given in hh:mm:ss
439                      format, but does not need minute and  second  arguments.
440                      If hour is only given, it must end in ':'. Each unspeci‐
441                      fied argument is set to 0.
442
443       -timemanual    When using -time, the  countdown  will  start  when  the
444                      first  player joins. With -timemanual, the countdown has
445                      to be started manually  using  the  /countdown  command.
446                      This is useful for matches.
447
448       -tk            Changes the default behavior where a player dies when he
449                      kills a teammate.  When using this option, he will  just
450                      get a -1 score penalty for the kill but not be killed in
451                      game.
452
453       -tkkr percent  Kicks players whose team killing to normal kill ratio is
454                      greater than percent [1-100]. A start up grace period is
455                      given to players.
456
457       -trackplayhistory
458                      Has the server track players with good runs of kills and
459                      anounces  them.   Also  anounces those players that stop
460                      the runs of good players.
461
462       -ts [micros]   Include timestamp information in DEBUG output  -  useful
463                      for  logging.  If micros is specified, microseconds will
464                      be added to the timestamp.
465
466       -userdb file   Load group associations from file
467
468       -vars file     Loads values for game configurable variables from  file.
469                      Entries  are  one  per  line  in  the form: set variable
470                      value. For a list of variables that are configurable, in
471                      the BZFlag client, send a message with /set as the text.
472
473       -version       Prints the version number of the executable.
474
475       -world world-file
476                      Reads  a  specific BZFlag .bzw world layout file for the
477                      game map.
478
479       -worldsize world-size
480                      Changes the size for random maps
481
482   Notes
483       The server uses nearly zero CPU time when nobody is playing,  and  even
484       during  a game the server uses very little CPU, so it's not a burden on
485       the system to leave one running and it won't interfere  with  a  player
486       using the same system (except on Windows 95, which really sucks at mul‐
487       titasking).  The server will continue to run until  terminated.   If  a
488       game  is  in  progress  when  the server goes down, all players will be
489       kicked off and the game will be aborted without  warning.   The  server
490       resets  itself  when  all  players have quit.  All players must quit to
491       reset the server when a game is  over  (because  of  a  score  or  time
492       limit).
493
494       The following game styles are recommended starting points.
495
496              -c [-b]        Basic capture-the-flag game.  It teaches teamwork
497                             and dogfighting skills.
498
499              -s -t          Free-for-all  with  superflags  and  teleporters.
500                             Teaches  players  how to use superflags and tele‐
501                             porters for maximum  effect.   You  may  want  to
502                             allow  players to drop bad flags with any of -sa,
503                             -st, and -sw.
504
505       Notice that the maximum number of shots for these styles is one.   Hav‐
506       ing low shot counts can greatly increase general playability and learn‐
507       ing speed.  However, this is not always true of  every  game  style  or
508       game  world,  and a skilled player will learn to deal with a variety of
509       shot counts.  Single shot games have  additional  disadvantage  in  WAN
510       games  where  lag/jitter can cause unfair advantage.  Single shot, non-
511       Jump games will teach valuable lessons in  dodging,  however,  and  are
512       excellent starting points for the beginner.
513
514   Networking
515       Communication  between  the  server  and clients (i.e. between bzfs and
516       bzflag) during a game is via TCP and UDP.  Use the -help option to  get
517       the  server's  default  port.  If there's a firewall between the server
518       and client, the firewall must accept connections  from  the  client  to
519       this port and forward them to the server.
520
521       Clients  can  search for servers by sending broadcast UDP packets.  But
522       they must be on the same local area network for this to work.   Clients
523       can  also  find  servers advertised using -publictitle by querying list
524       servers.
525
526       Game information is relayed  through  the  server.  Some  communication
527       between  clients, such as position and orientation information, is nor‐
528       mally sent via UDP packets.  Other data, like flag grab and  kill  mes‐
529       sages, are sent to the server via TCP. The server then turns around and
530       broadcasts these packets  to all players. Since being in a game implies
531       connection  to  the  server, all players are guaranteed to get all mes‐
532       sages sent via TCP.  But the UDP packets may be  discarded.   If  other
533       players  can see your tank in the game but it never appears to move and
534       shots go through it, chances are high that your UDP connection  is  not
535       working.
536
537   Worlds
538       BZFlag worlds come in two varieties, randomly generated ones, and human
539       designed ones. By default, bzfs uses randomly  generated  world  unless
540       you  specify  the -world command line or configuration file option. The
541       world file specified by the -world option is a  text  based  file  that
542       contains  a  list of world objects. This file can be created using pro‐
543       grams found on sourceforge.net through cvs, or can be hand edited.  See
544       the bzw(5) manual page for more details.
545
546
547

GENERAL SERVER COMMANDS

549       /clientquery [callsign]
550              Retrieve client version info from all users, or just CALLSIGN if
551              given. Example:
552              /clientquery MrApathyCream
553              MrApathyCream: Version: BZFlag 1.11.6-20040729-gnu-linux-SDL
554
555
556       /date, /time
557              Responds with the current server local time. /date and /time are exactly the same. Example:
558              Tuesday September 08 06:45:54 2004
559
560
561       /flaghistory
562              Lists what flags players have grabbed in the past. Example:
563              MrApathyCream: (<-) (->) (O) (CB) (M) (B) (JM) (WA)
564              Gerbol: (L) (GM) (L) (GM) (CL) (ST) (GM) (L)
565              captain_macgyver: (SB) (SW)
566
567
568       /idlestats
569              Displays the idle time in seconds for each player. A player is idle when
570              he is dead and has not respawned yet. Example:
571              MrApathyCream: 0s
572              Gerbol: 80s
573              captain_macgyver: 13s
574
575
576       /lagstats
577              Lists network delays, jitter and number of lost resp. out of order packets by player. Example:
578              MrApathyCream 335 +- 10ms
579              Gerbol 210 +- 3ms
580              captain_macgyver 155 +- 0ms  12% lost/ooo
581
582
583       /me action
584
585              This command displays an "action" that is conveyed to another player.  It allows
586              for a little more expressivity in the game.  For example: "/me is hunting wabbits"
587              turns into a message like "TimRiker is hunting wabbits" that gets displayed
588              differently to other players.
589
590
591       /msg "callsign" message
592
593              This command allows a player to send a message to another player.  Similar to using
594              the "," and "." message keys in the game and then selecting your recipient, this
595              will send some message to particular player.  The quotes are optional.
596
597
598       /part [message]
599              Leave the server with a goodbye message (similar to IRC's /part)
600              /part Gotta go! bye everyone!
601
602
603       /password password
604              Attempt to gain administrator status Example:
605              /password supersecretpassword
606              You are now an administrator!
607
608
609       /poll {{ban|kick} callsign|vote {yes|no}|veto}
610              Interact and make requests of the bzflag voting system via the /poll command.
611              The ban and kick subcommands request a vote to respectively ban or kick some
612              player.  The playername is expected as the next argument.  The vote and veto
613              commands behave identical to the /vote and /veto command counterparts,
614              expecting the same arguments in following.  By default, you must be registered
615              to request or vote on a poll, and an admin to veto.
616
617
618       /quit [message]
619              Quit the game with a goodbye message (similar to IRC's /quit)
620              /quit Gotta go! bye everyone!
621
622
623       /report message
624              Write a message to the server administrator. Example:
625              /report I like this map!
626
627
628       /uptime
629              Prints server's current running time in days, hours, mins and secs.
630
631
632       /vote {yes|no}
633              If there is a poll active, this command will place a vote in favor or in
634              opposition to the poll.  Multiple languages are supported as a vote argument
635              in addition to "yes" and "no".  By default, you must be registered to vote on
636              a poll.
637
638
639

SERVER ADMINISTRATIVE COMMANDS

641
642
643       /ban {ip|ipList|#slot|"Player Name"|playerName} duration reason
644
645              Ban players using the specified IPs for certain length  of  time
646              from using this server.  <duration> can be:
647                  'short' or 'default' for the default ban time
648                  'forever' or 'max' for infinite bans
649                  a time in the format <weeks>W<days>D<hours>H<minutes>M
650                  just a number of minutes
651
652              Examples:
653              /ban 35.23.43.66 2 cheating
654              bans player with specific ip for 2 minutes
655              /ban 35.23.*.*,47.23.17.* 0 Cheaters
656              bans all ips in this range forever
657              /ban 36.37.2.8 2h30m "ShootMe" was abusing players
658              bans specific ip for 2.5 hours with given reason
659              /ban #5 60m Rejoining
660              bans player using slot 5 for 60 minutes with given reason
661              /ban "Tanker" max cheating
662              bans the player Tanker forever because cheating
663
664              Note: Slots numbers are only displayed in admins clients.
665              Duration and reason are required.
666
667
668       /banlist
669              List all of the IPs currently banned from this server. Example:
670              /banlist
671              IP Ban List
672              ------------
673              35.23.43.66 (2 minutes) banned by Tankmaster
674                  reason: Cheaters
675              47.23.17.* banned by Tankslave
676
677
678       /checkip ip
679              Check whether the IP is banned and print the corresponding rule. This does not
680              cover hostbans. Example:
681              /checkip 35.23.43.66
682              35.23.43.66 is banned:
683              35.23.43.66 banned by Tankmaster
684                  reason: Cheaters
685
686
687       /countdown [seconds]
688              Starts the countdown sequence for a timed game.  The countdown
689              sequence length can optionally be specified in seconds.  Examples:
690              /countdown
691              /countdown 3
692
693
694       /flag reset [unused]
695              Repositions flags. If unused is specified, flags carried by tanks are not affected.
696
697
698       /flag show
699              Shows all flags with information. Example:
700              0: p:-1 r:1 g:1 1:V s:1 p:159.1x43.2x0.0
701              1: p:2 r:1 g:1 1:SW s:1 p:209.1x143.2x10.0
702              2: p:-1 r:1 g:3 1:L s:1 p:-29.1x301.2x0.0
703
704
705       /flag up
706              Removes all flags from the game
707
708
709       /gameover
710              Ends the current game
711
712
713       /hostban hostpattern duration reason
714              Ban players using the specified hostnames for a certain length of time from using this server.
715              Example:
716              /hostban *.foo.com 2 cheating
717              bans all players from foo.com for 2 minutes
718
719
720       /hostbanlist
721              List all of the host patterns currently banned from this server.
722
723
724       /jitterwarn [time]
725              Change the maximum allowed jitter time. Example:
726              /jitterwarn 50
727
728
729       /jitterdrop [count]
730              Change the number of jitter warnings given before a player is kicked. Example:
731              /jitterdrop 3
732
733
734       /kick {"Player Name"|playerName|#slot} reason
735              Kick a player off the server. Example:
736              /kick Gerbol
737              You were kicked off the server by MrApathyCream
738
739              /kick #1 Team killing
740              Kick the player using slot 1 because Team Killing
741
742              Note: Slots numbers are only displayed in admins clients.
743              A reason is required
744
745
746       /kill {"Player Name"|playerName|#slot} [reason]
747              Kill a player just like when shooting. Example:
748              /kill Gerbol
749              kill the player named Gerbol
750
751              /kill #4 teamkilling
752              Kill the player using slot 4 because teamkilling
753
754
755       /lagwarn [time]
756              Change the maximum allowed lag time. Example:
757              /lagwarn 300
758
759
760       /lagdrop [count]
761              Change the number of lag warnings given before a player is kicked. Example:
762              /lagdrop 3
763
764
765       /modcount [seconds]
766              Change the time on the clock by the specified number of seconds. Example:
767              /modcount +320
768
769
770       /mute {#slot|callsign}
771              Allows a server admin to remove the ability for a player to communicate with
772              other players. Once muted the player may only talk to admins on the server.
773              This command removes the TALK permission that is enabled by default for all
774              players. (disabling TALK by default would let you run a "silent" server)
775
776
777       /packetlosswarn [time]
778              Change the maximum allowed packetloss. Example:
779              /packetloss 1
780
781
782       /packetlossdrop [count]
783              Change the number of packetloss warnings given before a player is kicked. Example:
784              /packetloss 3
785
786
787       /playerlist
788              List player names and IP addresses. Example:
789              /playerlist
790              [0]MrApathyCream: 35.23.65.44:4808 udp id
791              [1]Gerbol: 130.123.1.55:4909 udp id
792              [2]captain_macgyver: 15.32.122.51:3201 udp id
793
794
795       /record file filename
796              Start recording directly to a file
797
798
799       /record list
800              List all files in the recordings directory
801
802
803       /record rate seconds
804              Set the time between game state updates stored in the recording. This will affect
805              the granularity of the 'skips' you can do while replaying a file. It will also
806              make the recording files bigger if it is set to a faster update rate.
807
808
809       /record save filename [seconds]
810              Save the recording buffer into a file. If seconds is specified, then only save
811              that many previous seconds into the file.
812
813
814       /record size megabytes
815              Set the size of the recording memory buffer
816
817
818       /record start
819              Start recording into the memory buffer
820
821
822       /record stats
823              Display the statistics for the current recording (file or buffered)
824
825
826       /record stop
827              Stop recording into the memory buffer
828
829
830       /replay list
831              List all files in the recordings directory
832
833
834       /replay load {filename|#index}
835              Load the specified recording file by name, or by index
836              (same indices as produced by the 'replay list' command)
837
838
839       /replay loop
840              Start looping the recording. This will oftentimes require that all players connected
841              to the server rejoin  (to reload the map, etc...)
842
843
844       /replay play
845              Start playing the recording. This will oftentimes require that all players connected
846              to the server rejoin  (to reload the map, etc...)
847
848
849       /replay skip [{+|-} seconds]
850              If seconds is specified, then skip that amount of time in the recording.
851              Otherwise, skip forwards until there is activity.
852
853
854       /replay stats
855              Show the current replay status (filename, position, etc...)
856
857
858
859       /say message
860              Generate a public message sent by the server. Example:
861              /say This is a servermessage
862
863
864       /sendhelp {"Player name"|playerName|#slot} help page
865              Send the specified help page to a user
866              /sendhelp register "Foo"
867              Send the the help page 'register' to the player Foo
868
869
870       /shutdownserver
871              Stop serving BZFlag on this server
872
873
874       /superkill
875              Kick all players off the server
876
877
878       /unmute {#slot|callsign}
879              Allows a server admin to restore the TALK permission to a previously muted
880              player.
881
882
883       /veto  If there is a poll active, this will cancel the poll.  By default, you must be
884              an admin to veto a poll.
885
886
887       /viewreports
888              View the server's report file.
889
890
891
892

USER MANAGEMENT

894       Generally,  you  start with empty files for the user and password data‐
895       bases.  These are maintained by  the  server,  and  modifiable  through
896       server commands.  Users in turn belong to groups.  Groups are generally
897       customized to perhaps allow administrative control to trusted users.
898
899       There are both local and global groups, i.e. groups that are  available
900       across the entire BZFlag network.  In setting up a server, you may want
901       to specify global groups that will allow already well known and trusted
902       users  to police your server and help maintain control against cheaters
903       and abuse.
904
905       The server will automatically create three groups: EVERYONE,  VERIFIED,
906       and LOCAL.ADMIN.  EVERYONE  has  ACTIONMESSAGE, ADMINMESSAGESEND, DATE,
907       FLAGHISTORY, IDLESTATS, LAGSTATS, PRIVATEMESSAGE and SPAWN by  default.
908       VERIFIED has POLL, POLLKICK, POLLBAN, POLLSET, POLLFLAGRESET, and VOTE.
909       The LOCAL.ADMIN group has almost every permission possible (similar  to
910       granting admin powers via /password).
911
912       Once  the  server  is  running,  users can register their callsigns and
913       admins can set their group memberships. Users can use any command  that
914       their  permissions allow. Every user, registered or not, is part of the
915       EVERYONE group. When a user identifies, they become part of  the  VERI‐
916       FIED group.
917
918       In  addition,  there  are  global  groups  available  that persist net‐
919       work-wide.  Users that register their callsigns on the  BZFlag  website
920       at  http://my.BZFlag.org/bb/  have the ability to globally authenticate
921       by providing a password from within the client.   When  they  authenti‐
922       cate, bzfs will ask the list server if they belong to any of the groups
923       listed in your group database file that are not prefixed with "LOCAL.".
924       If  they are a member of a group in question, then they are granted the
925       permissions you specify for that group.
926
927       A group database file is set up  to  contain  the  specific  local  and
928       global  groups  you  care to have on your server in addition to default
929       groups and exactly which permissions are granted by each.  These  files
930       are laid out with one line per group, using the following format:
931
932       GROUP_NAME: [*Group] [+|-|!]perm1 [+|-|!]perm2 ... permN
933
934
935       *Group: inhert permissions from existing group "Group"
936
937       +perm: add perm to this group
938
939       -perm: remove perm from this group
940
941       !perm: forbid perm for this group. makes perm inaccessable whether it's
942       granted from another group or not
943
944       If no operator is given with a permission it is handled like  +perm.  A
945       group line for a previously existing group adds to already granted per‐
946       missions. That way you can spread a  group's  definition  over  several
947       lines:
948
949       GROUP_NAME: +perm1 +perm2
950       GROUP_NAME: +perm3 +perm4 -perm5
951
952       Group  names cannot have spaces, quotes, or other special characters in
953       them.  This would be a sample line defining a "cop" group:
954
955       COPS: +KICK +SHORTBAN +BANLIST
956
957       Now a group USERADMIN with all permissions granted to  COPS  plus  some
958       additional could look like this:
959
960       USERADMIN: *COPS +BAN +UNBAN
961
962       Probably  you  want  to  define  customized permissions for the default
963       group "VERIFIED" instead of those automatically asigned by the server:
964
965       VERIFIED: -ALL +perm1 +perm2 ...
966
967       Or you want to disable the /poll command entirely?
968
969       EVERYONE: !POLL
970
971       To distinguish between a group that is local and one  that  is  global,
972       use the "LOCAL." prefix as part of the group name, e.g.:
973
974       LOCAL.OPERATOR: BANLIST
975
976
977       The available permissions are as follows:
978
979
980       ACTIONMESSAGE       /me
981       ADMINMESSAGERECEIVE player receives messages sent to admin channel
982       ADMINMESSAGESEND    player may send messages on the admin channel
983       ALL                 all permissions available
984       BAN                 /ban /hostban
985       BANLIST             /banlist /hostbanlist
986       COUNTDOWN           /countdown
987       ENDGAME             /endgame
988       FLAGHISTORY         /flaghistory
989       FLAGMOD             /flag
990       IDLESTATS           /idlestats
991       INFO                not implemented
992       KICK                /kick
993       LAGSTATS            /lagstats
994       LAGWARN             /lagwarn
995       LISTPERMS           not implemented
996       MUTE                /mute
997       PLAYERLIST          /playerlist
998       POLL                /poll
999       POLLBAN             /poll ban
1000       POLLFLAGRESET       /poll flagreset
1001       POLLKICK            /poll kick
1002       POLLSET             /poll set
1003       PRIVATEMESSAGE      /msg
1004       REJOIN              allows instant rejoin, regardless of _rejoinTime
1005       REMOVEPERMS         /removegroup
1006       REQUIREIDENTIFY     user must use global registration
1007       SAY                 /say
1008       SETALL              use of all set/remove commands
1009       SETPERMS            /setgroup
1010       SETPASSWORD         not implemented
1011       SETVAR              /set /reset
1012       SHOWOTHERS          not implemented
1013       SHUTDOWNSERVER      /shutdownserver
1014       SPAWN               join  game  as  a player. observers don't need this
1015       flag.
1016       SUPERKILL           /superkill
1017       TALK                allows all players to send messages
1018       UNBAN               /unban /hostunban
1019       UNMUTE              /unmute
1020       VETO                /veto
1021       VOTE                /vote
1022
1023
1024       /ghost callsign password
1025              Kicks off an impersonating player or ghost
1026
1027
1028       /grouplist
1029              Lists the available user groups
1030
1031
1032       /groupperms
1033              Lists the permissions for each group
1034
1035
1036       /masterban {flush|reload}
1037              Forces the server to flush any bans from the master  server.  If
1038              reload is specified instead of flush, also reloads bans from the
1039              the internet. Local bans are unaffected.  This command  requires
1040              the UNBAN permision.
1041
1042
1043       /reload
1044              Reloads the user, group, and password files (for synchronization
1045              between multiple servers on the same machine)
1046
1047
1048       /removegroup callsign group
1049              Remove a user from a group
1050
1051
1052       /setgroup callsign group
1053              Add a user to a group
1054
1055
1056       /setpass password
1057              Changes your password
1058
1059
1060       /showgroup callsign
1061              Lists the groups that a registered user is a member of
1062
1063
1064

SEE ALSO

1066       bzflag(6), bzadmin(6), bzw(5)
1067
1068
1069
1070bzfs-2.4.0                        2011-08-19                           bzfs(6)
Impressum