feat: enhance NLPacketCodec with additional packet types and version handling

This commit is contained in:
MayaTheShy
2025-11-08 18:09:03 -05:00
parent 19870cdb4a
commit 63f5bf4186
2 changed files with 365 additions and 45 deletions

View File

@@ -13,45 +13,113 @@ namespace Overte {
// Packet types from Overte protocol
enum class PacketType : uint8_t {
Unknown = 0,
DomainConnectRequestPending = 1,
DomainList = 2,
Ping = 3,
PingReply = 4,
KillAvatar = 5,
AvatarData = 6,
InjectAudio = 7,
MixedAudio = 8,
MicrophoneAudioNoEcho = 9,
MicrophoneAudioWithEcho = 10,
BulkAvatarData = 11,
SilentAudioFrame = 12,
DomainListRequest = 13,
RequestAssignment = 14,
CreateAssignment = 15,
DomainConnectionDenied = 16,
MuteEnvironment = 17,
AudioStreamStats = 18,
DomainServerPathQuery = 19,
DomainServerPathResponse = 20,
DomainServerAddedNode = 21,
ICEServerPeerInformation = 22,
ICEServerQuery = 23,
OctreeStats = 24,
SetAvatarTraits = 25,
InjectorGainSet = 26,
AssignmentClientStatus = 27,
NoisyMute = 28,
AvatarIdentity = 29,
NodeIgnoreRequest = 30,
DomainConnectRequest = 31,
DomainServerRequireDTLS = 32,
// ... many more packet types
EntityAdd = 0x41,
EntityEdit = 0x42,
EntityErase = 0x43,
EntityQuery = 0x44,
EntityData = 0x45,
Unknown,
DomainConnectRequestPending,
DomainList,
Ping,
PingReply,
KillAvatar,
AvatarData,
InjectAudio,
MixedAudio,
MicrophoneAudioNoEcho,
MicrophoneAudioWithEcho,
BulkAvatarData,
SilentAudioFrame,
DomainListRequest,
RequestAssignment,
CreateAssignment,
DomainConnectionDenied,
MuteEnvironment,
AudioStreamStats,
DomainServerPathQuery,
DomainServerPathResponse,
DomainServerAddedNode,
ICEServerPeerInformation,
ICEServerQuery,
OctreeStats,
SetAvatarTraits,
InjectorGainSet,
AssignmentClientStatus,
NoisyMute,
AvatarIdentity,
NodeIgnoreRequest,
DomainConnectRequest,
DomainServerRequireDTLS,
NodeJsonStats,
OctreeDataNack,
StopNode,
AudioEnvironment,
EntityEditNack,
ICEServerHeartbeat,
ICEPing,
ICEPingReply,
EntityData,
EntityQuery,
EntityAdd,
EntityErase,
EntityEdit,
DomainServerConnectionToken,
DomainSettingsRequest,
DomainSettings,
AssetGet,
AssetGetReply,
AssetUpload,
AssetUploadReply,
AssetGetInfo,
AssetGetInfoReply,
DomainDisconnectRequest,
DomainServerRemovedNode,
MessagesData,
MessagesSubscribe,
MessagesUnsubscribe,
ICEServerHeartbeatDenied,
AssetMappingOperation,
AssetMappingOperationReply,
ICEServerHeartbeatACK,
NegotiateAudioFormat,
SelectedAudioFormat,
MoreEntityShapes,
NodeKickRequest,
NodeMuteRequest,
RadiusIgnoreRequest,
UsernameFromIDRequest,
UsernameFromIDReply,
AvatarQuery,
RequestsDomainListData,
PerAvatarGainSet,
EntityScriptGetStatus,
EntityScriptGetStatusReply,
ReloadEntityServerScript,
EntityPhysics,
EntityServerScriptLog,
AdjustAvatarSorting,
OctreeFileReplacement,
CollisionEventChanges,
ReplicatedMicrophoneAudioNoEcho,
ReplicatedMicrophoneAudioWithEcho,
ReplicatedInjectAudio,
ReplicatedSilentAudioFrame,
ReplicatedAvatarIdentity,
ReplicatedKillAvatar,
ReplicatedBulkAvatarData,
DomainContentReplacementFromUrl,
DropOnNextProtocolChange_1,
EntityScriptCallMethod,
DropOnNextProtocolChange_2,
DropOnNextProtocolChange_3,
OctreeDataFileRequest,
OctreeDataFileReply,
OctreeDataPersist,
EntityClone,
EntityQueryInitialResultsComplete,
BulkAvatarTraits,
AudioSoloRequest,
BulkAvatarTraitsAck,
StopInjector,
AvatarZonePresence,
WebRTCSignaling,
NUM_PACKET_TYPE
};
using PacketVersion = uint8_t;