RFC
R-THAAAAAAÏ network protocol documentation
Introduction
How work the update of the game
Every x ticks, all the game is resend to the client so that no roll back may cause a desync, else all the entities that have been updated are send. Packet types shouldn't represent where they come from, they should be universal.
Words and meanings:
EntityNetworkId -> 2 byte binary of the entity's ID
PosX -> 2 byte binary of the horizontal position
PosY -> 2 byte binary of the vertical position
Width -> 1 byte binary of the entity's width
Height -> 1 byte binary of the entity's height
TypeId -> 1 byte binary of the entity's type ID
VelocityX -> 1 byte binary of the horizontal velocity of entity
VelocityY -> 1 byte binary of the vertical velocity of entity
ClientName -> 4 bytes of chars that identify the player
OccupiedSlots -> 1 byte binary of the amount of clients already connected
Health -> 1 byte binary of the amount of health the player hasOrder of bytes:
In order to stay consistant with the information that is received and sent, we have decided to follow this template for all packets.
Universal
Keep Alive Request
Keep alive response request, asks the other side of the connection for a packet to ensure that it is still alive
Keep Alive Response
Response to the KA request
Client to Hub Server
In order for the client to connect to a room, they must first connect to the main server in order to get the current list of rooms.
Connection
Client connects to the hub
Request room information
Client refreshes server list
Hub Server to Client
Connection
Client connects to the lobby
Room info
Hub to Room
Hub connects to room for the first time
Room check
Room to Hub
Room info
Client to Room
Connection
Client connects to server for first time
Client sends an input to the Room Server
Moved player to position:
Client shot:
Client Charged Shot:
Room to Client
Connection
Server responds to client connecting for first time
Server updates on movement
Movement of Entity:
Server on player health
Health of player:
Server on wave counter
Wave:
Last updated