#pragma once #include #pragma pack(push, 1) struct PacketHeader { uint16_t size; uint16_t opcode; uint16_t flags; uint32_t request_id; uint64_t session_id; }; #pragma pack(pop) enum Opcodes : uint16_t { AUTH_REQUEST = 1, AUTH_RESPONSE = 2, REGISTER_REQUEST = 3, REGISTER_RESPONSE = 4, SERVER_LIST_REQUEST = 5, SERVER_LIST_RESPONSE = 6, HEARTBEAT = 7, ERROR = 8 };