Enhanced game documentation with comprehensive installation and configuration details
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
This commit is contained in:
parent
b72c8ea19d
commit
0216af04ed
299 changed files with 20545 additions and 21001 deletions
|
|
@ -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><configuration>
|
||||
<settings name="settings">
|
||||
<set name="database">mysql://b3:your_password@localhost/b3</set>
|
||||
</settings>
|
||||
</configuration>
|
||||
</code></pre>
|
||||
|
||||
<h4>SQLite Configuration</h4>
|
||||
<pre><code><configuration>
|
||||
<settings name="settings">
|
||||
<set name="database">sqlite://b3/b3.db</set>
|
||||
</settings>
|
||||
</configuration>
|
||||
</code></pre>
|
||||
|
||||
<h2 id="configuration">⚙️ Configuration (b3.xml)</h2>
|
||||
|
||||
<h3>Basic b3.xml Structure</h3>
|
||||
<pre><code><?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>
|
||||
</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
|
||||
<plugin name="xlrstats" config="@b3/extplugins/conf/xlrstats.ini"/>
|
||||
|
||||
# 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
|
||||
<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
|
||||
</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><!-- 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"
|
||||
</code></pre>
|
||||
|
||||
<h3>Battlefield 4</h3>
|
||||
<pre><code><!-- 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
|
||||
</code></pre>
|
||||
|
||||
<h3>Urban Terror 4.2</h3>
|
||||
<pre><code><!-- 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>
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue