How flightgear/fgms works
FGMS is a standalone network server for FlightGear multiplayer: pilots use it to fly together over a network. The apparent runtime centers on server startup, configuration, multiplayer handling, and network communication, with tracking, administration, protocol support, and logging as supporting concerns. The README documents the user-facing workflow, but the server implementation files were not sampled; dashed, uncited links mark inferred runtime relationships rather than verified calls.
Main entry points: fg_server.cxx Multiplayer server · main.cxx Server startup · tiny_xdr.cxx MP protocol encoding · fg_cli.cxx Server CLI
Components 17
Server runtime
- Server startup
src/server/main.cxx - Server configuration
src/server/fg_config.cxx - Multiplayer server
src/server/fg_server.cxx
Multiplayer services
- Pilot tracking
src/server/fg_tracker.cxx - Flight geometry
src/server/fg_geometry.cxx - Server lists
src/server/fg_list.cxx - MP protocol encoding
src/flightgear/MultiPlayer/tiny_xdr.cxx - MP messages
src/flightgear/MultiPlayer/mpmessages.hxx
Network and administration
- Socket wrapper
src/plib/netSocket.cxx - Server CLI
src/server/fg_cli.cxx - CLI framework
src/libcli/libcli.cxx - Daemon control
src/server/daemon.cxx
Shared support
- Logging
src/simgear/debug/logstream.cxx - Windows CLI crypt
src/libcli/crypt-win.c - Compiler portability
src/simgear/compiler.h - Debug categories
src/simgear/debug/debug_types.h
Other components
- FlightGear pilots
Connections 15
- FlightGear pilots → Multiplayer server: connect over network
README.md - Server startup → Server configuration: loads configuration
- Server startup → Multiplayer server: starts server
- Multiplayer server → Socket wrapper: communicates over
- Multiplayer server → MP protocol encoding: encodes multiplayer data
- MP protocol encoding → MP messages: encodes messages
- Multiplayer server → Pilot tracking: updates tracking
- Multiplayer server → Flight geometry: uses flight geometry
- Multiplayer server → Server lists: uses server lists
- Server CLI → CLI framework: uses CLI framework
- Multiplayer server → Server CLI: exposes administration
- Server startup → Daemon control: controls daemon
- Multiplayer server → Logging: logs activity
- CLI framework → Windows CLI crypt: may use on Windows
- Logging → Debug categories: uses debug categories