Skip to main content

Packet

@1.0.0

Suphi Kaner's buffer-based networking library: declare a packet's types once, then fire and respond with typed values.

Packet is Suphi Kaner's buffer-based networking library, published here with a few quality-of-life changes. It replaces ad-hoc RemoteEvents with named packets whose parameter types you declare once. Values are serialized into a buffer (with a side list for instances), so payloads are compact and every send is checked against the declared types. Packets support fire-and-forget on both sides, server-to-one-client, and request/response with a timeout.

Use it when​

  • You send frequent small updates and want to cut bandwidth and avoid untyped remotes.
  • You want one file that declares every network message in your game, shared by server and client.

Install​

Studio Wally​

Using the Studio Wally plugin:

  1. Open the widget.
  2. Search kashtheking/packet.
  3. Press download and choose Shared module (recommended for almost every package).

Wally​

Add this to the [dependencies] section of your wally.toml, then run wally install:

Packet = "kashtheking/packet@1.0.0"
local Packet = require(ReplicatedStorage.Packages.Packet)

Dependencies​

None. The package is a single module with no dependencies.

Credits​

Packet was created by Suphi Kaner (original release on the DevForum). This is his library with a few quality-of-life changes by KashTheKing, published to Wally as kashtheking/packet. The design, the serialization engine and the bundled Signal, Task and Types modules are all his.

API​

Every constructor, method, property and type is documented on the Packet API page, generated from the doc comments in init.luau. Each entry links to its line in the source.

Help​

Questions and bug reports: the Discord or a GitHub issue. See Help & contact for everything else.