= Network = === Overview === The image below displays the basic concept of the Network Engine: [[Image(conceptoverview.png, 100%)]] The basic jobs of the Network Engine are: * Synchronise all objects of the universe between server and clients * Provide a chatting mechanism * Transmit all neccessary information about the players (nickname, score, ...) The server and client components manage all the other network components. They call all necessary functions every network tick (not exactly the same as a game tick). === Components === This is a description of the important network components and/or classes: || '''Component''' || '''Description''' || '''Classes included''' || || [wiki:network/Host Host] || Interface class of the Network Engine || Host, Server, Client, ClientInformation || || [wiki:network/Gamestate Gamestate] || Management of the object information to be synchronised || GamestateHandler, GamestateManager, GamestateClient || || [wiki:network/Packet Packet] || Management of the data to be transmitted || Packet, Acknowledgement, Chat, ClassID, DeleteObjects, Gamestate, Welcome || || [wiki:network/Connection Connection] || Management of the network connection between server and client || ConnectionManager, ClientConnection || || [wiki:network/Synchronisable Synchronisable] || Interface class for all network objects, that need synchronisation || Synchronisable || === External API ===