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.