1bzfs(6) BZFlag bzfs(6)
2
3
4
6 bzfs - BZFlag game server
7
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
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
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
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
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
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
1066 bzflag(6), bzadmin(6), bzw(5)
1067
1068
1069
1070bzfs-2.4.0 2011-08-19 bzfs(6)