How thepie88/fo4_wrld works
FO4_Wrld is a Fallout 4 multiplayer mod targeting persistent-world play. A player launches a configured game client, which reports local state and gameplay events to the UDP server; the server validates and relays shared state, and each client applies remote-player and world updates through its native DLL and renders them in-game. The README documents position, pose, appearance/equipment, world-object, session, chat, and discovery capabilities. Several detailed subsystem links rely on README documentation because their source was not sampled.
Main entry points: server/main.py Game server · client/main.py Python client · client.cpp Native network client · engine_calls.cpp Engine calls
Components 22
Launch and setup
- Python launcher
launcher/main.py - Game orchestrator
launcher/orchestrator.py
Game client
- Native DLL
fw_native/src/dll_main.cpp - Ghost actors
fw_native/src/ghost/actor_hijack.cpp - Game hooks
fw_native/src/hooks/install_all.cpp - Engine calls
fw_native/src/engine/engine_calls.cpp - Appearance and pose
fw_native/src/native/appearance_recipe.cpp - World event hooks
fw_native/src/hooks/worldstate_hook.cpp
Networking
- Native network client
fw_native/src/net/client.cpp - Python client
net/client/main.py - Frida bridge
net/client/frida_bridge.py - Wire protocol
net/protocol.py
Authoritative services
- Game server
net/server/main.py - State validator
net/server/validator.py - World state
net/server/state.py - Snapshot persistence
net/server/persistence.py - NPC ownership
net/server/ownership.py - Master directory
net/master/main.py
In-game presentation
- In-game overlay
fw_native/src/render/overlay.cpp - Chat and names
fw_native/src/render/chat_overlay.cpp
Other components
- Player
- Fallout 4
Connections 24
- Player → Python launcher: starts client
- Python launcher → Game orchestrator: configures launch
- Game orchestrator → Fallout 4: starts game
- Fallout 4 → Native DLL: loads proxy DLL
- Native DLL → Game hooks: installs detours
- Game hooks → Engine calls: invokes engine
- Python client → Frida bridge: reads player state
- Frida bridge → Python client: returns readings
- Python client → Game server: sends client state
- Game server → State validator: validates events
- Game server → World state: updates authoritative state
- Game server → Python client: relays broadcasts
- Game server → Snapshot persistence: loads and saves snapshots
- Game server → NPC ownership: elects NPC owner
- Game server → Master directory: registers listing
- Python client → Master directory: requests server list
- Native network client → Ghost actors: dispatches remote updates
- Native network client → Appearance and pose: stores remote pose
- Native network client → World event hooks: dispatches world updates
- World event hooks → Engine calls: applies world changes
- Ghost actors → Engine calls: builds and positions actors
- Native network client → Chat and names: delivers chat
- Player → In-game overlay: uses in-game UI
- In-game overlay → Chat and names: shows chat