- The product that Nevrax is developing handles multiple instances of the game world running on different server sets (known as 'Shards') with a single centralised login manager.
- The login manager must:
- Receive login requests from client machines
- Validate login requests with the account management system
- Provide the client with the active shard list
- Negotiate a connection with the shard of the client's choice
- Dispatch the shard's IP address and a unique login key to the client
- The login manager must refuse attempts to login multiple times under the same user account. This implies that the login manager must be warned when players log out.
- The login system should include client and shard modules that provide a high level interface to the login manager, encapsulating communication.
- No choice has been made as to what solution to take to account management at NeL.
- It is sufficient to know that we need a standard API for the account management system capable of validating logins.
Layer 4 (Top Layer) Inter-Service message addressing layer. Handles routing of messages to services, encapsulating connection to naming service and handling of lost connections.
Layer 3 Message management layer. (Handling of asynchronous message passing, and callbacks)
Layer 2 Serialised data management layer. Supports the standard serial() mechanism provided by NeL for handling data streams.
Layer 1 Data block management layer. (buffering and structuring of data with generic serialization system). Also provides multi-threading listening system for services.
Layer 0 (Bottom Layer) Data transfer layer. Abstraction of the network API and links (PC may be across a network, or local messaging)
Layer 0 includes the following classes: