Skip to main content

bdo-toolkit

CI PyPI version Python 3.14+ Tested on NA/EU Package: Stable License: MIT

Passive, read-only Python tooling that turns live or recorded Black Desert traffic into structured, application-ready data.

Documentation · Quickstart · Examples · API index · Report an issue

Passive, read-only boundary. bdo-toolkit observes local traffic or saved captures. It does not send or modify packets, replay traffic to the game, automate gameplay, inspect process memory, or bypass anti-cheat software.

Live-capture limitations

Live capture depends heavily on your network setup and on whether the capture backend can see BDO traffic. VPNs and routing services such as ExitLag may require manual interface, local IP, and port settings; automatic detection may select the wrong connection. Traffic visible only as an encrypted tunnel cannot be decoded. Follow Diagnose capture when automatic selection fails to inspect connections on Windows, select grouped capture settings, and verify them with game activity. The guide covers VPNs, local proxies, and cases where no usable adapter is found. Discovery does not apply settings or verify decoding.

Capabilities

bdo-toolkit exposes these passive workflows. Item activity, item state, and Solare support live capture and saved PCAP or PCAPNG replay. Grind tracking combines supported observations in one live session.

Capability What it provides Guide Status
Item activity A continuing stream of typed BDOEvent objects for supported loot, gathering, inventory, and storage changes Item events Stable
Inventory and town storage A finite ItemStateSnapshot assembled from character-load traffic, with inventory, known balances, and observed town storage Inventory & town storage Beta
Arena of Solare leaderboards A finite SolareCaptureResult containing overall rankings, class tables, and player statistics when the capture is complete Arena of Solare Beta
Grind tracking One capture for confirmed mob drops, with optional profile-based Agris and solo XP GrindSession Experimental
Raw server messages Every length-framed server-to-client message, opcode-free and undecoded, for protocol research Raw server messages Experimental

The standalone workflows include synchronous and asyncio sessions, capture and decoder health diagnostics, console and JSONL event writers, and a command-line interface. Exact signatures, fields, lifecycle behavior, and failure contracts are in the API index.

Testing and validation cover NA/EU only. Compatibility with other regional services is unknown.

Installation

python -m pip install bdo-toolkit

Python 3.14 or newer is required. Before live capture, complete Installation & setup, including Npcap on Windows and permission to capture on the selected interface. Offline PCAP and PCAPNG replay does not require Npcap.

Get started

  1. Complete Installation & setup.
  2. For item events or item state, prepare a current local profile through Opcode profile setup.
  3. Run the Quickstart or choose a task from the Examples index.

Local calibration is the dependable patch-day path because maintained profiles require manual verification and may lag a weekly update. The Calibration guide walks through rebuilding one. Arena of Solare uses structural classification and does not require an item opcode profile.

Runnable examples

The source checkout includes maintained, run-ready lessons. They are not installed with the Python wheel.

Workflow Representative script
Observe live item activity examples/live_transfer_log.py
Capture inventory and town storage on character load examples/live_character_load_snapshot.py
Rebuild an item profile after a patch examples/live_calibrate_profile.py
Observe calibration progress and stop on completion examples/live_calibration_progress.py · async
Capture an Arena of Solare leaderboard load examples/solare_live_snapshot.py

See the Examples index for every script, its prerequisites, and the guide that explains it.

Support

For questions, contact me on Discord: ._.__.__._._.__._____.__._.___.

For bugs and feature requests, open a GitHub issue.

License

bdo-toolkit is available under the MIT License.

Metadata

Release files for bdo-toolkit 1.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bdo-toolkit 1.0.8
File Size Uploaded
bdo_toolkit-1.0.8.tar.gz 450.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bdo-toolkit 1.0.8
File Interpreter ABI Platform
bdo_toolkit-1.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 751.4 kB

Release files / bdo_toolkit-1.0.8.tar.gz

Download URL bdo_toolkit-1.0.8.tar.gz
Size 450.9 kB
Tags Source
SHA-256 checksum
How to use checksums
311c605a5f473aaba3a691b3cee0764bdc4260c8ae231469b8fd86b6b746164e
BLAKE2b-256 checksum
How to use checksums
68d4707975f7e9c2227eebfffb26aa6362633689222f3e9f2070cc35084bac4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / bdo_toolkit-1.0.8-py3-none-any.whl

Download URL bdo_toolkit-1.0.8-py3-none-any.whl
Size 300.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ce922657b48e9250a1628f31fe07a649802725d3d0570fc0db7e852eab98238e
BLAKE2b-256 checksum
How to use checksums
d3248d8d9cc66531dd090e7dbc85735eb310c143862da48f2e1f9df2051e5ac8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.8 This release

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page