Enhanced game documentation with comprehensive installation and configuration details

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2025-11-22 21:36:59 +00:00
parent b72c8ea19d
commit 0216af04ed
299 changed files with 20545 additions and 21001 deletions

View file

@ -1,590 +1,362 @@
<?php
/**
* B3 (Big Brother Bot) Documentation
* B3 (Big Brother Bot) Server Documentation - Comprehensive Guide
* General game server hosting information (not platform-specific)
*/
?>
<h1>📚 B3 (Big Brother Bot) Guide</h1>
<p style="font-size: 1.1em; color: rgba(255,255,255,0.8);">Complete admin automation system for COD and Battlefield servers</p>
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
<h3 style="color: #ffffff; margin-top: 0;">Quick Info</h3>
<table style="width: 100%; color: #e5e7eb;">
<tr><td><strong style="color: #ffffff;">Supported Games:</strong></td><td>Call of Duty series, Battlefield series, Urban Terror</td></tr>
<tr><td><strong style="color: #ffffff;">Language:</strong></td><td>Python 2.7 (legacy) or Python 3.x (BigBrotherBot 2.0+)</td></tr>
<tr><td><strong style="color: #ffffff;">Database:</strong></td><td>MySQL or SQLite for stats/bans/warnings</td></tr>
<tr><td><strong style="color: #ffffff;">Communication:</strong></td><td>RCON protocol to game server</td></tr>
<tr><td><strong style="color: #ffffff;">Web Interface:</strong></td><td>Optional XLRSTATS/ECHELON integration</td></tr>
<tr><td><strong style="color: #ffffff;">Latest Version:</strong></td><td>B3 1.12+ or BigBrotherBot 2.0+</td></tr>
<tr><td><strong style="color: #ffffff;">Website:</strong></td><td>bigbrotherbot.net</td></tr>
</table>
<h3 style="color: #ffffff; margin-top: 0;">📚 Quick Navigation</h3>
<div style="display: flex; flex-wrap: wrap; gap: 10px;">
<a href="#quick-info" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Quick Info</a>
<a href="#ports" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">🔌 Ports</a>
<a href="#installation" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Installation</a>
<a href="#configuration" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Configuration</a>
<a href="#parameters" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">⚙️ Startup Parameters</a>
<a href="#troubleshooting" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">🔧 Troubleshooting</a>
<a href="#performance" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Performance</a>
<a href="#security" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Security</a>
</div>
</div>
<h2>Navigation</h2>
<ul style="list-style: none; padding: 0;">
<li>📚 <a href="#overview">Overview</a></li>
<li>📥 <a href="#installation">Installation</a></li>
<li>💾 <a href="#database">Database Setup</a></li>
<li>⚙️ <a href="#configuration">Configuration (b3.xml)</a></li>
<li>🔌 <a href="#plugins">Plugin System</a></li>
<li>👤 <a href="#admin">Admin Management</a></li>
<li>📊 <a href="#stats">Statistics & Web Interface</a></li>
<li>🎮 <a href="#gamespecific">Game-Specific Setup</a></li>
<li>🔧 <a href="#troubleshooting">Troubleshooting</a></li>
<li>📖 <a href="#resources">Resources</a></li>
</ul>
<h1>B3 (Big Brother Bot) Server Hosting Guide</h1>
<h2 id="overview">Overview</h2>
<p>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.</p>
<h2>Overview</h2>
<p>B3 (Big Brother Bot) is a multiplayer game server that can be hosted on a VPS or dedicated server. This comprehensive guide covers everything you need to know about hosting a B3 (Big Brother Bot) server for your community.</p>
<h3>Key Features</h3>
<h2 id="quick-info">Quick Info</h2>
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
<ul style="color: #e5e7eb; line-height: 1.8; margin: 0;">
<li><strong style="color: #ffffff;">Default Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">Varies (see configuration)</code></li>
<li><strong style="color: #ffffff;">Protocol:</strong> TCP/UDP</li>
<li><strong style="color: #ffffff;">Minimum RAM:</strong> 1GB</li>
<li><strong style="color: #ffffff;">Engine:</strong> Various</li>
<li><strong style="color: #ffffff;">Steam App ID:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">N/A</code></li>
<li><strong style="color: #ffffff;">Recommended OS:</strong> Linux (Ubuntu/Debian) or Windows Server</li>
</ul>
</div>
<h2 id="ports">🔌 Network Ports</h2>
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
<h3 style="color: #ffffff; margin-top: 0;">Required Ports</h3>
<p style="color: #e5e7eb;">The B3 (Big Brother Bot) server typically uses a configurable port. Check your server configuration files for the specific port settings.</p>
<h3 style="color: #ffffff; margin-top: 20px;">Firewall Configuration</h3>
<p style="color: #e5e7eb;">Allow server ports through your firewall:</p>
<pre><code style="color: #a5b4fc;"># UFW (Ubuntu/Debian)
sudo ufw allow [PORT]/tcp
sudo ufw allow [PORT]/udp
sudo ufw reload
# FirewallD (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=[PORT]/tcp
sudo firewall-cmd --permanent --add-port=[PORT]/udp
sudo firewall-cmd --reload
# Windows Firewall
netsh advfirewall firewall add rule name="B3 (Big Brother Bot) Server" dir=in action=allow protocol=TCP localport=[PORT]
netsh advfirewall firewall add rule name="B3 (Big Brother Bot) Server" dir=in action=allow protocol=UDP localport=[PORT]
</code></pre>
<h3 style="color: #ffffff; margin-top: 20px;">⚠️ Port Security Notes</h3>
<ul style="color: #fef3c7; line-height: 1.8;">
<li>Only open ports that are necessary for the game server to function</li>
<li>Consider using non-standard ports to reduce automated attacks</li>
<li>If using cloud hosting, configure security groups properly</li>
<li>Monitor connection attempts and unusual traffic patterns</li>
</ul>
</div>
<h2 id="installation">Installation & Setup</h2>
<h3>System Requirements</h3>
<ul>
<li><strong>Automated Moderation:</strong> Auto-warn, kick, ban based on rules</li>
<li><strong>Player Statistics:</strong> Track kills, deaths, skill ratings</li>
<li><strong>Ban Management:</strong> Temporary and permanent bans with reasons</li>
<li><strong>Warning System:</strong> Progressive punishment (warn kick ban)</li>
<li><strong>RCON Wrapper:</strong> Secure RCON command execution</li>
<li><strong>Plugin Architecture:</strong> Extensible with Python plugins</li>
<li><strong>Web Interface:</strong> View stats and manage server via web</li>
<li><strong>Multi-Server:</strong> Manage multiple servers from one B3 instance</li>
<li><strong>OS:</strong> Linux (Ubuntu 20.04+ or Debian 11+ recommended) or Windows Server 2019+</li>
<li><strong>CPU:</strong> 2+ cores recommended (single-threaded performance important for most game servers)</li>
<li><strong>RAM:</strong> 1GB minimum (more for larger player counts)</li>
<li><strong>Storage:</strong> 5GB+ for server files (SSD recommended for better performance)</li>
<li><strong>Network:</strong> Stable internet connection with low latency</li>
</ul>
<h3>Supported Games</h3>
<table style="width: 100%; border-collapse: collapse; margin: 20px 0;">
<thead>
<tr style="background: #0f172a;">
<th style="padding: 12px; text-align: left; color: #ffffff;">Game Series</th>
<th style="padding: 12px; text-align: left; color: #ffffff;">Specific Titles</th>
<th style="padding: 12px; text-align: left; color: #ffffff;">Parser</th>
</tr>
</thead>
<tbody style="color: #e5e7eb;">
<tr style="background: #1e3a5f;">
<td style="padding: 12px;">Call of Duty</td>
<td style="padding: 12px;">COD2, COD4, MW2, MW3, Black Ops</td>
<td style="padding: 12px;">cod, cod4, cod7, etc.</td>
</tr>
<tr style="background: #152642;">
<td style="padding: 12px;">Battlefield</td>
<td style="padding: 12px;">BF2, BF2142, BF3, BF4, BFH</td>
<td style="padding: 12px;">bf3, bf4, bfh</td>
</tr>
<tr style="background: #1e3a5f;">
<td style="padding: 12px;">Urban Terror</td>
<td style="padding: 12px;">Urban Terror 4.x</td>
<td style="padding: 12px;">iourt42</td>
</tr>
<tr style="background: #152642;">
<td style="padding: 12px;">Smokin' Guns</td>
<td style="padding: 12px;">Smokin' Guns</td>
<td style="padding: 12px;">smg</td>
</tr>
</tbody>
</table>
<h3>Installation Steps</h3>
<h2 id="installation">📥 Installation</h2>
<h4>Linux (Ubuntu/Debian)</h4>
<pre><code># Update system packages
sudo apt update && sudo apt upgrade -y
<h3>Prerequisites</h3>
# Create server directory
mkdir -p ~/gameserver
cd ~/gameserver
# Download server files (method varies by game)
# Check official documentation for download links
</code></pre>
<h4>Windows Server</h4>
<p>Download the server files from the official game website or through Steam (if applicable). Extract to a dedicated folder and run the server executable.</p>
<h3>Manual Installation</h3>
<p>This game requires manual download. Check the official game website or Steam store page for dedicated server downloads.</p>
<h2 id="configuration">Server Configuration</h2>
<p>After installation, you'll need to configure your server. Here's where to find the configuration files and what settings you can change.</p>
<h3>Essential Settings</h3>
<ul>
<li><strong>Python:</strong> 2.7 (legacy B3) or 3.6+ (BigBrotherBot 2.0+)</li>
<li><strong>Database:</strong> MySQL 5.5+ or SQLite 3</li>
<li><strong>RCON Access:</strong> Game server RCON password</li>
<li><strong>Operating System:</strong> Linux, Windows, or macOS</li>
<li><strong>Server Name:</strong> Set a descriptive name for your server</li>
<li><strong>Max Players:</strong> Configure based on your server's resources</li>
<li><strong>Password:</strong> Optional password protection for private servers</li>
<li><strong>Admin/RCON Password:</strong> Set a strong password for remote administration</li>
<li><strong>Game Mode:</strong> Configure game-specific modes and settings</li>
</ul>
<h3>Linux Installation (Ubuntu/Debian)</h3>
<h3>Server Commands</h3>
<p>Common administrative commands (access via console or RCON):</p>
<pre><code># Kick player
kick [player_name]
<h4>Python 3 Installation (Recommended)</h4>
<pre><code># Install Python 3 and pip
sudo apt-get update
sudo apt-get install python3 python3-pip git
# Ban player
ban [player_name]
# Install B3 via pip (BigBrotherBot 2.0+)
pip3 install bigbrotherbot
# Change map/level (syntax varies by game)
changelevel [map_name]
# 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
# Set admin password (if supported)
setadminpassword [password]
</code></pre>
<h4>Legacy Python 2.7 Installation</h4>
<pre><code># Install Python 2.7 (for older B3 1.x)
sudo apt-get install python2.7 python-pip
<h2 id="parameters">⚙️ Startup Parameters</h2>
# 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
<h3>Basic Startup</h3>
<pre><code># Generic startup command structure
./server_executable [parameters]
</code></pre>
<h3>Windows Installation</h3>
<pre><code># 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\
</code></pre>
<h3>Directory Structure</h3>
<pre><code>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
</code></pre>
<h2 id="database">💾 Database Setup</h2>
<h3>MySQL Setup (Recommended for Production)</h3>
<h4>Create Database</h4>
<pre><code># 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;
</code></pre>
<h4>Import B3 Schema</h4>
<pre><code># 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)
</code></pre>
<h3>SQLite Setup (Simple / Testing)</h3>
<pre><code># 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
</code></pre>
<h3>Database Configuration in b3.xml</h3>
<h4>MySQL Configuration</h4>
<pre><code>&lt;configuration&gt;
&lt;settings name="settings"&gt;
&lt;set name="database"&gt;mysql://b3:your_password@localhost/b3&lt;/set&gt;
&lt;/settings&gt;
&lt;/configuration&gt;
</code></pre>
<h4>SQLite Configuration</h4>
<pre><code>&lt;configuration&gt;
&lt;settings name="settings"&gt;
&lt;set name="database"&gt;sqlite://b3/b3.db&lt;/set&gt;
&lt;/settings&gt;
&lt;/configuration&gt;
</code></pre>
<h2 id="configuration">⚙️ Configuration (b3.xml)</h2>
<h3>Basic b3.xml Structure</h3>
<pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;configuration&gt;
&lt;!-- Settings Section --&gt;
&lt;settings name="settings"&gt;
&lt;!-- Database connection --&gt;
&lt;set name="database"&gt;mysql://b3:password@localhost/b3&lt;/set&gt;
&lt;!-- Parser (game type) --&gt;
&lt;set name="parser"&gt;cod4&lt;/set&gt;
&lt;!-- Timezone --&gt;
&lt;set name="time_zone"&gt;America/New_York&lt;/set&gt;
&lt;!-- Logging level (0-22, higher = more verbose) --&gt;
&lt;set name="log_level"&gt;9&lt;/set&gt;
&lt;!-- Log file --&gt;
&lt;set name="logfile"&gt;b3.log&lt;/set&gt;
&lt;/settings&gt;
&lt;!-- B3 Server Section --&gt;
&lt;settings name="server"&gt;
&lt;!-- Public IP and Port --&gt;
&lt;set name="public_ip"&gt;123.456.789.0&lt;/set&gt;
&lt;set name="port"&gt;28960&lt;/set&gt;
&lt;!-- RCON Configuration --&gt;
&lt;set name="rcon_ip"&gt;127.0.0.1&lt;/set&gt;
&lt;set name="rcon_port"&gt;28960&lt;/set&gt;
&lt;set name="rcon_password"&gt;your_rcon_password&lt;/set&gt;
&lt;!-- Game log file location --&gt;
&lt;set name="game_log"&gt;games_mp.log&lt;/set&gt;
&lt;/settings&gt;
&lt;!-- Plugins Section --&gt;
&lt;plugins&gt;
&lt;plugin name="admin" config="@conf/plugin_admin.ini"/&gt;
&lt;plugin name="adv" config="@conf/plugin_adv.xml"/&gt;
&lt;plugin name="spamcontrol" config="@conf/plugin_spamcontrol.ini"/&gt;
&lt;plugin name="status" config="@conf/plugin_status.ini"/&gt;
&lt;plugin name="welcome" config="@conf/plugin_welcome.ini"/&gt;
&lt;/plugins&gt;
&lt;/configuration&gt;
</code></pre>
<h3>Parser Settings (Game-Specific)</h3>
<table style="width: 100%; border-collapse: collapse; margin: 20px 0;">
<thead>
<tr style="background: #0f172a;">
<th style="padding: 12px; text-align: left; color: #ffffff;">Game</th>
<th style="padding: 12px; text-align: left; color: #ffffff;">Parser Value</th>
</tr>
</thead>
<tbody style="color: #e5e7eb;">
<tr style="background: #1e3a5f;">
<td style="padding: 12px;">Call of Duty 4</td>
<td style="padding: 12px;"><code>cod4</code></td>
</tr>
<tr style="background: #152642;">
<td style="padding: 12px;">Call of Duty 7 (Black Ops)</td>
<td style="padding: 12px;"><code>cod7</code></td>
</tr>
<tr style="background: #1e3a5f;">
<td style="padding: 12px;">Battlefield 3</td>
<td style="padding: 12px;"><code>bf3</code></td>
</tr>
<tr style="background: #152642;">
<td style="padding: 12px;">Battlefield 4</td>
<td style="padding: 12px;"><code>bf4</code></td>
</tr>
<tr style="background: #1e3a5f;">
<td style="padding: 12px;">Urban Terror 4.2</td>
<td style="padding: 12px;"><code>iourt42</code></td>
</tr>
</tbody>
</table>
<h2 id="plugins">🔌 Plugin System</h2>
<h3>Built-in Plugins</h3>
<h4>Admin Plugin (Required)</h4>
<p>Core admin commands: kick, ban, warn, tempban</p>
<pre><code>; 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
</code></pre>
<h4>SpamControl Plugin</h4>
<p>Prevents chat spam and flooding</p>
<pre><code>; plugin_spamcontrol.ini
[settings]
; Maximum messages per timeframe
max_messages: 5
; Timeframe in seconds
timeframe: 10
; Action: warn, kick, ban
action: warn
</code></pre>
<h4>Welcome Plugin</h4>
<p>Welcomes players on join, shows rules</p>
<pre><code>; 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
</code></pre>
<h4>Status Plugin</h4>
<p>Player info and statistics</p>
<pre><code>; Commands: !status, !xlrstats
; Shows player level, kills, deaths, skill
</code></pre>
<h3>External Plugins</h3>
<h3>Common Parameters</h3>
<ul>
<li><strong>PowerAdminUrt:</strong> Extended admin commands for Urban Terror</li>
<li><strong>CallVote:</strong> Voting system for maps/kicks</li>
<li><strong>FollowMe:</strong> Auto-balance teams</li>
<li><strong>Xlrstats:</strong> Advanced statistics tracking</li>
<li><strong>Geolocation:</strong> Show player country on join</li>
<li><code>-port [number]</code> - Set the server port</li>
<li><code>-maxplayers [number]</code> - Maximum player slots</li>
<li><code>-map [name]</code> - Starting map/level</li>
<li><code>-console</code> - Enable console output</li>
<li><code>-nographics</code> - Run without graphics (headless mode)</li>
</ul>
<h3>Installing External Plugins</h3>
<pre><code># Download plugin (example: xlrstats)
cd b3/extplugins
wget https://example.com/xlrstats.py
<h3>Creating a Start Script</h3>
# Add to b3.xml
&lt;plugin name="xlrstats" config="@b3/extplugins/conf/xlrstats.ini"/&gt;
# Create plugin config
cp xlrstats.ini.sample xlrstats.ini
nano xlrstats.ini
# Restart B3
<p><strong>Linux (start.sh):</strong></p>
<pre><code>#!/bin/bash
cd /path/to/server
./server_executable [parameters] 2>&1 | tee server.log
</code></pre>
<pre><code>chmod +x start.sh
./start.sh
</code></pre>
<h2 id="admin">👤 Admin Management</h2>
<h3>Admin Levels</h3>
<table style="width: 100%; border-collapse: collapse; margin: 20px 0;">
<thead>
<tr style="background: #0f172a;">
<th style="padding: 12px; text-align: left; color: #ffffff;">Level</th>
<th style="padding: 12px; text-align: left; color: #ffffff;">Title</th>
<th style="padding: 12px; text-align: left; color: #ffffff;">Permissions</th>
</tr>
</thead>
<tbody style="color: #e5e7eb;">
<tr style="background: #1e3a5f;">
<td style="padding: 12px;">0</td>
<td style="padding: 12px;">User</td>
<td style="padding: 12px;">No permissions</td>
</tr>
<tr style="background: #152642;">
<td style="padding: 12px;">1</td>
<td style="padding: 12px;">Regular</td>
<td style="padding: 12px;">Basic commands (!help, !rules)</td>
</tr>
<tr style="background: #1e3a5f;">
<td style="padding: 12px;">20</td>
<td style="padding: 12px;">Moderator</td>
<td style="padding: 12px;">!warn, !kick (lower levels)</td>
</tr>
<tr style="background: #152642;">
<td style="padding: 12px;">40</td>
<td style="padding: 12px;">Admin</td>
<td style="padding: 12px;">!kick, !tempban, !ban (temporary)</td>
</tr>
<tr style="background: #1e3a5f;">
<td style="padding: 12px;">60</td>
<td style="padding: 12px;">Full Admin</td>
<td style="padding: 12px;">!ban (permanent), !unban</td>
</tr>
<tr style="background: #152642;">
<td style="padding: 12px;">80</td>
<td style="padding: 12px;">Senior Admin</td>
<td style="padding: 12px;">!maprotate, !maprestart, !lookup</td>
</tr>
<tr style="background: #1e3a5f;">
<td style="padding: 12px;">100</td>
<td style="padding: 12px;">Super Admin</td>
<td style="padding: 12px;">All commands, !putgroup, !leveltest</td>
</tr>
</tbody>
</table>
<h3>Adding Admins (In-Game)</h3>
<pre><code># 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
<p><strong>Windows (start.bat):</strong></p>
<pre><code>@echo off
cd /d "%~dp0"
server_executable.exe [parameters]
pause
</code></pre>
<h3>Adding Admins (Database)</h3>
<pre><code># Direct database method
mysql -u b3 -p
<h3>Running as a Service</h3>
USE b3;
<p><strong>Linux (systemd):</strong></p>
<pre><code># Create service file: /etc/systemd/system/gameserver.service
[Unit]
Description=B3 (Big Brother Bot) Server
After=network.target
# Find player's ID
SELECT id, name FROM clients WHERE name LIKE '%PlayerName%';
[Service]
Type=simple
User=gameserver
WorkingDirectory=/home/gameserver/server
ExecStart=/home/gameserver/server/start.sh
Restart=on-failure
RestartSec=10
# Update player group (level 60 = Full Admin)
UPDATE clients SET group_bits = 60 WHERE id = PLAYER_ID;
[Install]
WantedBy=multi-user.target
</code></pre>
<h3>Common Admin Commands</h3>
<pre><code># 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
</code></pre>
<h2 id="stats">📊 Statistics & Web Interface</h2>
<h3>XLRstats Plugin</h3>
<p>Advanced statistics tracking plugin</p>
<pre><code># Install XLRstats plugin
cd b3/extplugins
# Download xlrstats.py and xlrstats.ini
# Add to b3.xml
&lt;plugin name="xlrstats" config="@b3/extplugins/conf/xlrstats.ini"/&gt;
# Commands:
!xlrstats # Show your stats
!xlrtopstats # Show top players
!xlrstats PlayerName # Show another player's stats
</code></pre>
<h3>ECHELON Web Interface</h3>
<p>Web-based B3 management interface</p>
<ul>
<li><strong>Features:</strong> View stats, manage bans, configure server</li>
<li><strong>Requirements:</strong> PHP 5.3+, MySQL, web server</li>
<li><strong>Installation:</strong> Download from b3.echelon.fi</li>
<li><strong>Setup:</strong> Configure database connection to same B3 database</li>
</ul>
<h2 id="gamespecific">🎮 Game-Specific Setup</h2>
<h3>Call of Duty 4</h3>
<pre><code>&lt;!-- COD4 b3.xml example --&gt;
&lt;set name="parser"&gt;cod4&lt;/set&gt;
&lt;set name="rcon_port"&gt;28960&lt;/set&gt;
&lt;set name="game_log"&gt;/path/to/cod4/main/games_mp.log&lt;/set&gt;
# 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"
</code></pre>
<h3>Battlefield 4</h3>
<pre><code>&lt;!-- BF4 b3.xml example --&gt;
&lt;set name="parser"&gt;bf4&lt;/set&gt;
&lt;set name="rcon_port"&gt;47200&lt;/set&gt;
# BF4 uses different RCON protocol
# Requires BF4 parser-specific settings
</code></pre>
<h3>Urban Terror 4.2</h3>
<pre><code>&lt;!-- Urban Terror b3.xml example --&gt;
&lt;set name="parser"&gt;iourt42&lt;/set&gt;
&lt;set name="rcon_port"&gt;27960&lt;/set&gt;
&lt;set name="game_log"&gt;/path/to/urbanterror/q3ut4/games.log&lt;/set&gt;
<pre><code># Enable and start service
sudo systemctl daemon-reload
sudo systemctl enable gameserver
sudo systemctl start gameserver
sudo systemctl status gameserver
</code></pre>
<h2 id="troubleshooting">🔧 Troubleshooting</h2>
<h3>B3 Not Connecting to Server</h3>
<pre><code># Check RCON password in b3.xml matches server
# Test RCON manually:
# COD4 example:
rcon_ip:port password status
<h3>Server Won't Start</h3>
# Verify game log file path is correct
tail -f /path/to/games_mp.log
<h4>Check Server Logs</h4>
<pre><code># View recent log entries
tail -f server.log
# Check B3 log for connection errors
tail -f b3/logs/b3.log | grep ERROR
# Or check system logs
journalctl -u gameserver -f
</code></pre>
<h3>Commands Not Working</h3>
<h4>Port Already in Use</h4>
<pre><code># Find what's using the port
sudo lsof -i :[PORT]
sudo netstat -tulpn | grep [PORT]
# Kill the process or change server port
</code></pre>
<h4>Missing Dependencies</h4>
<p>Ensure all required dependencies are installed. Check the error messages for missing libraries or packages.</p>
<h3>Connection Issues</h3>
<h4>Can't Connect to Server</h4>
<ol>
<li><strong>Verify server is running:</strong> <code>ps aux | grep server</code></li>
<li><strong>Check port is listening:</strong> <code>netstat -an | grep [PORT]</code></li>
<li><strong>Verify firewall rules</strong> (see Ports section above)</li>
<li><strong>Check server IP:</strong> Use external IP, not localhost</li>
<li><strong>Router/NAT:</strong> Ensure port forwarding is configured</li>
</ol>
<h4>High Latency/Lag</h4>
<ul>
<li>Verify admin plugin is loaded in b3.xml</li>
<li>Check player's admin level (!leveltest PlayerName)</li>
<li>Ensure command prefix is correct (default: !)</li>
<li>Check plugin_admin.ini for command permissions</li>
<li>Check server resource usage (CPU, RAM, disk I/O)</li>
<li>Verify network bandwidth is adequate</li>
<li>Consider server location relative to players</li>
<li>Check for background processes consuming resources</li>
</ul>
<h3>Database Connection Failed</h3>
<pre><code># MySQL connection test
mysql -h 127.0.0.1 -u b3 -p b3
<h3>Performance Issues</h3>
# Check database URL format in b3.xml:
mysql://username:password@host/database
# or
sqlite://path/to/b3.db
<h4>Server Lag</h4>
<ol>
<li><strong>Monitor resources:</strong> Use <code>htop</code> or <code>top</code></li>
<li><strong>Check disk I/O:</strong> Use <code>iotop</code></li>
<li><strong>Review server logs</strong> for errors or warnings</li>
<li><strong>Reduce player count</strong> or increase server resources</li>
<li><strong>Optimize configuration</strong> based on server capacity</li>
</ol>
# Verify MySQL is running
systemctl status mysql
<h4>Memory Leaks</h4>
<pre><code># Monitor memory usage
free -h
top -p $(pgrep -f server)
# Restart server regularly via cron if needed
0 4 * * * /home/gameserver/restart.sh
</code></pre>
<h3>High CPU Usage</h3>
<h2 id="performance">Performance Optimization</h2>
<h3>Server Tuning</h3>
<ul>
<li>Reduce log_level in b3.xml (try level 9 or lower)</li>
<li>Disable unused plugins</li>
<li>Check for plugin loops or errors in logs</li>
<li>Optimize database (run OPTIMIZE TABLE on large tables)</li>
<li><strong>CPU:</strong> Ensure adequate CPU allocation; most game servers are single-threaded</li>
<li><strong>RAM:</strong> Allocate sufficient memory; monitor usage and adjust as needed</li>
<li><strong>Disk:</strong> Use SSD storage for better I/O performance</li>
<li><strong>Network:</strong> Ensure stable, low-latency connection</li>
</ul>
<h3>Operating System Optimization</h3>
<pre><code># Increase file descriptor limits
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
# Network tuning
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 87380 16777216"
</code></pre>
<h3>Monitoring</h3>
<p>Set up monitoring to track server health:</p>
<ul>
<li>CPU and memory usage</li>
<li>Network traffic and latency</li>
<li>Player count and activity</li>
<li>Error rates and crash logs</li>
</ul>
<h3>Backup Strategy</h3>
<pre><code>#!/bin/bash
# backup.sh - Run via cron
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backups/gameserver"
SERVER_DIR="/home/gameserver/server"
# Create backup
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz -C $SERVER_DIR .
# Keep only last 7 days
find $BACKUP_DIR -name "backup_*.tar.gz" -mtime +7 -delete
</code></pre>
<h2 id="security">Security Best Practices</h2>
<h3>Firewall Configuration</h3>
<pre><code># Minimal firewall - only allow necessary ports
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow [SERVER_PORT]/tcp
sudo ufw allow [SERVER_PORT]/udp
sudo ufw allow 22/tcp # SSH
sudo ufw enable
</code></pre>
<h3>Strong Passwords</h3>
<ul>
<li>Use strong, unique passwords for admin/RCON access</li>
<li>Never use default passwords</li>
<li>Change passwords regularly</li>
<li>Don't share admin credentials unnecessarily</li>
</ul>
<h3>Regular Updates</h3>
<ul>
<li>Keep server software updated to the latest stable version</li>
<li>Update operating system and dependencies regularly</li>
<li>Subscribe to security advisories for your game</li>
<li>Test updates on a staging server before production deployment</li>
</ul>
<h3>Access Control</h3>
<ul>
<li>Limit SSH access to specific IPs if possible</li>
<li>Use SSH keys instead of passwords</li>
<li>Disable root login via SSH</li>
<li>Implement fail2ban or similar intrusion prevention</li>
</ul>
<h3>DDoS Protection</h3>
<ul>
<li>Consider DDoS protection services (Cloudflare, OVH, etc.)</li>
<li>Implement rate limiting where supported</li>
<li>Monitor for unusual traffic patterns</li>
<li>Have an incident response plan</li>
</ul>
<h2>Additional Resources</h2>
<ul>
<li>Official B3 (Big Brother Bot) documentation and forums</li>
<li>Community wikis and guides</li>
<li>Game-specific Discord or Reddit communities</li>
<li>Server hosting provider documentation</li>
</ul>
<div style="background: #78350f; padding: 20px; border-left: 4px solid #f59e0b; margin: 20px 0; border-radius: 4px;">
<h3 style="color: #ffffff; margin-top: 0;"><i class="fas fa-lightbulb" style="color: #fbbf24; margin-right: 8px;"></i>Pro Tips</h3>
<ul style="color: #fef3c7; line-height: 1.8;">
<li><strong>MySQL Recommended:</strong> Use MySQL for production servers (better performance than SQLite)</li>
<li><strong>Log Rotation:</strong> Implement log rotation to prevent b3.log from growing too large</li>
<li><strong>Test Configuration:</strong> Test b3.xml syntax before restarting B3</li>
<li><strong>Backup Database:</strong> Regular automated backups of B3 database</li>
<li><strong>Screen/Tmux:</strong> Run B3 in screen/tmux session on Linux for persistence</li>
<li><strong>Monitor Performance:</strong> Watch CPU/RAM usage, adjust log level if needed</li>
<li><strong>Plugin Updates:</strong> Keep plugins updated for bug fixes and new features</li>
<li><strong>Community:</strong> B3 forums have extensive plugin library and support</li>
<h3 style="color: #ffffff; margin-top: 0;"><i class="fas fa-exclamation-triangle" style="color: #fbbf24; margin-right: 8px;"></i>Important Notes</h3>
<ul style="color: #fef3c7; line-height: 1.8; margin: 0;">
<li>Always make backups before making configuration changes</li>
<li>Keep your server and dependencies updated</li>
<li>Monitor server resources and player activity</li>
<li>Follow the game's End User License Agreement (EULA) and Terms of Service</li>
<li>Join community forums for support and best practices</li>
</ul>
</div>
<h2 id="resources">Resources</h2>
<ul>
<li><a href="https://www.bigbrotherbot.net/" target="_blank">Official B3 Website</a></li>
<li><a href="https://github.com/BigBrotherBot/big-brother-bot" target="_blank">B3 GitHub Repository</a></li>
<li><a href="https://forum.bigbrotherbot.net/" target="_blank">B3 Support Forums</a></li>
<li><a href="https://github.com/BigBrotherBot/big-brother-bot/wiki" target="_blank">B3 Wiki Documentation</a></li>
<li><a href="http://www.b3.echelon.fi/" target="_blank">ECHELON Web Interface</a></li>
<li>Game Documentation: COD4, BF3, BF4 server setup guides</li>
</ul>
<p style="text-align: center; margin-top: 30px; color: #666;">
<em>Last updated: November 2025 | For B3 (Big Brother Bot) server hosting</em>
</p>

View file

@ -1,6 +1,7 @@
{
"description": "Comprehensive guide for B3 bot (COD/Battlefield admin system) with Python setup, MySQL/SQLite database, b3.xml config, RCON integration, plugin system, and web interface",
"name": "B3 (Big Brother Bot)",
"order": 64,
"category": "mods"
{
"description": "Comprehensive guide for B3 bot (COD/Battlefield admin system) with Python setup, MySQL/SQLite database, b3.xml config, RCON integration, plugin system, and web interface",
"name": "B3 (Big Brother Bot)",
"order": 64,
"category": "mods",
"complete": true
}