Skip to content

Getting Started

Packeteer provides type-safe packets, promise-based remote functions, and a clean schema-driven networking API for Roblox developers.

Installing Packeteer

The schema is where you define all packets that can be sent between the server and client.

When creating new module scripts containing schemas, it is recommended to put them all in a folder like “ReplicatedStorage/Networking/…”

local Packeteer = require(path.to.Packeteer)
return Packeteer.create({
Server = {
ServerEvent = Packeteer.event<<{ message: string }>>(),
ServerFunction = Packeteer.packetFunction<<{ message: string }, { number: number }>>()
},
Client = {
ClientEvent = Packeteer.event<<{ message: string }>>()
},
})

Related: Understanding Network Schemas

The Server and Client sections define packet ownership:

  • Server packets are used for server -> client communication.
  • Client packets are used for client -> server communication.

Packeteer must be started on the server once using initializeServer().

local Packeteer = require(path.to.Packeteer)
local NetworkingFolder = game.ReplicatedStorage.Networking
Packeteer.initializeServer(NetworkingFolder)