Link
Extremely simple (~50 lines) networking library that allows you to put all your remotes inside a single ModuleScript in a quick and possible way.
Motivation
People who like having all their remotes in a single ModuleScript in order to have only one source of truth usually run into a problem:
local Remotes = {
SendMessage = Instance.new("RemoteEvent"),
}
return Remotes
That code simply does not work at all.
Reason is, since it is meant to be accessed by both the client and the server, both environments create their own version of the RemoteEvent. If, on the client-side, SendMessage points to a RemoteEvent that is different from the server-side one, they simply aren’t linked together at all, thus not working.
Now, if we replace Instance.new("RemoteEvent")
with Link.event()
, the RemoteEvent, this time created with Link, will be the same between the client and the server, thus making the code work as expected (explained in the documentation).
Other Libraries
Why did you choose to create your own instead of using other similar libraries available, like EasyNetwork or Rbx-Net? Basically, at least the ones I know about, are too complex for the simple project I had in mind or are written in a way that doesn’t match it.
Custom signals, multiple ways of firing them, too much abstraction, and maybe more, were all things I didn’t really need and added extra overhead to my lil simple project.
Installation
Studio: Link - Roblox
Wally: Wally
Documentation
Yes, documentation for 2 functions (: