Server Entity-Relationship Diagram
Server Components:
Network:
Only one network exists in the system It abstracts the TCP/IP
layer of the system. Network performs all connection accepting,
connection closing, etc.
Connect:
One connect exists per client. The purpose of connect is to
encapsulate network connection for each client.
Client:
Spawned by network when a client connects. Each client uses a
separate thread. Keeps track of all of it's agents.
Agent:
One agent exists for each object in the world. An agent is
generally connected to a client, but can be maintained by the system
for server-side agents.
World:
Keeps track of all objects in the world. The world maintains
object relationships in the Object Database. It uses the Movement
Handler to track each agent's actions, as well as the Collision
Handler to handle collisions between agents. World is sent messages
through the Event Dispatch which, in turn, receives messages from the
network. Also, the Inventory System is used to keep track of agents
contained by agents.