RakNet

RakNet.add_receive_hook

Registers a callback for observed incoming RakNet packets.

Syntax

RakNet.add_receive_hook(callback: (packet: RakNetPacket) -> ()): function
Aliases raknet.add_receive_hook

Arguments

NameTypeDescription
callback(packet: RakNetPacket) -> ()Function called with each observed incoming RakNetPacket.

Returns

NameTypeDescription
callbackfunctionThe same callback function that was passed in.

Description

Registers a callback for observed incoming RakNet packets. The callback receives one RakNetPacket while the packet is valid. Registering the same closure again replaces its stored reference. The function returns the callback it was given.

Call it with 1 parameter(s): callback. The argument table explains which values are required and which ones only refine the behavior.

It returns callback (function). Use the returns table to separate successful values from nil results and recoverable errors.

Example

Observe incoming packets with a callback and remove the same callback later.

if not raknet.is_enabled then
    return
end

local function onReceive(packet)
    print(packet.ID, packet.Size)
end

raknet.add_receive_hook(onReceive)
task.wait(1)
raknet.remove_receive_hook(onReceive)

Types

RakNetPacket

Live packet object passed to RakNet hooks and packet signal callbacks. It is only valid during the callback that receives it.

SetData (data: string | buffer | {number}) -> () Replaces packet bytes and updates the packet id from the first byte, or 0 for empty data.Block () -> () Marks the packet as blocked.Ignore () -> () Alias that resolves to Block.AsString string Packet bytes as a Lua string.AsArray {number} Packet bytes as a 1-based array of numbers.AsBuffer buffer Packet bytes as a buffer.Data buffer Packet bytes as a buffer.ID number Packet id value. PacketId, PacketID, and Id resolve to the same value.Priority number Packet priority value.Reliability number Packet reliability value.OrderingChannel number Packet ordering channel value.SystemIdentifier string Packet system identifier as decimal string.Broadcast boolean Packet broadcast flag.ForceReceiptNumber number Packet receipt number.Size number Number of bytes in the packet data.