User Tools

Site Tools


Frequently Asked Questions (FAQ)

Why does B3 not respond to my commands?

If B3 seems to be ignoring your commands there are a few possible problems:

Does B3 have to be installed on the game server for quake based games?

No. B3 can read your game log file through a FTP access. See Manual Configuration

Can B3 run remotely?

Can I run B3 from a webhosting server?

No, B3 needs more than just a webserver. B3 depends also on Python, MySQL and MySQL-Python. Generally (some of) those packages are not available on a webhosting environment.

I cant connect to my MySql Database!!

This can be due to a number of issues. So I'm going to post some that have come up before and how they were solved.

First, make sure that the format of your MySql connect line is correct.



Another common mistake is that the login details are incorrect! Be sure to read the small line after the Sql connect line, this often says the problem, but many people overlook it.

For example

070224 09:30:55   ERROR   Database connection failed, working in remote mode: (1045, "Access denied for user 'b3'@'localhost' (using password: YES)") - [('C:\\Program Files\\Activision\\Call of Duty 2 - 1\\home\\b3\\', 190, 'connect', 'self.db = self.getConnection()'), ('C:\\Program Files\\Activision\\Call of Duty 2 - 1\\home\\b3\\', 149, 'getConnection', "return MySQLdb.connect(host=self.dsnDict['host'], user=self.dsnDict['user'], passwd=self.dsnDict['password'], db=self.dsnDict['path'][1:])"), ('C:\\Python24\\Lib\\site-packages\\MySQLdb\\', 75, 'Connect', 'return Connection(*args, **kwargs)'), ('C:\\Python24\\Lib\\site-packages\\MySQLdb\\', 164, '__init__', 'super(Connection, self).__init__(*args, **kwargs2)')]

Pay close attention to 'Access denied for user'. This means that the login details are either incorrect or you need to flush your SQL privileges.

Can I run B3 on a LAN?

Unfortunately not for all games - Punkbuster (The Anti-Cheat tool that B3 used to authenticate users) doesn't authorize people on LAN servers - So B3 will not run correctly. Also the CoD series games will not provide you with a GUID, so on CoD B3 won't even work without PunkBuster on a LAN.

Can I run many different bots? Using the same sort of settings and database?

Yes! B3 will be able to run the on the same database, as long as its the same game (eg. 2xCoD2 Servers). Then it will work fine, if you wish to do this then you need to make another b3.xml (eg. b3-2.xml) and add all of your new server details to it.

Then Find your shortcut for - Copy this shortcut and change the end of the command line to look to use b3-2.xml - Instead of b3.xml - And your done!

This will use all of your same settings with no problems atall - and will also keep all your clients! So clan/community members can switch servers with ease - and keep their status with them!

I need a provider that sell gameservers with B3 bot! Dedicated servers are far too expensive for our clan.

There are indeed a few providers that will allow you to buy game servers with B3 Bot installed! Check this post for a list of providers:

b3_run.exe fails to start

If the error message is :

This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem

then you most likely are missing a few dll. Install the Microsoft Visual C++ 2008 Redistributable Package (x86)

The time is off by an hour

B3 does not automatically apply daylight saving time changes. To reflect summer/winter time change, you have to tell B3 explicitely in the b3.xml main config file. see available_timezones

B3 doesn't support python 2.4 and I'm on CentOS... now what?

Python 2.6 is not at all in the Standard Repos of the RHEL/ CentOS. Install Python 2.6 will work only, when you use the epel Repository which can found here:

To install it use:

32 Bit

su -c 'rpm -Uvh'

or 64 Bit

su -c 'rpm -Uvh'

after that you can do:

yum install python26 mod_python26 MySQL-python26

Will B3 run on Windows 2k3 server 64-bit?

3 will run just fine under Server 2K3 64-bit. The trick is to use 100% 32-bit Python.

If you get the same error when trying to execute the 32-bit Python installers, get Microsoft's 32-bit C++ runtime. Here:

CRITICAL Error loading plugin: No module named ...

While trying to upload and use my dynamiclogin plugin online on my production server, I got a very weird error that almost driven me crazy :

091030 09:59:42   CRITICAL   Error loading plugin: No module named xlrstats
Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/b3-1.2.1-py2.5.egg/b3/", line 437, in loadPlugins
    pluginModule = self.pluginImport(p)
  File "/usr/lib/python2.5/site-packages/b3-1.2.1-py2.5.egg/b3/", line 500, in pluginImport
    fp, pathname, description = imp.find_module(name, [self.config.getpath('plugins', 'external_dir')])
ImportError: No module named xlrstats

Here it's a snippet a took elsewhere on the web, but it's the same kind of error, just replace xlrstats by the name of the plugin.

Finally I did found that it simply was because I had 2 different versions of the script at different places : one in @conf and one in @b3/extplugins. In the end, I simply deleted the one in @conf and it worked.

I post it here so maybe it can be of use for someone else as, as Ive seen in the other threads, the problem still seems mysterious while it's almost certainly comes from here, from the description Ive read.

Using B3 remote with sshfs

Q: I have been playing sshfs to monitor a remote server with b3. It works, but is kinda weird. If I mount with sshfs the remote game server dir in the box where b3 is running and then send a command from the game, for example !time, b3 will see the command like after two or three minutes. BUT, if I do a tail/cat/more of the game log file in the sshfs'ed mounted  directory then b3 will inmediately see the command in the log and respond. If I leave a tail -f game.log running then b3 will work perfectly, and when stopped it then b3 will again start to react two or three minutes after. I think this has to do with sshfs asynchronous or cached reads, but I have tried all options of sshfs to try to avoid this with no luck, like no_readahead, cache=no, cache_timeout=0 and sync_read.

Has anyone used sshfs? how should it be run to avoid this problem?

A: The magic parameters are direct_io and cache=no. It works like a charm. You will mount it like this:

sshfs -odirect_io,cache=no [email protected]:/home/urban/UrbanTerror servers/remote_server/

To avoid having to enter the remote user password each time you mount the remote dir you will have to generate a ssh key pair with the ssh-keygen command and upload the public key to the game server .ssh/authorized_keys file.
(Thanks to Mazter)

How to run B3 on Free BSD or MAC OS X

Q: On some Free BSD and Mac OS X, B3 does not read game log file content. As a result it does not respond to your in-game commands.

A: This topic on the forum as two solutions. One is to apply a patch on your Python installation while the other one is a patch to apply to B3

Page Tools