Elite Dangerous Networking & netcode
Elite Dangerous uses a “hybrid” server approach for handling the shared & persistent universe that all players play in.
- Some core functionality - e.g. the market simulation - are handled by central servers
- Player-to-player interactions are done on a peer-to-peer basis
The rationale is that this allows for lower latency when interacting with other players, while non-latency sensitive aspects like the market simulation can be done by backend servers.
You can view your current network bandwidth consumption by pressing Ctrl-b.
Instancing is effectively the automatic creation (or instantiation) of a small game servers (“instances”) for groups of up to a minimum of 32 human players (potentially more), and an unknown number of AI players. There is no set in-game size of an instance - it is just a limit on the number of players that can know about each other (e.g. visual range) or interact with each other at the same time - and there could be millions of players in the same system but because not all players can interact (e.g. opposite sides of the system) they can be in entirely different instances. There is not a finite number of instances, or one instance per station etc - it is completely dynamic.
Moving around in space will cause you switch instances as required, based on which players are around you. The switch is seamless & invisible.
As player-to-player interaction is handled in peer-to-peer fashion via instances, consideration will be taken into account for player's physical locations (e.g. UK to UK would be preferred over a UK to Australia connection) to try to reduce latency to a minimum when the central server is matchmking clients and creating instances.
The lag of a single player will not cause lag for other players in the instance, unless the laggy player is the instance host. Likewise, the local frame rate of your game play is unrelated to your network connection.