Connection and Disconnection

Connecting to a server

TODO: Discuss the process of connecting to a server, including the specific messages between the client and server. Discuss requirements when connecting via IP, as well as opening a port on the server. How are other clients notified, if at all, that a client has connected to the server? Discuss the process of a server confirming or denying a connection, and an example on how a server could check with an external resource to determine if a client should connect (such as checking with a database, steam servers, etc).

Unique Client Ids

TODO: Discuss how each client is assigned a unique id. How would the game logic on the server get this id, and how would it use this id?

Disconnecting from a server

TODO: Discuss the process of disconnectng from a server, including the specific messages between the client and a server. How are other clients notified, if at all, that a client has disconnected from the server? and the server kicking a client.

From the client

TODO: Discuss the different ways a client can disconnect: Connection timing out (in case of client crashing/closing abruptly) or the client requesting a disconnection

Kicking a client

TODO: Discuss how the server can kick a client