raknet.receive Synchronous

  • RakNet.Receive
  • RakNet.receive
  • raknet.Receive

Submit an incoming packet to the game from protocol-valid data. Use it only when the receiving side is expected to understand the payload; the packet passes through incoming observers.

Syntax
Luau
raknet.receive(
    data: PacketData | PacketOptions | RakNetPacket,
    priority: number?,
    reliability: number?,
    channel: number?
) -> ()

Parameters

Function parameters
ParameterTypeDescription
dataPacketData | PacketOptions | RakNetPacketNonempty string, buffer, dense byte array, PacketOptions table with Data, or live RakNetPacket.
prioritynumber?Optional priority 0–3; defaults to 2.
reliabilitynumber?Optional reliability 0–7; defaults to 3.
channelnumber?Optional ordering channel 0–31; defaults to 0.

Argument fields

PacketData fields
Luau
PacketData = string | buffer | {number}
PacketOptions fields
Luau
PacketOptions = {
  Data: PacketData, Priority: number?, Reliability: number?, OrderingChannel: number?,
  SystemIdentifier: (string | number)?, Broadcast: boolean?, ForceReceiptNumber: number?
}
RakNetPacket 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

()

No value.

Usage notes

The RakNet library must be enabled in Environment settings and connected to an active game generation.

The payload is limited to 4 MiB. An active peer and a previously observed packet source are required.

A PacketOptions table supplies its own packet settings; positional priority, reliability, and channel are ignored in that form.

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
local function receiveKnownPacket(validPayload)
    assert(raknet.is_enabled(), "RakNet is unavailable")
    raknet.receive(validPayload, 2, 3, 0)
end
-- Call receiveKnownPacket only with a verified incoming payload.
Kawaii documentation