celestial_spires/network

A small dependencyless module that makes networking easy using schemas.

Network

A small dependencyless module that makes networking easy using schemas.

Example Net

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local Modules = ReplicatedStorage:WaitForChild("Shared"):WaitForChild("Modules")
local Network = require(Modules:WaitForChild("Network"))

return Network.new({
	Health = Network.Options.number, -- Required Number
	IsAlive = Network.Options.boolean, -- Required Boolean
	Name = Network.Options.string, -- Required String
	Position = Network.Options.optional(Network.Options.Vector3), -- Optional Vector3
}, {
	Reliable = true, -- Whether or not to use Reliable/Unreliable remote events
	Parallel = true, -- Whether or not to run the callbacks in a separate task
})

Example Client Usage

TestNet:FireServer({
	Health = 100,
	IsAlive = true,
	Name = "Player1",
	Position = Vector3.new(0, 5, 0), -- This is optional!
})

TestNet:OnClientEvent(function(Data)
	print("Received data from server:", Data)
end)

Example Server Usage

TestNet:OnServerEvent(function(Player, Data)
	print("Received data from client:", Data)

    TestNet:FireClient(Player, Data)
end)