How gusmarcum/fallout2-coop works
Fallout 2 Co-op is a multiplayer game: each player runs a client, while a dedicated server owns and persists the shared world. The main workflow is players joining, sending actions, and receiving updates from that authoritative world. The README documents major gameplay additions, including trading, revival, party-wide XP, quicksave/load, and companion orders. Paths are based on the supplied tree; where source was not sampled, documented features are represented without speculative internal call links.
Main entry points: server_loop.cc Server loop · server_net.cc Server networking · client_net.cc Client networking · server_admin.cc Admin controls
Components 23
Game runtime
- Dedicated server
src/server_main.cc - Server loop
src/server_loop.cc - Client entry point
src/main.cc
World simulation
- World and maps
src/map.cc - Game scripts
src/scripts.cc - Script interpreter
src/interpreter.cc - Combat and AI
src/combat.cc - Dialogue
src/dialog.cc - Worldmap
src/worldmap.cc
Multiplayer services
- Server networking
src/server_net.cc - Client networking
src/client_net.cc - Accounts and seats
src/server_accounts.cc - Connected players
src/server_players.cc - Player trading
src/server_trade.cc - Admin controls
src/server_admin.cc
Client experience
- World presentation
src/client_present.cc - Game interface
src/game_ui.cc - Player input
src/input.cc - Game data import
os/android/app/src/main/java/com/alexbatalov/fallout2ce/ImportActivity.java
Persistence
- Save and load
src/savegame.cc - Savegame coordination
src/loadsave.cc
Other components
- Players
- Server operator
Connections 24
- Players → Client networking: send actions
- Client networking → Server networking: transmit actions
- Server networking → Server loop: dispatch messages
- Server loop → Dedicated server: run world
- Dedicated server → Server networking: send updates
- Server networking → Client networking: deliver updates
- Server networking → Accounts and seats: manage sessions
- Server networking → Connected players: track connections
- Server loop → World and maps: advance world
- Server loop → Game scripts: run scripts
- Game scripts → Script interpreter: execute commands
- Server loop → Combat and AI: resolve combat
- Server loop → Dialogue: process dialogue
- Server loop → Worldmap: process travel
- Server networking → Player trading: dispatch trade
- Server networking → Admin controls: dispatch commands
- Server operator → Admin controls: issue commands
- Admin controls → Savegame coordination: request load
- Server loop → Savegame coordination: save or restore
- Savegame coordination → Save and load: read or write
- Client networking → World presentation: update display
- Client entry point → Game interface: start interface
- Game interface → Player input: collect actions
- Players → Game data import: select game data