simple buffer-based networking
In ByteNet, you don't need to worry about type validation, optimization, packet structure, etc. ByteNet does all the hard parts for you! Strictly typed with an incredibly basic API that explains itself, ByteNet makes networking simple, easy, and quick.
practical example of a packet's definition
packets.luau
local ByteNet = require(path.to.ByteNet)
return ByteNet.defineNamespace("example", function()
return {
vectorStringMap = ByteNet.definePacket({
value = ByteNet.dataTypes.map(ByteNet.dataTypes.vec3(), ByteNet.dataTypes.string())
})
}
end)
example of sending a packet to all clients
server.luau
local packets = require(path.to.packets)
packets.myPacket.sendToAll({
[Vector3.new(1, 1, 1)] = "10x less bandwidth than a remote!",
[Vector3.new(1, 2, 1)] = "oh wait, its way more than 10x less.",
[Vector3.new(2, 1, 1)] = "depending on how you use your data,",
[Vector3.new(1, 1, 2)] = "it could be 100x less!",
})
Not enough? here's more
No more RemoteEvents
ByteNet handles all instances for you; you don't need to worry about reliability type, parenting, etc
- As low-level as you can get
ByteNet lets you directly read/write data types such as uint32, buffers, in a way where the keys are abstracted away. Reap the benefits of a structured, strictly typed library, while retaining the benefits of hardcore optimization.