Features

Sometimes less is more.

Server

extendable system - The server software is extendable via plugins which can be loaded at runtime through a custom classloader.

dynamic event handling - Events are not hard coded in the server software but will be passed to the server with the subsystem. An event and the processing of such is coded in subsystems.

pluggable subsystems - Subsystems process the events generated from the client or the server and can generate message for the clients. Subsystems can be added at runtime to the system.

pluggable messages - Messages transport the event and the event data from client to server and the other way round. Messages are not harc coded in the server software but in the subsystems. Messages can be encrypted an are serialized Java objects.

pluggable zones (maps) - Zones (or maps) will be created via an extra client (ZoneCreator) and may be published through the client to various server.

message filter - Message filters can be combined to filter spamming messages for example.

monitoring via JMX - There will be an extra application for the monitoring of the server. It probably will be an Eclipse RCP application and the communication and monitoring to/of the server will be via the Java Management Extension (JMX).

no backend/database dependency - There will be no special backend or database for the data storing. Data can be stored in various ways. There must simple an Interface be implemented and configured.