If B3 seems to be ignoring your commands there are a few possible problems:
No. B3 can read your game log file through a FTP access. See Manual Configuration
Yes. see Manual Configuration
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.
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.
mysql://b3:******@localhost/b3 mysql://<username>:<password>@<hostname>[:port]/<databasename>
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\\storage.py', 190, 'connect', 'self.db = self.getConnection()'), ('C:\\Program Files\\Activision\\Call of Duty 2 - 1\\home\\b3\\storage.py', 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\\__init__.py', 75, 'Connect', 'return Connection(*args, **kwargs)'), ('C:\\Python24\\Lib\\site-packages\\MySQLdb\\connections.py', 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.
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.
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 b3_run.py - 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!
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: http://www.bigbrotherbot.net/forums/general-discussion/gameserver-providers-that-support-b3/
If the error message is :
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
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:
https://fedoraproject.org/wiki/EPEL
To install it use:
32 Bit
su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm'
or 64 Bit
su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm'
after that you can do:
yum install python26 mod_python26 MySQL-python26
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: http://www.microsoft.com/downloads/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en
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/parser.py", line 437, in loadPlugins
pluginModule = self.pluginImport(p)
File "/usr/lib/python2.5/site-packages/b3-1.2.1-py2.5.egg/b3/parser.py", 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.
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 urban@xxx.xxx.xxx.xxx:/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)
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