RakNetPacket:SetData Synchronous

Replace the bytes in the current packet view before it continues through observers and transport. Use it when you know the exact encoded packet format and need a deliberate rewrite.

Syntax
Luau
RakNetPacket:SetData(data: PacketData) -> ()

Parameters

Call this method with a RakNetPacket receiver. The colon supplies self implicitly; a dot call must pass the receiver explicitly.

Function parameters
ParameterTypeDescription
dataPacketDataReplacement string, buffer, or dense 1-based array of bytes from 0 to 255.

Argument fields

PacketData fields
Luau
PacketData = string | buffer | {number}

Returns

()

No value.

Usage notes

The RakNetPacket view is valid only during its callback. Save fields or copy Data inside the callback if you need them later.

Data may contain at most 4 MiB. Replacing a real packet requires a protocol-correct payload.

Availability

RakNet is disabled by default. RakNet and raknet are removed when the setting is off; retained references can still call is_enabled().

Example

Example
Luau
if raknet.is_enabled() then
    local connection = raknet.OnPacketSend:Connect(function(packet)
        -- Copy the current bytes without changing their meaning.
        packet:SetData(packet.AsBuffer)
    end)
    task.delay(5, function() connection:Disconnect() end)
end
Kawaii documentation