Stop hardcoding player 1 for server-initiated weather/time and instead use the current world-state host. Plugin code now defers weather commands until GetWorldStateHostPlayerId() is available, uses IsWorldStateHost() to gate execution, logs local/host IDs, and requeues when host assignment is missing. Relay logic now attempts ForceHostWorldStateBroadcast and logs if relay fails. Updated protocol docs, dev server UI tooltips, presets comment, changelog, and dev log to reflect world-state host terminology and behavior. This ensures weather/time control survives host reassignment and avoids dropped commands on reconnect/restart.
Protocol
This folder documents the planned network protocol for Commonwealth Online.
The first protocol should be simple and focused on player transform sync.
First Packet Types
- Welcome packet
- Transform packet
- World state packet (host time and weather) — see
world-state.md - Server world state packet (dev GUI weather/time) — see
server-world-state.md - Disconnect packet
Future Packet Types
- Animation state packet
- Fire weapon packet
- Health packet
- Chat packet
- Cell change packet
Design Goals
The protocol should be:
- Simple
- Easy to debug
- Versioned
- Safe to extend
- Clear enough to test outside Fallout 4
Early Testing
The protocol should be testable using fake clients before being connected to Fallout 4.