Files
openttd-client/lib/openttd/README.md
kovagoadi cb6849ed55
Some checks failed
Continuous Integration / lint-and-security (push) Successful in 4m14s
Continuous Integration / tests-and-coverage (push) Successful in 33s
CodeQL Analysis / Analyze (python) (push) Failing after 4m17s
Initialized openttd-client repo
2026-06-05 23:18:09 +02:00

15 lines
802 B
Markdown

# Internal Package: openttd
This directory contains the core implementation of the OpenTTD network client.
## Modules
- **`__init__.py`**: Exposes the high-level `OpenTTDClient` API.
- **`client.py`**: Implementation of the `OpenTTDClient` class. Manages the connection lifecycle, PAKE state, map synchronization, and keep-alive.
- **`protocol.py`**: Implementation of the `OpenTTDProtocol` class. Handles low-level binary packet serialization, AEAD stream encryption, and static packet parsing.
## Design Goals
1. **Encapsulation:** The user should never need to manually handle bytes or encryption keys.
2. **Robustness:** Gracefully handle server errors and unknown packet types.
3. **Efficiency:** Use `asyncio` for non-blocking I/O and `monocypher` for fast cryptographic operations.