Skip to content

syn-developmentlabs/BufferNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BufferNet: an easy roblox networking api wrapper with bufferization

By @goldenshard2498, for any questions or inquiries; contact my discord

PSA: buffernet is a POC (proof of concept), do NOT use in production. JSONification is very unoptimized and may break.

Configuration

  • BLANK_REMOTE_NAMES: boolean
    enable anonymization of remote names for enhanced security.

Functions

initCommunications()

Private

Initializes the networking structure on the server by creating a "Communications" folder in ReplicatedStorage, with "Remotes" and "Functions" subfolders.

init()

Client only
Yields

Initializes BufferNet on the client. Waits for the server to set up communications, then registers and anonymizes remotes and attributes if enabled.

Methods

CreateRemoteEvent(name: string, callback: (any) -> (), ratelimit?: number)

Creates a RemoteEvent in the Communications folder.

  • name: Remote event name.
  • callback: Function called when the event is fired.
  • ratelimit: Max fires per second (default: 0, unlimited).

CreateRemoteFunction(name: string, callback: (any) -> (), ratelimit?: number)

Creates a RemoteFunction in the Communications folder.

  • name: Remote function name.
  • callback: Function called when invoked.
  • ratelimit: Max calls per second (default: 0, unlimited).

FireServer(alias: string, ...)

Client only
Fires a remote event on the server.

  • alias: Remote event alias.
  • ...: Serialized arguments sent via buffer.

InvokeServer(alias: string, ...)

Client only
Invokes a remote function on the server.

  • alias: Remote function alias.
  • ...: Serialized arguments sent via buffer.

Security

  • remote names are anonymized so skids have to use getgc or other built-in exploit functions just to access your remotes.
  • ratelimiting, diffrent rate-limits per remote.

Serialization

Your strings in tables should not have any characters that would break JSON serializiation such as [, \ and more unclosed brackets.

Caution

NEVER trust the client. BufferNet provides you basic security such as anonymization but this does not mean that you should be careless about serverside security checks.

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages