Files
Commonwealth-Online-Public/docs/architecture.md
T
2026-05-30 18:13:54 +12:00

49 lines
1014 B
Markdown

# Architecture
## Main Components
### F4SE Plugin
The native plugin is responsible for:
- Loading into Fallout 4
- Reading local player state
- Sending local player data to the server
- Receiving remote player data
- Applying remote player updates safely
### External Server
The server is responsible for:
- Accepting client connections
- Assigning player IDs
- Receiving player state
- Broadcasting player state
- Tracking disconnects
### Creation Kit Plugin
The Creation Kit side is responsible for:
- Test cells
- Placeholder actors
- Optional Papyrus helper scripts
- Debug objects
- Controlled test environments
## Threading Model
Networking should run separately from game update logic.
Recommended approach:
```text
Networking thread receives packets
Networking thread stores remote player state
Game update reads remote player state
Game update applies actor movement
```
The networking thread should avoid directly modifying Fallout 4 game objects unless the operation is known to be safe.