Multi-Server
From PX Documentation
NetDog is built on a flexible architecture where any node in the network can act as a client or server. Whilst this flexibility is present in the entire system, the multi-server solution relies on a separate Tracker server that balances loads across all servers in the game network - including all game servers, zones and database servers.
Tracker
The Tracker manages hand-offs between zones, across servers and also manages clients' initial connections with the game servers. The Tracker operates transparently to the user, game clients and servers are configured with the Tracker's port and then the rest is managed entirely by NetDog. There are three key Tracker functions:
- NDTInitTrackerServer() initializes the Tracker
- NDTGetTrackerChannel retrieves the Tracker's channel
- NDTShutdownTracker() shuts down the Tracker
All tracker tutorials can be found in the SDK - see Tracker, QuickWorld, and QuickWorldCubes.
Zones
Zones are regions within the game that reside on one server or are resolved through one port. NetDog does not make any constraints on zone configuration, so users can determine what criteria they will use to assign their zones - whether by terrain/map, number of players, number of objects, or other criteria.
The following are key zone management functions:
- NDGetDefaultZone() retrieves the default zone for the given object
- NDGetZoneIDByLocalRef() retrieves the zone ID from a given zone reference
- NDGetZoneLocalRefByID() retrieves the zone ID from a given zone reference
- NDConnectUserToZone() connects users to a specific zone
- NDOTransferToZone() transfers specific objects to a given zone
Zone Transfer and Zone management tutorials are best seen in the QuickWorld tutorial in the SDK.
See also Product Overview
