Introduce production-ready CLI for hosting Commonwealth Online servers in
cloud and on-premises environments.
Features:
- Server orchestration service (server_service.py) wrapping relay lifecycle
- JSON configuration system (config.py) for hosted deployments
- Typer+Rich CLI (consumer_server_cli.py) with serve/status/clients/world commands
- Windows launcher (start.bat) for one-click server startup
- Auto-detection of LAN addresses and dependency installation
- Machine-readable JSON output for monitoring and automation
Cli commands:
serve - Start server with optional config overrides
status - Display server stats and packet counters
clients - List connected players
world time - Set in-game time for all clients
world weather - Set weather for all clients
config init - Generate default configuration file
Documentation:
- Updated docs/setup.md with CLI quick-start guide
- Added server/README.md with usage instructions
- Updated changelog and dev-log with test results
Testing: - Verified config generation and loading
- Verified server startup banner and LAN detection
- Verified fake client connection and welcome packet
- Verified CLI help and command routing
Co-authored-by: Cursor <cursoragent@cursor.com>
Split the monolithic test server into a reusable server core and a thin terminal launcher, and add a PySide6 developer GUI. Added server_core.py (FalloutTogetherServer) with lifecycle control, thread-safe client snapshots, stats and log listener support; added client_session.py for per-client state; added dev_server_app.py GUI and requirements.txt. Updated server.py to use the new server core, and revised server/README.md and docs/dev-log.md to document the new structure, usage, and validation steps. Protocol behavior (welcome/transform/disconnect handling and newline-separated JSON) remains unchanged.