This wiki was in read-only mode for many years, but can now be edited again. A lot of information will need to be updated.
Sample conf
- This is a BZFlag Server (bzfs) configuration file.
 - It assumes that you wish to connect to the bzflag list server.
 - Please read through it carefully. Lines starting with a # are comments.
 - to enable an option, remove the # at the beginning of a line. To
 - disable that option, put the # back. There are some examples in this
 - file. Make sure you change the examples if you uncomment the line. If
 - you don't know what something does, you are okay to just leave
 - it commented out. Failure to read through this file (looking for
 - already uncommented lines) might be a little embarrassing. Have fun.
 
- This option is for debug. You can have as many as 4 of them.
 - simple debug
 - -d
 - and more complex debugging.
 
-dd
- -ddd
 - -dddd
 
- Sets the admin password for the server. It is necessary for server
 - administration if no groups are used.
 - CHANGE THIS!
 
-password abcdef
- Enables inertia and sets the maximum linear and angular accelerations.
 - The units are somewhat arbitrary so you'll have to experiment to find
 - suitable values. The values must be non-negative and higher values
 - yield greater inertia.
 - Used to control "Mouse Enhancements"
 
-a 50 38
- World ##
 
- This specifies the world filename.
 - Use this format for Windows
 - -world "c:\mymaps\louschurchyard.bzw"
 - Use this format for *nix and Mac
 - -world /users/noob/lousdesktop.bzw
 
- Random World Generation ##
 
- This option allows world objects to be randomly rotated. Only applies
 - if a randomly generated world is used.
 - -b
 
- Enables capture-the-flag style game with a balanced random map. Default is
 - free-for-all style game.
 - -cr
 
- Adds teleporters to the game. for random maps only
 - -t
 
- This option controls the building density on random worlds(1-10) default is 5
 - -density 7
 
- This option changes the size of random maps.
 - -worldsize 800
 
- This option gives buildings random heights. This is used when
 - you are using random maps.
 - -h
 
- Game Styles ##
 
- This enables capture-the-flag style game. Default is free-for-all style.
 - Requires one base object for each team to be specified in the world file.
 - Can be used with random world generation.
 - -c
 
- More than one team-flag may be specified.
 - This is generally not desirable.
 - B* - Blue Team G* - Green Team, P* - Purple Team, R* - Red Team,
 - +f B*
 - +f R*
 
- This sets the maximum number of shots before a reload. The default
 - is 5.
 
-ms 3
- This makes most shots ricochet.
 
+r
- This option allows jumping.
 
-j
- These two flags can be used if they are not specified as options.
 - +f R{1} # Ricochet
 - +f J{1} # Jumping
 
- This option allows for flags on box buildings.
 - -fb
 
- This option allows tanks to spawn on buildings. This is especially useful
 - as tank spawn locations are now are calculated on the server without the
 - advantage of knowing where shots are.
 - -sb
 
- By default if a player kills a teammate, he dies too, this option turns this
 - off. Used mostly for capture the flag style games.
 - -tk
 
- Kick a player if his ratio of teammate to non-teammate kills is this
 - percentage or greater.
 
-tkkr 32
- This option allows you to tell the server how long a team flag remains
 - before it is reset after the last player on a team leaves. The default
 - is 30 seconds.
 - -tftimeout 60
 
- Hunt the rabbit game is activated with this option.
 - Use only one of these options.
 - Choose rabbit based on score.
 - -rabbit score
 - Rabbit is chosen by whoever kills the rabbit.
 - -rabbit killer
 - Or you can choose the rabbit randomly.
 - -rabbit random
 
- It is possible to restrict bots and autopilot from being used on the server.
 - This is accomplished with the following.
 - -disableBots
 
- This option causes the server to quit after serving one game. This is
 - handy if you want to do a timed game, or script a rotating server.
 - -g
 
- This option sets the max score for players. The game ends when a person
 - reaches this score and is declared the winner.
 - -mps 100
 
- This sets the max team score. The first team to reach this score is
 - declared the winner and the game is ended.
 - -mts 250
 
- This dumps the score to console when it changes.
 - -printscore
 
- This sets time limit (in seconds) for the game. Time starts when first
 - client connects.
 - -time 3600
 
- This option requires a timed game to be started using the /countdown
 - command to start a timed game. Default is when first player joins.
 - -timemanual
 
- List server Connection ##
 
- This is the public message that the server advertises on the public
 - server list. This is required if you want to be shown on the list.
 - It often advertises the map you are using. Keep it short.
 
-public "Noo BZFlag Server With Random Map"
- This is also needed to be listed on the public server list. The
 - address needs to be valid in DNS. It's your IP, plus port number.
 
-publicaddr 123.456.789.000:5154
- The server will listen on this port. Default port is 5154.
 
-p 5154
- Tells server not to respond to "pings". This makes the server private.
 - You should remove -public and -publicaddr when using it.
 - If your router is open, you can still give people your IP and port, and
 - they will be able to connect, you just wont be on the list.
 - -q
 
- You probably don't need to use this, but it is there if you do. This
 - specifies where the server advertises itself. The built-in default
 - should work just fine. You need to hunt down the proper address if
 - it doesn't work. DON'T Change It
 - -publiclist <list-server-url>
 
- Server will listen for and respond to "pings" (sent via broadcast) on
 - the given interface. The server uses the first interface by default.
 - This is the TCP/UDP/IP address the server will listen on.
 - You don't need to use this unless your server has multiple
 - interfaces and doesn't show up on the server lists.
 - -i 123.456.789.000
 
- Player Connections ##
 
- Automatically assigns players to teams when they join so that teams are
 - evenly matched in number of players. Players are placed on teams with
 - lowest number of players first, then those with the lowest scores or
 - kill ratios.
 
-autoTeam
- This sets the max number of players. It can be done in 2 ways. A flat
 - count of players, or by number of players on a given team.
 - This allows up to 50 players, no team limits.
 - Typical home DSL connections max out at 12 players before lag begins.
 - Lag equals players times shots. So a one-shot server could have more
 - players, and vice-versa.
 
-mp 12
- This allows for max player by team.
 - The order is rogue, red, green, blue, purple, observer.
 - -mp 3,3,3,3,3,3
 
- This requires clients to use UDP (a good thing). This will generally
 - make the server behave better, and make play more smooth.
 - It will kick players who are unable to establish a UDP connection
 - when they attempt to fire.
 
-requireudp
- Set to not use a UDP connection for players. You typically do NOT want to
 - do this (UDP is good!)
 - -noudp
 
- This option warns the user their lag is too high when it crosses the
 - number of milliseconds set.
 
-lagwarn 350
- This option kicks players after they have been warned about high lag for
 - a certain number of times.
 
-lagdrop 3
- This option kicks the user after they have been idle for a number of
 - seconds. Idle means paused, not-spawning or not-responding.
 
-maxidle 300
- This option sets up your ban list. This is ip masks separated by commas.
 - The * character is used as a wild card in range bans.
 - -ban "192.168.1.5,10.10.2.*,10.2.*.*"
 
- This option tells the server where to store the ban list. The ban list will
 - be loaded from this file when the server starts (if the file exists) and
 - written back to the file when someone gets banned or unbanned. If this
 - option isn't used the ban list will not be saved.
 - -banfile /path/to/mybanfile.txt
 
- Registered player files which will be loaded on startup.
 - Use all three if you are not connecting to the list server.
 - Players can use /register passwd and /identify passwd
 - to confirm their identities.
 - passdb stores local user password mappings.
 - -passdb /path/to/passes.txt
 - userdb stores user to group mappings.
 - -userdb /path/to/users.txt
 
- If you use the BZFlag forums at http://my.bzflag.org/bb
 - and have established groups there, you only need groupdb
 - Though local registrations can also be used.
 - groupdb stores group to permission mappings.
 - -groupdb /path/to/groups.txt
 
- If you have registered groups at the bzbb forums, only players
 - in this group will see your server in the list.
 - -advertise NOOB.COP
 
- General Options ##
 
- This is the server welcome message. Please change it.
 
-srvmsg " This is a Noo BZFlag Server " -srvmsg " Have Fun and Play Nice "
- Define a message which will be broadcast to all players every 15 minutes.
 
-admsg " Noo BZFlag Server " -admsg " BZFlag is Fun "
- This sets the amount of time in seconds that is required to pass between
 - two identical messages sent.
 
-spamtime 15
- This sets the amount of times to warn spammers (see -spamtime) before they
 - are kicked.
 
-spamwarn 3
- Specify a file that contains bad words that will be used when
 - either -filterCallsigns or -filterChat is enabled.
 - A multilingual badwords file can be found in source downloads.
 - -badwords /path/to/badwords.txt
 
- Turn on the filtering of chat messages. Messages have words provided
 - via a -badwords file are replaced with !@#$%^&* characters.
 - -filterChat
 
- Turn on the filtering of callsigns. Callsigns are compared against
 - bad words provided via -badwords.
 - -filterCallsigns
 
- 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.
 - -filterSimple
 
- This forces all clients to use the same time of day. The time is
 - determined by the server's clock. This disables the + and - keys
 - on the clients.
 - -synctime
 
- Player Controlled Functions ##
 
- This option specifies a help file that will be displayed when the player
 - types /help name
 - Maximum length is 50 lines and 120 characters per line
 - -helpfile shock /path/to/shockwavehelp.txt
 - -helpfile noob /path/to/noobhelp.txt
 
- You can specify a file so that people can type /report to report problems
 - on the server. The reports are logged in this file.
 - -reportfile /path/to/reports.txt
 
- You can also use this option to cause the /report to trigger a command
 - as well as, or instead of, logging to a file.
 - -reportpipe command
 
- This specifies the number of seconds in which a poll can be vetoed.
 - -vetoTime 60
 
- This specifies the percentage of people required for a successful vote.
 - -votePercentage 51
 
- This is the number of voters required to hold a poll.
 - -votesRequired 6
 
- This is the length of time that players have to vote.
 - -voteTime 60
 
- Flags ##
 
- This option allows for antidote flags to be available for players who
 - get bad flags.
 
-sa
- Bad flags are automatically dropped after this many seconds.
 
-st 5
- Bad flags are automatically dropped after this many wins.
 
-sw 1
- This allows you to limit the number of shots from a particular flag.
 - -sl GM 20
 - -sl L 20
 
- There are two sets of flags. Flags that must be in the world at all times
 - and flags that may get generated randomly. in addition. +f specifies flags that
 - must be there and -f specifies flags the should never be generated.
 
- The server will randomly place flags from the following list.
 - To be sure there is at least a certain amount of a flag on the map
 - at any given time, you can use the +f option to guarantee a certain
 - number of a flag.
 
- Good Flags
 
+f A{2} # Agility +f CL{2} # Cloaking +f F{2} # rapid Fire +f G{1} # Genocide +f GM{2} # Guided Missile +f IB{2} # Invisible Bullett +f L{2} # Laser +f MG{2} # Machine Gun +f N{2} # Narrow +f OO{2} # Oscillation Overthruster +f PZ{2} # Phantom Zone +f QT{2} # QuickTurn +f SB{2} # Super Bullet +f SE{2} # SEer +f SH{2} # SHield +f SR{2} # SteamRoller +f ST{2} # Stealth +f SW{2} # ShockWave +f T{2} # Tiny +f TH{2} # THeif +f US{2} # USeless +f V{2} # Velocity (high speed) +f WG{2} # WinGs
- BAD FLAGS
 
+f B{1} # Blindness +f BY{1} # Bouncy +f CB{1} # Color Blindess +f FO{1} # Forward Only +f JM{1} # Jamming +f LT{1} # Left Turn only +f M{1} # Momentum +f NJ{1} # No Jumping +f O{1} # Obesity +f RC{1} # Reverse Controls +f RO{1} # Reverse Only +f RT{1} # Right Turn only +f TR{1} # Trigger Happy +f WA{1} # Wide Angle
- Using "+f good" is the equivalent of doing +f for each of the good flags.
 - If you want to restrict a certain flag, you can use the -f option.
 - just like with the +f option. "-f bad" is the same as doing -f for
 - all of the bad flags.
 - -f bad #no bad flags
 - +f good #one of each good flag
 - -f G #no genocide
 
- Use +s to have the server generate a certain number of extra flags
 - and have them available at all times. This is in addition to
 - any other flags specified.
 - +s 20
 
- The server will have up to this many super flags at any time.
 - Use this if you don't use any other method of flag generation.
 - -s 30
 
- Variables ##
 
- And there are three ways to load sets of server-specific variables.
 - They can be specified in this .conf file.
 - They can be specified in the .bzw map file in an options block.
 - Or they can be specified in a third file with this option
 - -vars /path/to/vars.txt
 
- Server variables can also be modified in-game using
 - /set _varName value
 - View the entire variable list by using
 - /set (with nothing afterward) lists all vars
 - /diff will list most non-default settings
 - /? will list other available commands
 
- Here are a few examples of variables.
 - Some variables are set to 0 for off, 1 for on.
 - -set _obeseFactor 12
 - -set _skyColor grey44
 - -set _wingsJumpCount 3
 - -set _tankExplosionSize 60
 - -set _jumpVelocity 20
 - -set _squishTime 7
 - -set _mirror grey22
 - -set _wallHeight 2
 - -set _shotsKeepVerticalVelocity 1
 - -set _drawGround 1
 - -set _drawSky 1
 - -set _drawClouds 0
 - -set _drawMountains 0
 - -set _fogMode exp
 - -set _fogColor black
 - -set _fogDensity .01
 
-set _rainType bubble
- Plugins ##
 
- Plugins have mostly superseded patches as a means of modifying
 - the play of BZFlag servers. Recent improvements in the bzfs2.0.9 have enabled
 - almost every server functionality to be modified with the plugin API.
 - Plugins cannot be accessed unless you compile your plugins and
 - bzfs binary with the option --enable-shared
 - -loadplugin /path/to/playHistoryTracker
 
- Replay ##
 
- You can set up a server for replay mode by entering this option
 - -replay
 
- This option sets the recording buffer to the specified amount of megabytes.
 - -recbuf 2
 
- This option sets the directory to look for and save recordings.
 - -recdir
 
- More Comments ##
 
- This is intended to include the minimum options for a working
 - BZFlag server, that is also connected to the list server.
 - All you need to do is edit your IP numbers in -publicaddr
 - and start bzfs.
 - As it connects to the list server, your terminal will show
 - something that looks like a player has joined, then immediately left.
 - When you see that happen, you have succeeded, and are listed.
 - If you can not connect to the list server, you probably need to open
 - port 5154 through your router, for both UDP and TCP. Instructions for that
 - are not included here.
 
- You join your server locally, by opening your BZFlag game client
 - and editing these lines in the JOIN GAME screen.
 - In the SERVER line add localhost
 - In the PORT line add 5154
 - Then JOIN your server.
 
- Here are the short instructions.
 - Open your router firewall at port 5154
 - Change the -publicaddr line in this .file to match your IP.
 - In your terminal, cd to the location of the bzfs binary.
 - ./bzfs -conf /path/to/sample.conf
 - Don't take out any # comment markers or add options that you think look cool
 - until after you have the server working.
 - The options you need have been included in this file.
 - You don't even need to specify a map, bzfs will create a random map for you.
 - You do not even need this .conf file to start a server.
 - You can use as many options you'd like just typing them into the terminal.
 - Assuming you have installed BZFlag in default locations.
 - In Macintosh terminal application these two should work
 - cd /Applications/BZFlag2.0.8/Contents/MacOS/
 - ./bzfs -dd
 - In windows command prompt, these two commands should suffice
 - cd C:\program files\bzflag2.0.2
 - bzfs.exe -dd
 - All other path examples given in this file use *nix format
 - Windows users will have to change all the path examples given in this file.