raknet. add_receive_hook Synchronous
RakNet.add_receive_hookRakNet.addreceivehookraknet.addreceivehook
Register a persistent callback for incoming packets. It is useful for observing an identified packet type or changing a packet before the game receives it.
Luau
raknet.add_receive_hook(callback: (RakNetPacket) -> ()) -> FunctionParameters
| Parameter | Type | Description |
|---|---|---|
callback | (RakNetPacket) -> () | Function receiving a temporary RakNetPacket view for each incoming packet. |
Argument fields
Luau
RakNetPacket = {
Data: buffer, AsArray: {number}, AsBuffer: buffer, AsString: string,
Size: number, PacketId: number, ID: number, Id: number, PacketID: number, Priority: number,
Reliability: number, OrderingChannel: number,
SystemIdentifier: string, Broadcast: boolean, ForceReceiptNumber: number
}Returns
FunctionThe same callback function, for later use with raknet.remove_receive_hook.
Usage notes
The RakNet library must be enabled in Environment settings and connected to an active game generation.
Callbacks must not yield. If a callback raises, Kawaii reports a warning and continues dispatching.
The RakNetPacket view is valid only during its callback. Save fields or copy Data inside the callback if you need them later.
Availability
RakNet is disabled by default. RakNet and raknet are removed when the setting is off; retained references can still call is_enabled().
Example
Luau
if raknet.is_enabled() then
local function onReceive(packet)
print("Received packet ID", packet.ID, "with", packet.Size, "bytes")
end
raknet.add_receive_hook(onReceive)
task.delay(5, function() raknet.remove_receive_hook(onReceive) end)
end