C9 Server-Client Connector

Download the module here.

Easy-To-Use Server-Client Connector

C9 is a module system that allows streamlined Server-Client connection. No more folders with thousands of RemoteEvents/BindableEvents/RemoteFunctions/BindableFunction (eesh)

Setup:

  1. Import the module into your studio, it should look something like this:
    image
  2. Relocate contents, module in ReplicatedStorage, Script in ServerScriptService like this:
    image
    image
    (either of these can be within folders or nested in some way under these services)
  3. Use away!

In-Script Usage:

  1. Reference:
    local C9 = require(game.ReplicatedStorage.Library.C9):new()
  2. RemoteEvent equivelant:
    C9:CreateEvent("REMOTE_EVENT_NAME")
    example:
    local Event : RemoteEvent = C9:CreateEvent("BallEvent")
  3. Calling the event:
    C9:Event("REMOTE_EVENT_NAME", TargetĀ¹, Parameters)
    example:
    C9:EVENT("BallEvent", "All"Ā²)

Remote functions are the same except :CreateFunction() and :Function

Ā¹ - Target is only necessary from server to client
Ā² - ā€œAllā€ target parameter fires it to all clients

2 Likes

What makes this different from other networking modules like Warp, Bytenet, and Bridgenet?

How is this streamlined connection? itā€™s just Like Event Based RPC made on top of Roblox remote events. Streamlined connection is what TCP provides to its above layers, the data goes out and in through a continuous data stream from which you can read to/from a specific amount of bytes.

Its neither like thatā€¦

I was using the term streamlined in the context of no overcomplications of the base system.

I find that a lot of existing systems have unnecessary methods of binding the server and clients, itā€™s just a personal opinion and I figured it might be helpful for someone

Iā€™d say ā€˜unnecessaryā€™ is an overstatement. Most popular networking libraries only need to be required to ā€˜bindā€™ the server & the client. The rest are simple functions like .Event or .Function & .CreateBridge. Each of these libraries also offer a compact amount of optimization in some way or form, I am unsure if this does because I havenā€™t reviewed the source & thereā€™s no information about it on the post.

This mostly just seems like a wrapper for the native remote events/functions. This is all coming from a constructive standpoint so donā€™t take it the wrong way.

Iā€™m sure this will be useful to someone

1 Like