|
|
(23 intermediate revisions by 12 users not shown) |
Line 1: |
Line 1: |
− | BZFS is the BZFlag server. To be lazy, the man page is located at [http://my.bzflag.org/bzfman.cgi?bzfs.6.in]
| + | ''This is an article specifically about the BZFS program. For general information on creating a BZFlag server, see [[Creating a server]].'' |
| | | |
− | The man page is pasted below for your convenience (it is in need of heavy wiki formatting).
| + | BZFS is name of the [[BZFlag]] server application. It is a command line application that can ether be run manually or started from within the game. The server supports a large list of [[BZFS Command Line Options|command line options]] that can be used. All BZFlag games are hosted on BZFS servers, there is no 'single player' game that is run with only a client. |
− | == Man Page ==
| + | |
− | SYNOPSIS
| + | |
| | | |
− | bzfs [-a linear angular] [-admsg message] [-advertise GROUPNAME,GROUP-
| + | ==Public Vs. Private Servers== |
− | NAME,...] [-autoTeam] [-b] [-badwords badwordfile] [-ban ip{,ip}*]
| + | BZFS can be run in ether a public or private mode. Public servers are listed with the central [[List Server]] system and can take advantage of the [[Global Registration]] system for user management. Private servers will only be visible on the LAN they are started on. The in-game server menu can only start private servers. |
− | [-ban ip[,ip]...] [-banfile filename] [-c] [-cache worldCacheURL]
| + | |
− | [-cacheout filename] [-conf configfile] [-cr] [-d] [-density num]
| + | |
− | [-disableBots] [+f {good|bad|team||flag-id}[{count}]] [-f
| + | |
− | {good|bad|flag-id}] [-fb] [-filterCallsigns] [-filterChat] [-filterSim-
| + | |
− | ple] [-g] [-groupdb file] [-h] [-handicap] [-help] [-helpmsg file name]
| + | |
− | [-i interface] [-j] [-lagdrop warn-count] [-lagwarn time/ms] [-master-
| + | |
− | BanURL URL/s] [-maxidle time/s] [-mp
| + | |
− | {count|[rogue-count],[red-count],[green-count],[blue-count],[pur-
| + | |
− | ple-count],[observer-count]}] [-mps {max-score}] [-ms shots] [-mts
| + | |
− | {max-score}] [-noMasterBanlist] [-p port] [-passdb file] [-passwd pass-
| + | |
− | word] [-pidfile filename] [-poll variable=value] [-printscore] [-public
| + | |
− | description] [-publicaddr address[:port]] [-publiclist url] [-q] [+r]
| + | |
− | [-rabbit [score|killer|random]] [-recbuf size] [-recbufonly] [-recdir
| + | |
− | directory] [-replay] [-reportfile filename] [-reportpipe command]
| + | |
− | [-requireudp] [+s flag-count] [-s flag-count] [-sa] [-sb] [-set name
| + | |
− | value] [-sl id num] [-spamtime time] [-spamwarn warnLimit] [-speedtol
| + | |
− | factor] [-srvmsg message] [-st time] [-sw count] [-synctime] [-t]
| + | |
− | [-tftimeout time-limit] [-time time-limit] [-timemanual] [-tk] [-tkkr
| + | |
− | percent] [-trackplayhistory] [-ts [micros]] [-userdb file] [-vars file]
| + | |
− | [-version] [-world world-file] [-worldsize world size]
| + | |
| | | |
| + | ==Command line options and Config files== |
| + | BZFS uses [[BZFS Command Line Options|command line options]] to set the various modes and options for a game. These options can be specified from the command line prompt of the host OS or inside a plain text configuration file. The path (relative or absolute) to the config file is specified with the '''-conf''' option. |
| | | |
| + | See the [[Sample_conf|sample configuration]] for some examples of command line options. However, it is recommended that you create a configuration file from scratch, and test it every few lines. This will help in the case of configuration errors as you will have only modified a few lines that introduced the error. |
| | | |
| + | ==World Files== |
| + | BZFS can read in [[BZW]] formatted map files and use them to define the 3d world the game is played in. |
| | | |
− | DESCRIPTION
| + | ==Plug-ins and the BZFS API== |
| + | BZFS can be extended by the use of server side [[Plug-ins]]. These [[Plug-ins]] are runtime loaded DLLs/SO files that use the [[BZFS API]] to modify and automate various game logic and settings. |
| | | |
− | Bzfs is the server for BZFlag, and it must be running to play. It can
| + | ==See also== |
− | be run on any system on the network (including a player's system or one
| + | * [[BZFS Command Line Options]] |
− | without graphics). Terminating the server terminates the game in
| + | * [[BZFS API]] |
− | progress.
| + | * [[Plug-ins]] |
| + | * [[Sample conf|Sample Config File]] |
| | | |
− | | + | [[Category:Server]] |
− | | + | |
− | | + | |
− | OPTIONS
| + | |
− | | + | |
− | -a linear angular
| + | |
− | Sets the maximum linear and angular accelerations. The
| + | |
− | units are somewhat arbitrary so you'll have to experi-
| + | |
− | ment to find suitable values. Positive values will set
| + | |
− | limits to the acceleration and lower they are, greater
| + | |
− | is the inertia. Zero or negative values disable accel-
| + | |
− | eration limits.
| + | |
− | | + | |
− | -admsg message Define a message which will be broadcast to all players
| + | |
− | every 15 minutes. This option can be used multiple
| + | |
− | times to define a multiline message.
| + | |
− | | + | |
− | -advertise groupname,groupname,...
| + | |
− | Allows control of who can see this server on the server
| + | |
− | list. Use: -advertise NONE to make a private server (no
| + | |
− | one will see the server, but global logins can be used).
| + | |
− | The default, if -advertise is not specified, is to allow
| + | |
− | everyone to see the server. Otherwise, your server will
| + | |
− | only be listed to members of the groups which you spec-
| + | |
− | when either -filterCallsigns or -filterChat is enabled.
| + | |
− | | + | |
− | -ban ip{,ip}* Prohibits connections from the listed IP addresses.
| + | |
− | Trailing 255 bytes are treated as mask bytes.
| + | |
− | | + | |
− | -banfile filename
| + | |
− | Specifies the name of a file where bzfs will store the
| + | |
− | banlist. It will load the banlist from this file when it
| + | |
− | starts (if the file exists), and write the banlist back
| + | |
− | to the file when someone gets banned or unbanned. If
| + | |
− | this option isn't given the banlist will not be saved.
| + | |
− | | + | |
− | -c Enables the capture-the-flag style game. By default this
| + | |
− | allocates one team flag per team. This can be modified
| + | |
− | see +f team. By default, the free-for-all style is used.
| + | |
− | | + | |
− | -cache worldCacheURL
| + | |
− | Specifies the URL for the world cache file. This is a
| + | |
− | binary file that clients will attempt to download before
| + | |
− | getting the world from the bzfs server.
| + | |
− | | + | |
− | -cacheout filename
| + | |
− | Save the currently specified world into a binary cache
| + | |
− | file and exit.
| + | |
− | | + | |
− | -conf configfilename
| + | |
− | Specifies the name of a configuration file to be used to
| + | |
− | set all of the bzfs options, rather than setting them on
| + | |
− | the command line.
| + | |
− | | + | |
− | -cr Enables the capture-the-flag style game with random map.
| + | |
− | You can optionally specify a building density by provid-
| + | |
− | ing a number (default is 5). One team flag per team is
| + | |
− | provided, but more can be added thru +f team. By
| + | |
− | default, the free-for-all style is used.
| + | |
− | | + | |
− | -d Increase debugging level. If more -d is given, more
| + | |
− | debugging info is obtained.
| + | |
− | | + | |
− | -density num Specify density for buildings, i.e. the higher the inte-
| + | |
− | ger number, the more buildings you will get. This
| + | |
− | applies to automatically generated maps only.
| + | |
− | | + | |
− | -disableBots Disallow clients from using the ROGER autopilot or from
| + | |
− | using robots.
| + | |
− | | + | |
− | +f {good|bad|teamflag-id}[{count}]
| + | |
− | Forces the existence of the given flag. If specified
| + | |
− | multiple times for the same flag-id, then that many
| + | |
− | flags will appear. The good argument is equivalent to
| + | |
− | specifying +f once for each kind of good flag. Same goes
| + | |
− | for the bad argument. The team argument adds a team
| + | |
− | be "+s40 -s50 -f G". Similarly, "+f good{40} +f bad{10}
| + | |
− | -f G{40}" would give you exactly 40 good flags except
| + | |
− | genocide and 10 of each bad flag.
| + | |
− | | + | |
− | -fb Allow flags on box buildings.
| + | |
− | | + | |
− | -filterCallsigns
| + | |
− | Turn on the filtering of callsigns and email addresses.
| + | |
− | Callsigns and addresses are compared against bad words
| + | |
− | provided via -badwords.
| + | |
− | | + | |
− | -filterChat Turn on the filtering of chat messages. Messages that
| + | |
− | contain words listed via a -badwords file are replaced
| + | |
− | with !@#$%^&* characters.
| + | |
− | | + | |
− | -filterSimple By default, all filtering is aggressive, matching much
| + | |
− | more than what is strictly listed in a -badwords file
| + | |
− | for convenience. Providing this option will make the
| + | |
− | -filterCallsigns and -filterChat comparisons exact match
| + | |
− | only.
| + | |
− | | + | |
− | -g Quit after serving one game.
| + | |
− | | + | |
− | -groupdb file Load groups from file
| + | |
− | | + | |
− | -h Buildings are given random heights.
| + | |
− | | + | |
− | -handicap Players are given a handicap advantage based on their
| + | |
− | ability in relation to the other players. Handicapped
| + | |
− | players will have faster tanks and shots. The handicap
| + | |
− | is determined by the player's score in relation to other
| + | |
− | players.
| + | |
− | | + | |
− | -help Shows a help page and lists all the valid flag id's.
| + | |
− | | + | |
− | -helpmsg file name
| + | |
− | Create a help message accessible by /help name, which
| + | |
− | prints the contents of file. Restricted to 10 lines per
| + | |
− | help message.
| + | |
− | | + | |
− | -i interface Server will listen for and respond to ``pings'' (sent
| + | |
− | via broadcast) on the given interface. Clients use this
| + | |
− | to find active servers on the network. This is the
| + | |
− | TCP/UDP/IP address the server will listen on.
| + | |
− | | + | |
− | -j Allows jumping.
| + | |
− | | + | |
− | -lagdrop warn-count
| + | |
− | Kicks players after warn-count lag warnings.
| + | |
− | | + | |
− | -lagwarn time/ms
| + | |
− | Send warnings to players that lag more than time.
| + | |
− | A single value sets the total number of players allowed.
| + | |
− | Five comma separated values set the maximum for each
| + | |
− | team. If a count is left blank then no limit is set for
| + | |
− | that team, except for the limit on the total number of
| + | |
− | players. Both forms may be provided.
| + | |
− | | + | |
− | -mps max-score Sets a maximum score for individual players. The first
| + | |
− | player to reach this score is declared the winner and
| + | |
− | the game is over.
| + | |
− | | + | |
− | -ms shots Allows up to shots simultaneous shots for each player.
| + | |
− | This is 1 by default.
| + | |
− | | + | |
− | -mts max-score Sets a maximum score for teams. The first team to reach
| + | |
− | this score is declared the winner and the game is over.
| + | |
− | | + | |
− | -noMasterBanlist
| + | |
− | Server will not attempt to load the master ban list from
| + | |
− | the internet.
| + | |
− | | + | |
− | -p port Listen for game connections on port instead of the
| + | |
− | default port. Use -help to print the default port, or
| + | |
− | use -d debug printing.
| + | |
− | | + | |
− | -passdb file Load passwords from file
| + | |
− | | + | |
− | -passwd password
| + | |
− | Specify a server administrator password for use in
| + | |
− | remote administration such as /kick, /ban, /mute, etc
| + | |
− | messages.
| + | |
− | | + | |
− | -pidfile filename
| + | |
− | Specify a file where the server will write its process
| + | |
− | ID so it may be used for remote administration.
| + | |
− | | + | |
− | -poll variable=value
| + | |
− | Configure several aspects of the in-game polling system
| + | |
− | | + | |
− | banTime
| + | |
− | default number of minutes player should be banned
| + | |
− | (unspecified, the default is 300)
| + | |
− | | + | |
− | vetoTime
| + | |
− | max seconds authorized user has to abort poll
| + | |
− | (default is 20)
| + | |
− | | + | |
− | votePercentage
| + | |
− | percentage of players required to affirm a poll
| + | |
− | (unspecified, the default is 50.1%)
| + | |
− | | + | |
− | voteRepeatTime
| + | |
− | minimum seconds required before a player may
| + | |
− | description. By default, a server will respond to
| + | |
− | broadcast queries, allowing clients to find servers run-
| + | |
− | ning on the standard port on the local subnet. The
| + | |
− | -public option causes the server to register itself with
| + | |
− | a list server, which clients can query to get a list of
| + | |
− | bzfs servers.
| + | |
− | | + | |
− | -publicaddr address[:port]
| + | |
− | Advertise this server with the given address and port.
| + | |
− | Only has an effect when used with -public. Normally a
| + | |
− | server advertises itself at the local address and port.
| + | |
− | Some servers are not accessible from the internet at
| + | |
− | this address (for example servers behind a firewall
| + | |
− | using Network Address Translation). Use this option to
| + | |
− | specify the address and/or port that internet users
| + | |
− | should use to access this server.
| + | |
− | | + | |
− | -publiclist url
| + | |
− | Advertise this server on the list servers listed at url.
| + | |
− | Only has an effect when used with -public. A built-in
| + | |
− | url is used by default. The BZFlag clients use the same
| + | |
− | built-in url so, by default, clients will see public
| + | |
− | servers automatically. This argument may be provided
| + | |
− | multiple times to publicize a server to multiple list
| + | |
− | servers.
| + | |
− | | + | |
− | -q If specified, the server will not listen for nor respond
| + | |
− | to ``pings''. BZFlag sends out these pings to give the
| + | |
− | user a list of available servers. This effectively
| + | |
− | makes the server private, especially if the -p option is
| + | |
− | also used.
| + | |
− | | + | |
− | +r Makes most shots ricochet. Super bullets, shock waves,
| + | |
− | and guided missiles do not.
| + | |
− | | + | |
− | -rabbit [score|killer|random]
| + | |
− | Enables the rabbit-hunt style game. By default, the
| + | |
− | free-for-all style is used. You must specify the algo-
| + | |
− | rithm used to pick a new rabbit when the old one dies.
| + | |
− | The score algorithm uses a modified wins/(wins+losses)
| + | |
− | score and picks the top scoring player to be the new
| + | |
− | rabbit. The killer algorithm specifies a reverse tag
| + | |
− | game where whomever kills the rabbit becomes the new
| + | |
− | rabbit. The random algorithm randomly picks a new rab-
| + | |
− | bit without regard to score. (The score algorithm is
| + | |
− | the original behavior.)
| + | |
− | | + | |
− | -recbuf size Start with the recording buffer active, with the speci-
| + | |
− | fied size (in megabytes).
| + | |
− | | + | |
− | -recbufonly Disable recording straight to files
| + | |
− | | + | |
− | -reportfile.
| + | |
− | | + | |
− | -requireudp Require clients to use parallel UDP. If players fire
| + | |
− | before opening a UDP channel, kick them off the server.
| + | |
− | | + | |
− | +s num-flags The server will have an extra num-flags random super
| + | |
− | flags available at all times. The -f option can be used
| + | |
− | to restrict which types of flags will be added.
| + | |
− | Required flags given by the +f option are not included
| + | |
− | in the num-flags total.
| + | |
− | | + | |
− | -s num-flags The server will have up to num-flags random super flags
| + | |
− | available at any time. The -f option can be used to
| + | |
− | restrict which types of flags will be added. Required
| + | |
− | flags given by the +f option are not included in the
| + | |
− | num-flags total.
| + | |
− | | + | |
− | -sa Antidote flags are provided for players with bad flags.
| + | |
− | | + | |
− | -sb Allow spawns on box buildings.
| + | |
− | | + | |
− | -set name value
| + | |
− | Set BZDB variable name to value
| + | |
− | | + | |
− | -sl id num Restrict flag id to num shots.
| + | |
− | | + | |
− | -spamtime time Minimum <time> between player chat messages that are
| + | |
− | alike.
| + | |
− | | + | |
− | -spamwarn warnLimit
| + | |
− | Number of warnings a player/spammer gets, who violates
| + | |
− | -spamtime.
| + | |
− | | + | |
− | -speedtol factor
| + | |
− | Override the default speed auto kick factor. The factor
| + | |
− | should not be less then 1.0. The factor is a multiplier.
| + | |
− | | + | |
− | -srvmsg message
| + | |
− | Define a server welcome message. This option can be used
| + | |
− | multiple times to define a multiline message.
| + | |
− | | + | |
− | -st time Bad flags are automatically dropped after time seconds.
| + | |
− | | + | |
− | -sw count Bad flags are automatically dropped after count wins.
| + | |
− | Capturing a team flag does not count as a win.
| + | |
− | | + | |
− | -synctime Forces all clients to use the same time of day. The
| + | |
− | current time is determined by the server's clock. This
| + | |
− | disables the + and - keys on the clients.
| + | |
− | | + | |
− | -t Adds teleporters to the game.
| + | |
− | | + | |
− | first player joins. With -timemanual, the countdown has
| + | |
− | to be started manually using the /countdown command.
| + | |
− | This is useful for matches.
| + | |
− | | + | |
− | -tk Changes the default behavior where a player dies when he
| + | |
− | kills a teammate. When using this option, he will just
| + | |
− | get a -1 score penalty for the kill but not be killed in
| + | |
− | game.
| + | |
− | | + | |
− | -tkkr percent Kicks players whose team killing to normal kill ratio is
| + | |
− | greater than percent [1-100]. A start up grace period is
| + | |
− | given to players.
| + | |
− | | + | |
− | -trackplayhistory
| + | |
− | Has the server track players with good runs of kills and
| + | |
− | anounces them. Also anounces those players that stop
| + | |
− | the runs of good players.
| + | |
− | | + | |
− | -ts [micros] Include timestamp information in DEBUG output - useful
| + | |
− | for logging. If micros is specified, microseconds will
| + | |
− | be added to the timestamp.
| + | |
− | | + | |
− | -userdb file Load group associations from file
| + | |
− | | + | |
− | -vars file Loads values for game configurable variables from file.
| + | |
− | Entries are one per line in the form: set variable
| + | |
− | value. For a list of variables that are configurable, in
| + | |
− | the BZFlag client, send a message with /set as the text.
| + | |
− | | + | |
− | -version Prints the version number of the executable.
| + | |
− | | + | |
− | -world world-file
| + | |
− | Reads a specific BZFlag .bzw world layout file for the
| + | |
− | game map.
| + | |
− | | + | |
− | -worldsize world-size
| + | |
− | Changes the size for random maps
| + | |
− | | + | |
− | Notes
| + | |
− | The server uses nearly zero CPU time when nobody is playing, and even
| + | |
− | during a game the server uses very little CPU, so it's not a burden on
| + | |
− | the system to leave one running and it won't interfere with a player
| + | |
− | using the same system (except on Windows 95, which really sucks at mul-
| + | |
− | titasking). The server will continue to run until terminated. If a
| + | |
− | game is in progress when the server goes down, all players will be
| + | |
− | kicked off and the game will be aborted without warning. The server
| + | |
− | resets itself when all players have quit. All players must quit to
| + | |
− | reset the server when a game is over (because of a score or time
| + | |
− | limit).
| + | |
− | | + | |
− | The following game styles are recommended starting points.
| + | |
− | | + | |
− | games where lag/jitter can cause unfair advantage. Single shot, non-
| + | |
− | Jump games will teach valuable lessons in dodging, however, and are
| + | |
− | excellent starting points for the beginner.
| + | |
− | | + | |
− | Networking
| + | |
− | Communication between the server and clients (i.e. between bzfs and
| + | |
− | bzflag) during a game is via TCP and UDP. Use the -help option to get
| + | |
− | the server's default port. If there's a firewall between the server
| + | |
− | and client, the firewall must accept connections from the client to
| + | |
− | this port and forward them to the server.
| + | |
− | | + | |
− | Clients can search for servers by sending broadcast UDP packets. But
| + | |
− | they must be on the same local area network for this to work. Clients
| + | |
− | can also find servers advertised using -public by querying list
| + | |
− | servers.
| + | |
− | | + | |
− | Game information is relayed through the server. Some communication
| + | |
− | between clients, such as position and orientation information, is nor-
| + | |
− | mally sent via UDP packets. Other data, like flag grab and kill mes-
| + | |
− | sages, are sent to the server via TCP. The server then turns around and
| + | |
− | broadcasts these packets to all players. Since being in a game implies
| + | |
− | connection to the server, all players are guaranteed to get all mes-
| + | |
− | sages sent via TCP. But the UDP packets may be discarded. If other
| + | |
− | players can see your tank in the game but it never appears to move and
| + | |
− | shots go through it, chances are high that your UDP connection is not
| + | |
− | working.
| + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | GENERAL SERVER COMMANDS
| + | |
− | | + | |
− | /lagstats
| + | |
− | Lists network delays, jitter and number of lost resp. out of
| + | |
− | order packets by player. Example:
| + | |
− | MrApathyCream 335 +- 10ms
| + | |
− | Gerbol 210 +- 3ms
| + | |
− | captain_macgyver 155 +- 0ms 12% lost/ooo
| + | |
− | | + | |
− | | + | |
− | /idlestats
| + | |
− | Displays the idle time in seconds for each player. A player is idle when
| + | |
− | he is dead and has not respawned yet.
| + | |
− | | + | |
− | MrApathyCream: 0s
| + | |
− | Gerbol: 80s
| + | |
− | captain_macgyver: 13s
| + | |
− | | + | |
− | | + | |
− | /flaghistory
| + | |
− | Lists what flags players have grabbed in the past. Example:
| + | |
− | MrApathyCream: (<-) (->) (O) (CB) (M) (B) (JM) (WA)
| + | |
− | Gerbol: (L) (GM) (L) (GM) (CL) (ST) (GM) (L)
| + | |
− | captain_macgyver: (SB) (SW)
| + | |
− | | + | |
− | | + | |
− | | + | |
− | /clientquery [callsign]
| + | |
− | Retrieve client version info from all users, or just CALLSIGN if given Example:
| + | |
− | /clientquery MrApathyCream
| + | |
− | MrApathyCream: Version: BZFlag 1.11.6-20040729-gnu-linux-SDL
| + | |
− | | + | |
− | | + | |
− | /report {message}
| + | |
− | Write a message to the server administrator. Example:
| + | |
− | /report I like this map!
| + | |
− | | + | |
− | | + | |
− | /part {message}
| + | |
− | Leave the server with a goodbye message (similar to IRC's /part)
| + | |
− | /part Gotta go! bye everyone!
| + | |
− | | + | |
− | | + | |
− | /quit {message}
| + | |
− | Quit the game with a goodbye message (similar to IRC's /quit)
| + | |
− | /quit Gotta go! bye everyone!
| + | |
− | | + | |
− | | + | |
− | /me
| + | |
− | This command displays an "action" that is conveyed to another player. It allows
| + | |
− | for a little more expressivity in the game. For example: "/me is hunting wabbits"
| + | |
− | turns into a message like "TimRiker is hunting wabbits" that gets displayed
| + | |
− | differently to other players.
| + | |
− | | + | |
− | | + | |
− | /msg some player some message
| + | |
− | | + | |
− | This command allows a player to send a message to another player. Similar to using
| + | |
− | the "," and "." message keys in the game and then selecting your recipient, this
| + | |
− | will send some message to particular player. The quotes are optional.
| + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | SERVER ADMINISTRATIVE COMMANDS
| + | |
− | | + | |
− | | + | |
− | /viewreports
| + | |
− | View the server's report file.
| + | |
− | | + | |
− | | + | |
− | /record list
| + | |
− | List all files in the recordings directory
| + | |
− | | + | |
− | /record start
| + | |
− | Start recording into the memory buffer
| + | |
− | | + | |
− | /record stop
| + | |
− | | + | |
− | /record file <filename>
| + | |
− | Start recording directly to a file
| + | |
− | | + | |
− | /record save <filename> [seconds]
| + | |
− | Save the recording buffer into a file. If seconds is specified,
| + | |
− | then only save that many previous seconds into the file.
| + | |
− | | + | |
− | | + | |
− | /replay list
| + | |
− | List all files in the recordings directory
| + | |
− | | + | |
− | /replay load <filename|#index>
| + | |
− | Load the specified recording file by name, or by index (same
| + | |
− | indices as produced by the 'replay list' command)
| + | |
− | | + | |
− | /replay play
| + | |
− | Start playing the recording. This will oftentimes require that
| + | |
− | all players connected to the server rejoin (to reload the map,
| + | |
− | etc...)
| + | |
− | | + | |
− | /replay loop
| + | |
− | Start looping the recording. This will oftentimes require that
| + | |
− | all players connected to the server rejoin (to reload the map,
| + | |
− | etc...)
| + | |
− | | + | |
− | /replay skip [+/- seconds]
| + | |
− | If seconds is specified, then skip that amount of time in the
| + | |
− | recording. Otherwise, skip forwards until there is activity.
| + | |
− | /replay stats Show the current replay status (filename, posi-
| + | |
− | tion, etc...)
| + | |
− | | + | |
− | | + | |
− | /shutdownserver
| + | |
− | Stop serving BZFlag on this server
| + | |
− | | + | |
− | /superkill
| + | |
− | Kick all players off the server
| + | |
− | | + | |
− | /gameover
| + | |
− | Ends the current game
| + | |
− | | + | |
− | /flag reset {unused}
| + | |
− | Repositions flags. If unused is specified, flags carried by
| + | |
− | tanks are not affected.
| + | |
− | | + | |
− | /flag up
| + | |
− | Removes all flags from the game
| + | |
− | | + | |
− | /flag show
| + | |
− | Shows all flags with information. Example:
| + | |
− | 0: p:-1 r:1 g:1 1:V s:1 p:159.1x43.2x0.0
| + | |
− | A reason is required
| + | |
− | | + | |
− | | + | |
− | /kill <"Player name" | playerName | #slot> [reason]>
| + | |
− | Kill a player just like when shooting.
| + | |
− | | + | |
− | Example:
| + | |
− | /kill Gerbol
| + | |
− | kill the player named Gerbol
| + | |
− | /kill #4 teamkilling
| + | |
− | Kill the player using slot 4 because teamkilling
| + | |
− | | + | |
− | | + | |
− | /playerlist
| + | |
− | List player names and IP addresses. Example:
| + | |
− | /playerlist
| + | |
− | [0]MrApathyCream: 35.23.65.44:4808 udp id
| + | |
− | [1]Gerbol: 130.123.1.55:4909 udp id
| + | |
− | [2]captain_macgyver: 15.32.122.51:3201 udp id
| + | |
− | | + | |
− | | + | |
− | /ban <ip | ipList | #slot | Player name | playerName > <duration> <reason>
| + | |
− | | + | |
− | Ban players using the specified IPs for certain length of time
| + | |
− | from using this server.
| + | |
− | <duration> can be:
| + | |
− | 'short' or 'default' for the default ban time
| + | |
− | 'forever' or 'max' for infinite bans
| + | |
− | a time in the format <weeks>W<days>D<hours>H<minutes>M
| + | |
− | just a number of minutes
| + | |
− | | + | |
− | Examples:
| + | |
− | /ban 35.23.43.66 2 cheating
| + | |
− | bans player with specific ip for 2 minutes
| + | |
− | /ban 35.23.*.*,47.23.17.* 0 Cheaters
| + | |
− | bans all ips in this range forever
| + | |
− | /ban 36.37.2.8 2h30m "ShootMe" was abusing players
| + | |
− | bans specific ip for 2.5 hours with given reason
| + | |
− | /ban #5 60m Rejoining
| + | |
− | bans player using slot 5 for 60 minutes with given reason
| + | |
− | /ban "Tanker" max cheating
| + | |
− | bans the player Tanker forever because cheating
| + | |
− | | + | |
− | Note: Slots numbers are only displayed in admins clients.
| + | |
− | Duration and reason are required.
| + | |
− | | + | |
− | | + | |
− | /banlist
| + | |
− | List all of the IPs currently banned from this server. Example:
| + | |
− | /banlist
| + | |
− | IP Ban List
| + | |
− | ------------
| + | |
− | | + | |
− | | + | |
− | /hostbanlist
| + | |
− | List all of the host patterns currently banned from this server.
| + | |
− | | + | |
− | /say {message}
| + | |
− | Generate a public message sent by the server. Example:
| + | |
− | | + | |
− | /say This is a servermessage
| + | |
− | | + | |
− | | + | |
− | /sendhelp <"Player name" | playerName | #slot> <help page>
| + | |
− | Send the specified help page to a user
| + | |
− | | + | |
− | /send register "Foo"
| + | |
− | Send the the help page 'register' to the player Foo
| + | |
− | | + | |
− | | + | |
− | /countdown [seconds]
| + | |
− | Starts the countdown sequence for a timed game. The countdown
| + | |
− | sequence length can optionally be specified in seconds. Examples:
| + | |
− | | + | |
− | /countdown
| + | |
− | /countdown 3
| + | |
− | | + | |
− | | + | |
− | /lagwarn
| + | |
− | | + | |
− | Dynamic change the maximum allowed lag time. Example:
| + | |
− | | + | |
− | /lagwarn 300
| + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | USER MANAGEMENT
| + | |
− | | + | |
− | Generally, you start with empty files for the user and password data-
| + | |
− | bases. These are maintained by the server, and modifiable through
| + | |
− | server commands. Users in turn belong to groups. Groups are generally
| + | |
− | customized to perhaps allow administrative control to trusted users.
| + | |
− | | + | |
− | There are both local and global groups, i.e. groups that are available
| + | |
− | across the entire BZFlag network. In setting up a server, you may want
| + | |
− | to specify global groups that will allow already well known and trusted
| + | |
− | users to police your server and help maintain control against cheaters
| + | |
− | and abuse.
| + | |
− | | + | |
− | The server will automatically create three groups: EVERYONE, VERIFIED,
| + | |
− | and LOCAL.ADMIN. EVERYONE has ACTIONMESSAGE, ADMINMESSAGESEND, DATE,
| + | |
− | FLAGHISTORY, IDLESTATS, LAGSTATS, PRIVATEMESSAGE and SPAWN by default.
| + | |
− | VERIFIED has POLL, POLLKICK, POLLBAN, POLLSET, POLLFLAGRESET, and VOTE.
| + | |
− | The LOCAL.ADMIN group has almost every permission possible (similar to
| + | |
− | granting admin powers via /password).
| + | |
− | | + | |
− | | + | |
− | A group database file is set up to contain the specific local and
| + | |
− | global groups you care to have on your server in addition to default
| + | |
− | groups and exactly which permissions are granted by each. These files
| + | |
− | are laid out with one line per group, using the following format:
| + | |
− | | + | |
− | GROUP_NAME: [*Group] [+|-|!]perm1 [+|-|!]perm2 ... permN
| + | |
− | | + | |
− | | + | |
− | *Group: inhert permissions from existing group "Group"
| + | |
− | | + | |
− | +perm: add perm to this group
| + | |
− | | + | |
− | -perm: remove perm from this group
| + | |
− | | + | |
− | !perm: forbid perm for this group. makes perm inaccessable whether it's
| + | |
− | granted from another group or not
| + | |
− | | + | |
− | If no operator is given with a permission it is handled like +perm. A
| + | |
− | group line for a previously existing group adds to already granted per-
| + | |
− | missions. That way you can spread a group's definition over several
| + | |
− | lines:
| + | |
− | | + | |
− | GROUP_NAME: +perm1 +perm2
| + | |
− | GROUP_NAME: +perm3 +perm4 -perm5
| + | |
− | | + | |
− | Group names cannot have spaces, quotes, or other special characters in
| + | |
− | them. This would be a sample line defining a "cop" group:
| + | |
− | | + | |
− | COPS: +KICK +SHORTBAN +BANLIST
| + | |
− | | + | |
− | Now a group USERADMIN with all permissions granted to COPS plus some
| + | |
− | additional could look like this:
| + | |
− | | + | |
− | USERADMIN: *COPS +BAN +UNBAN
| + | |
− | | + | |
− | Probably you want to define customized permissions for the default
| + | |
− | group "VERIFIED" instead of those automatically asigned by the server:
| + | |
− | | + | |
− | VERIFIED: -ALL +perm1 +perm2 ...
| + | |
− | | + | |
− | Or you want to disable the /poll command entirely?
| + | |
− | | + | |
− | EVERYONE: !POLL
| + | |
− | | + | |
− | To distinguish between a group that is local and one that is global,
| + | |
− | use the "LOCAL." prefix as part of the group name, e.g.:
| + | |
− | | + | |
− | LOCAL.OPERATOR: BANLIST
| + | |
− | | + | |
− | | + | |
− | The available permissions are as follows:
| + | |
− | KICK /kick
| + | |
− | LAGSTATS /lagstats
| + | |
− | LAGWARN /lagwarn
| + | |
− | LISTPERMS not implemented
| + | |
− | MUTE /mute
| + | |
− | PLAYERLIST /playerlist
| + | |
− | POLL /poll
| + | |
− | POLLBAN /poll ban
| + | |
− | POLLFLAGRESET /poll flagreset
| + | |
− | POLLKICK /poll kick
| + | |
− | POLLSET /poll set
| + | |
− | PRIVATEMESSAGE /msg
| + | |
− | REJOIN allows instant rejoin, regardless of _rejoinTime
| + | |
− | REMOVEPERMS /removegroup
| + | |
− | REQUIREIDENTIFY user must /identify when using this locally regis-
| + | |
− | tered callsign
| + | |
− | SAY /say
| + | |
− | SETALL use of all set/remove commands
| + | |
− | SETPERMS /setgroup
| + | |
− | SETPASSWORD not implemented
| + | |
− | SETVAR /set /reset
| + | |
− | SHOWOTHERS not implemented
| + | |
− | SHUTDOWNSERVER /shutdownserver
| + | |
− | SPAWN join game as a player. observers don't need this
| + | |
− | flag.
| + | |
− | SUPERKILL /superkill
| + | |
− | TALK allows all players to send messages
| + | |
− | UNBAN /unban /hostunban
| + | |
− | UNMUTE /unmute
| + | |
− | VETO /veto
| + | |
− | VOTE /vote
| + | |
− | | + | |
− | | + | |
− | /register {password}
| + | |
− | | + | |
− | Register your current callsign to the specified password. Pass-
| + | |
− | words must be at least 3 characters long, and the callsign may
| + | |
− | not contain quotes or other non-alphanumeric/space characters
| + | |
− | | + | |
− | | + | |
− | /identify {password}
| + | |
− | | + | |
− | Log in to a registered callsign
| + | |
− | | + | |
− | | + | |
− | /setpass {password}
| + | |
− | | + | |
− | Changes your password
| + | |
− | | + | |
− | | + | |
− | /ghost {callsign} {password}
| + | |
− | | + | |
− | | + | |
− | Lists the groups that a registered user is a member of
| + | |
− | | + | |
− | | + | |
− | /setgroup {callsign} {group}
| + | |
− | | + | |
− | Add a user to a group
| + | |
− | | + | |
− | | + | |
− | /removegroup {callsign} {group}
| + | |
− | | + | |
− | Remove a user from a group
| + | |
− | | + | |
− | | + | |
− | /reload
| + | |
− | | + | |
− | Reloads the user, group, and password files (for synchronization
| + | |
− | between multiple servers on the same machine)
| + | |
− | | + | |
− | | + | |
− | /deregister [callsign]
| + | |
− | | + | |
− | With an argument, it deregisters another user's callsign. With-
| + | |
− | out, it removes your own registration.
| + | |
− | | + | |
− | | + | |
− | /poll ban|kick|vote|veto [...]
| + | |
− | | + | |
− | Interact and make requests of the bzflag voting system via the
| + | |
− | /poll command. The ban and kick subcommands request a vote to
| + | |
− | respectively ban or kick some player. The playername is
| + | |
− | expected as the next argument. The vote and veto commands
| + | |
− | behave identical to the /vote and /veto command counterparts,
| + | |
− | expecting the same arguments in following. By default, you must
| + | |
− | be registered to request and vote on a poll.
| + | |
− | | + | |
− | | + | |
− | /vote yes|no
| + | |
− | | + | |
− | If there is a poll active, this command will place a vote in
| + | |
− | favor or in opposition to the poll. Multiple languages are sup-
| + | |
− | ported as a vote argument in addition to "yes" and "no". By
| + | |
− | default, you must be registered to vote on a poll.
| + | |
− | | + | |
− | | + | |
− | /veto If there is a poll active, this will cancel the poll. By
| + | |
− | default, you must be an admin to veto a poll.
| + | |
− | | + | |
− | | + | |
− | /masterban flush|reload
| + | |
− | | + | |
− | Forces the server to flush any bans from the master server. If
| + | |
− | | + | |
− | Allows a server admin to restore the TALK permission to a previ-
| + | |
− | ously muted player. usage: /unmute <#slot> | <playername>
| + | |
− | | + | |
− | | + | |
− | | + | |
− | Worlds
| + | |
− | | + | |
− | BZFlag worlds come in two varieties, randomly generated ones, and human
| + | |
− | designed ones. By default, bzfs uses randomly generated world unless
| + | |
− | you specify the -world command line or configuration file option. The
| + | |
− | world file specified by the -world option is a text based file that
| + | |
− | contains a list of world objects. This file can be created using pro-
| + | |
− | grams found on sourceforge.net through cvs, or can be hand edited. See
| + | |
− | the bzw(5) manual page for more details.
| + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | SEE ALSO
| + | |
− | | + | |
− | bzflag(6), bzadmin(6), bzw(5)
| + | |
− | | + | |
− | | + | |
− | | + | |
− | bzfs-2.0.4 2006-04-17 bzfs(6)
| + | |
BZFS can be run in ether a public or private mode. Public servers are listed with the central List Server system and can take advantage of the Global Registration system for user management. Private servers will only be visible on the LAN they are started on. The in-game server menu can only start private servers.