RbxNet is a definition-based networking framework for Roblox, built in TypeScript, but also available in Luau. It simplifies the creation and management of networking in Roblox experiences.
- Create a definitions file of all your networking-based objects in your game. This is a single source of truth for your networking objects. No more tracking instances manually, or having to programmatically create them manually. Each network object is represented by an identifier you define, and by default is created on the server at runtime.
- Scoped namespacing - Networking objects can be namespaced, so you can group related networking objects for easier organization.
- Simple contextual-based API for fetching and using the networking objects.
<DefinitionObject>.[Server|Client].Get
To fetch objects from your definitions as usable objects.
- Ability to add middleware to your networking objects. Type checking, rate limiting, restricting, logging, you name it.
- RbxNet comes with
TypeChecking
,RateLimiter
andLogger
built-in.
- RbxNet comes with
*AsyncFunction
: Asynchronous networking remotes - Event-driven send/recieve messaging between server and client, with no pitfalls of regularFunction
s.- Asynchronous callbacks and methods: RbxNet is a roblox-ts native library, meaning it supports promises out of the box.
ExperienceBroadcastEvent
(v3.0): Experience-based broadcasting throughMessagingService
. Allows for uses like cross-server chat, server browsers and announcements.
Listed here are libraries based around, or useful to RbxNet.
Library | Languages | Description |
---|---|---|
EncryptedNet | Luau | Authenticated encryption of Roblox networking with ECDH key exchanges and ChaCha20 ciphering. |
Listed here are tools that are useful to RbxNet.
Tools | Type | Description |
---|---|---|
rbxts-transform-guid | TypeScript Transformer | Generates compile-time GUIDs for Enums. Useful for compile-time remote ids. |