📚 B3 (Big Brother Bot) Guide

Complete admin automation system for COD and Battlefield servers

Quick Info

Supported Games:Call of Duty series, Battlefield series, Urban Terror
Language:Python 2.7 (legacy) or Python 3.x (BigBrotherBot 2.0+)
Database:MySQL or SQLite for stats/bans/warnings
Communication:RCON protocol to game server
Web Interface:Optional XLRSTATS/ECHELON integration
Latest Version:B3 1.12+ or BigBrotherBot 2.0+
Website:bigbrotherbot.net

Navigation

Overview

B3 (Big Brother Bot) is a cross-platform, cross-game administration tool for game servers. It provides automated player warnings, kick/ban management, statistics tracking, and extensive customization through plugins.

Key Features

Supported Games

Game Series Specific Titles Parser
Call of Duty COD2, COD4, MW2, MW3, Black Ops cod, cod4, cod7, etc.
Battlefield BF2, BF2142, BF3, BF4, BFH bf3, bf4, bfh
Urban Terror Urban Terror 4.x iourt42
Smokin' Guns Smokin' Guns smg

📥 Installation

Prerequisites

Linux Installation (Ubuntu/Debian)

Python 3 Installation (Recommended)

# Install Python 3 and pip
sudo apt-get update
sudo apt-get install python3 python3-pip git

# Install B3 via pip (BigBrotherBot 2.0+)
pip3 install bigbrotherbot

# Or install from GitHub (development version)
git clone https://github.com/BigBrotherBot/big-brother-bot.git
cd big-brother-bot
pip3 install -r requirements.txt
python3 setup.py install

Legacy Python 2.7 Installation

# Install Python 2.7 (for older B3 1.x)
sudo apt-get install python2.7 python-pip

# Download B3 1.x
wget https://github.com/BigBrotherBot/big-brother-bot/archive/v1.12.0.tar.gz
tar -xzf v1.12.0.tar.gz
cd big-brother-bot-1.12.0

# Install dependencies
pip install -r requirements.txt

Windows Installation

# Download and install Python 3.9+ from python.org
# Ensure "Add Python to PATH" is checked during installation

# Open Command Prompt and install B3
pip install bigbrotherbot

# Or download pre-built B3 package from bigbrotherbot.net
# Extract to C:\B3\

Directory Structure

b3/
├── b3.exe (Windows) or b3_run.py (Linux)
├── b3.xml (main configuration)
├── conf/
│   ├── b3.xml (main config)
│   ├── plugin_admin.ini (admin plugin config)
│   ├── plugin_spamcontrol.ini
│   └── ... (other plugin configs)
├── extplugins/
│   └── (custom plugins)
└── logs/
    └── b3.log

💾 Database Setup

MySQL Setup (Recommended for Production)

Create Database

# Login to MySQL
mysql -u root -p

# Create database
CREATE DATABASE b3 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# Create user
CREATE USER 'b3'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON b3.* TO 'b3'@'localhost';
FLUSH PRIVILEGES;

Import B3 Schema

# B3 will auto-create tables on first run
# Or manually import schema:
mysql -u b3 -p b3 < sql/b3.sql

# Key tables created:
# - clients (player records)
# - penalties (bans, warnings, kicks)
# - aliases (player name history)
# - ipaliases (IP address tracking)

SQLite Setup (Simple / Testing)

# SQLite doesn't require separate installation
# B3 will create b3.db file automatically
# Database file location: b3/b3.db

# No manual setup required
# Just configure b3.xml to use SQLite

Database Configuration in b3.xml

MySQL Configuration

<configuration>
  <settings name="settings">
    <set name="database">mysql://b3:your_password@localhost/b3</set>
  </settings>
</configuration>

SQLite Configuration

<configuration>
  <settings name="settings">
    <set name="database">sqlite://b3/b3.db</set>
  </settings>
</configuration>

⚙️ Configuration (b3.xml)

Basic b3.xml Structure

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <!-- Settings Section -->
  <settings name="settings">
    <!-- Database connection -->
    <set name="database">mysql://b3:password@localhost/b3</set>
    
    <!-- Parser (game type) -->
    <set name="parser">cod4</set>
    
    <!-- Timezone -->
    <set name="time_zone">America/New_York</set>
    
    <!-- Logging level (0-22, higher = more verbose) -->
    <set name="log_level">9</set>
    
    <!-- Log file -->
    <set name="logfile">b3.log</set>
  </settings>

  <!-- B3 Server Section -->
  <settings name="server">
    <!-- Public IP and Port -->
    <set name="public_ip">123.456.789.0</set>
    <set name="port">28960</set>
    
    <!-- RCON Configuration -->
    <set name="rcon_ip">127.0.0.1</set>
    <set name="rcon_port">28960</set>
    <set name="rcon_password">your_rcon_password</set>
    
    <!-- Game log file location -->
    <set name="game_log">games_mp.log</set>
  </settings>

  <!-- Plugins Section -->
  <plugins>
    <plugin name="admin" config="@conf/plugin_admin.ini"/>
    <plugin name="adv" config="@conf/plugin_adv.xml"/>
    <plugin name="spamcontrol" config="@conf/plugin_spamcontrol.ini"/>
    <plugin name="status" config="@conf/plugin_status.ini"/>
    <plugin name="welcome" config="@conf/plugin_welcome.ini"/>
  </plugins>
</configuration>

Parser Settings (Game-Specific)

Game Parser Value
Call of Duty 4 cod4
Call of Duty 7 (Black Ops) cod7
Battlefield 3 bf3
Battlefield 4 bf4
Urban Terror 4.2 iourt42

🔌 Plugin System

Built-in Plugins

Admin Plugin (Required)

Core admin commands: kick, ban, warn, tempban

; plugin_admin.ini
[settings]
; Minimum level for kick command
command_kick_level: 40

; Minimum level for ban command
command_ban_level: 60

; Minimum level for tempban command
command_tempban_level: 40

[commands]
kick: 40
ban: 60
tempban: 40
unban: 60

SpamControl Plugin

Prevents chat spam and flooding

; plugin_spamcontrol.ini
[settings]
; Maximum messages per timeframe
max_messages: 5

; Timeframe in seconds
timeframe: 10

; Action: warn, kick, ban
action: warn

Welcome Plugin

Welcomes players on join, shows rules

; plugin_welcome.ini
[settings]
; Welcome message
welcome_msg: ^2Welcome ^7%s^2! Visit our website at example.com

; Show player count
show_playercount: yes

; Show server rules
newb_connections: 15

Status Plugin

Player info and statistics

; Commands: !status, !xlrstats
; Shows player level, kills, deaths, skill

External Plugins

Installing External Plugins

# Download plugin (example: xlrstats)
cd b3/extplugins
wget https://example.com/xlrstats.py

# Add to b3.xml
<plugin name="xlrstats" config="@b3/extplugins/conf/xlrstats.ini"/>

# Create plugin config
cp xlrstats.ini.sample xlrstats.ini
nano xlrstats.ini

# Restart B3

👤 Admin Management

Admin Levels

Level Title Permissions
0 User No permissions
1 Regular Basic commands (!help, !rules)
20 Moderator !warn, !kick (lower levels)
40 Admin !kick, !tempban, !ban (temporary)
60 Full Admin !ban (permanent), !unban
80 Senior Admin !maprotate, !maprestart, !lookup
100 Super Admin All commands, !putgroup, !leveltest

Adding Admins (In-Game)

# Add admin level 40 (Admin)
!putgroup PlayerName admin

# Add admin level 60 (Full Admin)
!putgroup PlayerName fulladmin

# Add admin level 100 (Super Admin)
!putgroup PlayerName superadmin

# Remove admin
!putgroup PlayerName user

Adding Admins (Database)

# Direct database method
mysql -u b3 -p

USE b3;

# Find player's ID
SELECT id, name FROM clients WHERE name LIKE '%PlayerName%';

# Update player group (level 60 = Full Admin)
UPDATE clients SET group_bits = 60 WHERE id = PLAYER_ID;

Common Admin Commands

# Player management
!kick PlayerName [reason]
!ban PlayerName [reason]
!tempban PlayerName 1h [reason]  # 1 hour temp ban
!unban PlayerName

# Warnings
!warn PlayerName [reason]
!warntest PlayerName  # Check warn count

# Server management
!maprotate  # Change to next map
!maprestart  # Restart current map
!map de_dust2  # Change to specific map

# Information
!help  # Show available commands
!leveltest PlayerName  # Check player's admin level
!lookup PlayerName  # Player info and history

📊 Statistics & Web Interface

XLRstats Plugin

Advanced statistics tracking plugin

# Install XLRstats plugin
cd b3/extplugins
# Download xlrstats.py and xlrstats.ini

# Add to b3.xml
<plugin name="xlrstats" config="@b3/extplugins/conf/xlrstats.ini"/>

# Commands:
!xlrstats  # Show your stats
!xlrtopstats  # Show top players
!xlrstats PlayerName  # Show another player's stats

ECHELON Web Interface

Web-based B3 management interface

🎮 Game-Specific Setup

Call of Duty 4

<!-- COD4 b3.xml example -->
<set name="parser">cod4</set>
<set name="rcon_port">28960</set>
<set name="game_log">/path/to/cod4/main/games_mp.log</set>

# Enable log file in COD4 server.cfg:
set g_log "games_mp.log"
set g_logsync "1"  # Real-time logging
set rcon_password "your_rcon_password"

Battlefield 4

<!-- BF4 b3.xml example -->
<set name="parser">bf4</set>
<set name="rcon_port">47200</set>

# BF4 uses different RCON protocol
# Requires BF4 parser-specific settings

Urban Terror 4.2

<!-- Urban Terror b3.xml example -->
<set name="parser">iourt42</set>
<set name="rcon_port">27960</set>
<set name="game_log">/path/to/urbanterror/q3ut4/games.log</set>

🔧 Troubleshooting

B3 Not Connecting to Server

# Check RCON password in b3.xml matches server
# Test RCON manually:
# COD4 example:
rcon_ip:port password status

# Verify game log file path is correct
tail -f /path/to/games_mp.log

# Check B3 log for connection errors
tail -f b3/logs/b3.log | grep ERROR

Commands Not Working

Database Connection Failed

# MySQL connection test
mysql -h 127.0.0.1 -u b3 -p b3

# Check database URL format in b3.xml:
mysql://username:password@host/database
# or
sqlite://path/to/b3.db

# Verify MySQL is running
systemctl status mysql

High CPU Usage

Pro Tips

Resources