What Is XBNBT and How Does It Differ from BNBT?
Updated
XBNBT is a modified BitTorrent tracker built on BNBT, The Trinity EasyTracker, and CBTT. It is the "=Xotic= Edition of BNBT," written in C++ and released under the GNU Lesser General Public License (LGPL). Choose it if you want a self-hosted tracker that stays compatible with BNBT while adding extra administration, statistics, and integration features. Skip it if you need a private tracker with a user ratio system — XBNBT explicitly does not support one.
How XBNBT relates to BNBT
BNBT is a BitTorrent tracker written by Trevor Hogan. It is a complete port of the original Python BitTorrent tracker to C++, done for speed and efficiency, and it adds features beyond the Python original while staying easy to use and customizable.
XBNBT takes that base and merges in code and behavior from two other trackers:
- BNBT — the C++ tracker it is primarily based on
- The Trinity EasyTracker — one of the merged codebases
- CBTT — the other merged codebase
The result is a tracker that aims to be compatible with all three lineages rather than a clean-room rewrite. If you already run BNBT, EasyTracker, or CBTT, XBNBT is positioned as a drop-in-style alternative that also pulls in features from jTracker.
What XBNBT adds over a stock BNBT setup
The feature list is where the differences show up. XBNBT keeps BNBT compatibility and layers on:
| Area | What XBNBT provides |
|---|---|
| Database | Flat-file or MySQL operation |
| Interface | Web-based interface with improved navigation and look |
| Feeds | RSS 2.0 feed with a validation link |
| Statistics | Dynamic image (PNG, JPG, GIF) statistics engine for forum-friendly postings |
| Styling | Additional style sheet (CSS) controls |
| Admin | Additional administrative, statistics, and control options |
| Discovery | Additional filter and search facilities |
| Linking | BNBT Tracker Links V1.0 (hub-leaf) plus an added hub-hub link feature |
| Export | XML v1.2 dump feature |
| Portability | C++ source with Makefiles, Dev-C++ and Microsoft Visual C++ project solutions |
Several of these matter for specific deployment choices. The flat-file vs. MySQL option lets you run without a database server for small setups, or move to MySQL when you need it. The dynamic image statistics engine is aimed at posting live tracker stats into forums. The XML dump and RSS feed give you machine-readable and subscribable output.
Migration, clients, and protocol-level controls
XBNBT includes features that matter when you are moving an existing community onto it or tuning how clients connect:
- Custom announce and scrape — supports custom announce and scrape endpoints to assist migration from other trackers
- Client identification — the tracker can identify connecting clients
- Announce 'key' parameter — supported
- Custom TCP window size — configurable
- Nagle's Algorithm control — you can control it
- Additional authentication controls — beyond the base
- Torrent address rewriting — ability to modify the announce and announce-list address of downloaded torrent files
The announce/scrape customization and torrent address rewriting are the two that most directly affect a migration: they let the tracker present endpoints and addresses that match what your existing torrents and clients already expect.
Integrations and compliance
XBNBT offers generic MySQL user integration for common forum and CMS platforms, including IPB, IPB2, vBulletin 3, phpBB, and PHPNuke. This is relevant if you want tracker accounts tied to an existing community database rather than managed separately.
On the standards side, the project states it is:
- Fully HTML 4.01 Strict compliant, with a validation link
- CSS-1 compliant, with a validation link
- WCAG 1.0 compliant, with a validation link
- Written to meet the NCSA Secure Programming Guidelines
- Multi-language supported, with a built-in editor
The limitation that decides most use cases
XBNBT does not support a user ratio system. This is the single most important constraint when evaluating it. If your goal is a private tracker that enforces upload/download ratios per user, XBNBT is not built for that, and the rest of its feature set will not compensate. It fits public or semi-public trackers, community trackers where ratio enforcement is not required, and setups where the priority is compatibility, statistics, and integration rather than accounting.
Scale and licensing
The project states it has been tested with 100,000 peers on Linux. That gives you a rough upper bound for planning, though real capacity depends on your hardware, database choice, and configuration. Licensing is under the GNU LGPL, so you can use and modify it under those terms.
Where to go next
The project page links to an XBNBT Wiki, XBNBT documentation, and the upstream BNBT, CBTT, and EasyTracker documentation, plus downloads and a CVS repository. If you are deciding between XBNBT and plain BNBT, the practical split is: stay on BNBT for a minimal, well-understood tracker; move to XBNBT when you specifically want the added admin/statistics tooling, forum user integration, RSS and image stats, or the migration-friendly announce/scrape controls — and you do not need ratio enforcement.