| 4 | The image below displays the basic concept of the Network Engine: |
| 5 | |
| 6 | [[Image(conceptoverview.png, 100%)]] |
| 7 | |
| 8 | The basic jobs of the Network Engine are: |
| 9 | * Synchronise all objects of the universe between server and clients |
| 10 | * Provide a chatting mechanism |
| 11 | * Transmit all neccessary information about the players (nickname, score, ...) |
| 12 | |
| 13 | 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). |
| 16 | This is a description of the important network components and/or classes: |
| 17 | |
| 18 | || '''Component''' || '''Description''' || '''Classes included''' || |
| 19 | || [wiki:network/Host Host] || Interface class of the Network Engine || Host, Server, Client, ClientInformation || |
| 20 | || [wiki:network/Gamestate Gamestate] || Management of the object information to be synchronised || GamestateHandler, GamestateManager, GamestateClient || |
| 21 | || [wiki:network/Packet Packet] || Management of the data to be transmitted || Packet, Acknowledgement, Chat, ClassID, DeleteObjects, Gamestate, Welcome || |
| 22 | || [wiki:network/Connection Connection] || Management of the network connection between server and client || ConnectionManager, ClientConnection || |
| 23 | || [wiki:network/Synchronisable Synchronisable] || Interface class for all network objects, that need synchronisation || Synchronisable || |