# 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.