Technology

Have a cup of Java.

Server

The main components of the game server are

The Server class is the starting point of the server. It handles the most basic tasks to get the game server up and running.

The ConnectionManager waits for a new client to make a connection and spawns a new Connection object.

The Connection class handles all network communication with the client. If configured it de- and encrypts the messages and validates them. If everything is ok it puts the messages on the queue.

All communication with the clients is done via Message objects which encapsulates the data and has only minor logic. It is mainly a data container. The type of message determines to which subsystems the message will be forwarded.

After the message has been validated by the Connection it will be put on the EventQueue. If configured the message will be validated by another MessageValidator. The queue may prioritize message depending on the implementation of the EventQueue.

The EventHandler class handles the messages and takes the messages from the queue and sends them to the registered subsystems.

Through the DataAccess class the subsystems accesses the backend for data.