raknet.send Synchronous

  • RakNet.Send
  • RakNet.send
  • raknet.Send

Submit an outgoing RakNet packet using data you already know is valid for the game’s protocol. Manual sends pass through your outgoing packet callbacks before entering the native queue.

Syntax
Luau
raknet.send(
    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. A connected peer is required; an invalid or empty payload raises an error.

A PacketOptions table supplies its own Data, Priority, Reliability, OrderingChannel, SystemIdentifier, Broadcast, and ForceReceiptNumber fields; positional settings 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 sendKnownPacket(validPayload)
    assert(raknet.is_enabled(), "RakNet is unavailable")
    raknet.send(validPayload, 2, 3, 0)
end
-- Call sendKnownPacket only with a packet encoded for this game's protocol.
Kawaii documentation