User Tools

Site Tools


Manual Configuration of b3.xml

  • Create a directory to store your b3 log files and config files, example:
  • Copy the config files from /install/path/b3/conf to /home/b3/conf. You only need to copy the file that you are going to modify here.
  • Modify b3.xml with your favorite text editor, or even better, use a proper xml editor!

See Plugin Configuration for configuration options for plugins.


Below are the main sections of the b3.xml configuration file. A section is a group of settings with a specific name. Ie the section server is a group of settings specific for the gameserver.

A section starts with:

<settings name="sectionname">

A setting in this section looks like:

  <set name="settingsname">settingsvalue</set>

And the section ends with:




The connection settings for your database in the following format:


for example:

<set name="database">mysql://b3:[email protected]/b3</set>


<set name="database">mysql://b3:[email protected]:3309/b3</set>
The above syntax will also work if your MySQL server is on a different machine (remote connection to the database). But make sure the database server accepts your connection from outside, this is a common mistake.


logfile : The location you want to store the log created by B3.

<set name="logfile">/home/b3/b3.log</set>


b3.log_level : The amount of logging you want in your [#b3.logfile]. Lower numbers log more information and contain all the messages with higher numbers after it.

  • 8 - Extra verbose debugging
  • 9 - Verbose debugging
  • 10 - Debugging
  • 20 - Extra information
  • 21 - B3 log messages
  • 22 - Game log messages
  • 30 - Warnings
  • 40 - Errors
  • 50 - Critical errors
Leave log_level at 9 for debugging, If there is a bug found we will need your b3.log.


b3.parser : The name of the game parser you want to use. The following options are available. If your game is based on the Quake 3 engine and is not listed, you can try using the q3a parser or any of the parsers listed below.

  • q3a - Quake 3 Arena
  • oa081 - Open Arena 0.8.1
  • cod - Call of Duty and Call of Duty : UO
  • cod2 - Call of Duty 2
  • cod4 - Call of Duty 4 (Modern Warfare)
  • cod5 - Call of Duty 5 (World at War)
  • cod6 - Call of Duty 6 (Modern Warfare 2)
  • cod7 - Call of Duty 7 (Black Ops)
  • iourt41 - io Urban Terror
  • wop - World of Padman
  • etpro - Wolfenstein Enemy Territory with etpro mod (available in version B3 1.1.5+)
  • smg - Smokin'Guns
  • bfbc2 - BattleField Bad Company 2
  • moh - Medal of Honour 2010
<set name="parser">cod</set>


b3.time_zone: Set your server's timezone so all timebased lookups will show the proper time ⇒ available timezones

An example for usage:

<set name="time_zone">CST</set>



server.game_log : The location of your game's log file.

<set name="game_log">/usr/games/cod/uo/games_mp.log</set>
If you want to run b3 on a different computer to your server (remote access to the gamelog), you can use the following syntax. It will connect over ftp. Python 2.6 is required.
<set name="game_log">ftp://username:[email protected]/path/to/games_mp.log</set>


server.rcon_password : The rcon password for your game server.

<set name="rcon_password">password</set>


server.rcon_ip : The rcon IP address for your game server. Can be a local IP such as

<set name="rcon_ip"></set>


server.public_ip : The external facing rcon IP address for your game server. This is the same as the IP you give your users to connect.

<set name="public_ip"></set>


server.port : The rcon port for your game server.

<set name="port">28960</set>


server.punkbuster : Whether your want to use the [BotManual/Plugins/Punkbuster Punkbuster] plugin to manage kicks, bans, and user identification.

Recommended: on if supported and activated in your gameserver
<set name="punkbuster">on</set>


This setting is experimental, for advanced users and not yet available in our distributions. A special development branch is in xlr8or's github and called 'encoding'. It is implemented in the cod parser. Feel free to experiment with this branch and if you do feel free to feedback in our forums.

server.encoding : This forces to encode rcon output to the game server. It also forces incoming data from Say, TeamSay and PrivateSay to be decoded. Entering a non-existing or faulty encoding will render B3 useless!

For use with Cyrillic:

<set name="encoding">cp1251</set>


Autodoc generates a user documentation for all B3 commands


autodoc.type: It can be html, htmltable or xml.

<set name="type">html</set>


autodoc.maxlevel: if you want to exclude commands reserved for higher levels. Default is 100.

<set name="type">100</set>


autodoc.destination: Destination where you want to generate documentation.

This can either be a local,

<set name="destination">C:\Users\b3\Desktop\test_doc.htm</set>
or a remote destination.
<set name="destination">ftp://user:[email protected]/www/test_doc.htm</set>


(version 1.4.2+)

The next part enables you to alter the rcon status caching. This is normally not needed, but if you're on a q3a based gameserver and want to alter the caching type or expire time of the rcon status cache, this section is what you need to add to b3.xml.

The code below is the default.


  • type: 'file' or 'memory'
  <set name="status_cache_type">memory</set>


  • expiretime: 1-5 seconds
  <set name="status_cache_expire">2</set>

full example:

<settings name="caching">
  <set name="status_cache_type">memory</set>
  <set name="status_cache_expire">2</set>

Online Config Editor

You can use our online config editor to build you b3.xml

Page Tools