Track Immersives Server Side
hammy275 opened this issue ยท 3 comments
Additionally, all immersive infos should be sent in a mega packet.
Both sides will keep tabs on immersives, but server sends item info directly and client only sends interactions
Dividing this into two parts:
- Server-siding the things. This means the server will now track what immersives are available to a client, add/remove storages for the client, and send storage information to the client directly, without the client asking. Clients will also track available immersives, but will NOT ask the server for storage contents. Instead, the server sends those.
- Mega packet-ing. This will be done by replacing the SimpleChannel with a wrapper that bundles up the packets into larger packets, adding an enum at the beginning indicating the packet type. On decode, we loop over the buffer, reading enums and calling the respective decode accordingly. At the end of each client/server tick after all other logic, the mega packet is sent.
Might change the order of things and only do mega-packeting, and save 1
for later.