Completed:
- Modify whole codebase to enable tracking data of MULTIPLE clients. Framework assumes there is only client and server.
- Create generic registry for packettype-uint-netpacket dictionaries (
PacketRegistry.cs) - Unify first and critical packets by always sending IPEndPOint. Be it server's or client's. If it's server's, the server replaces the client's ip when replicating packets to other clients.
- Critical Packets NEVER delete. Right now they get deleted when acknowledged.
- Encryptation and Decryptation only works for one client and one server (Multi-client enabled)
- THERE IS NO SAVED IV'S REGISTRY (Implemented inside
NetworkRandomRegistry.csandNetworkMessageSecurity) - Network service reads method info on each packet received which is not ideal. Save method info then use it.)
Pending / On Hold:
- Find a work around for i++ and index++ in checksums so that I don't call arithmetic cpu module (On hold: decided to skip the bitwise replacement for now)
- Important packets dont delete after time (Decided they SHOULD delete after latency * n, keeping current logic intact)
DONE:
- Encryptation
- Encrypted Checksums
- Assembly separation
- Multiple clients (Framework updated for multi-client support)
- Checksums verification and declines
LEFT:
- Matchmaking
- Matchmaking ELO
- Server Instantiation
- Server Destruction
- Server Re-connect
- Matchmaker re-start
- Cube spawning
- Server Authoritative
- Client Authoritative