BridgeNet | Insanely optimized, easy-to-use networking library full of utilities, now with roblox-ts! | v1.9.9-beta

It uses optimizing modules, plus there’s no point in asking this when you could just look at the benchmarking.

?? bridgenet compresses the data which takes time, if they mean by transferring the data to client/server then yeah thats true

1 Like

If these optimizations for speed were possible without affecting how remotes work, why hasn’t Roblox implemented this as a default way of handling remotes on the server internally? Just curious.

2 Likes

Because BridgeNet uses one remote event. Firing a ton of multiple remote events takes longer than firing one remote event. The cost comes from heavy table manipulation.

1 Like

I have a to-do list for BridgeNet2. I’d say about 80% of this is implemented- it’s just writing middleware and a few other things.

2 Likes

I see. But zeuxcg ( a roblox admin ) once said that one remote event for everything would cause lag and multiple remote events would be better, (i cant find source currently)

You should make this a boolean in some config script

That may be the case if you naively use one remote event, this module handles it with built in rate limiting so you don’t exhaust the remote queue and don’t drop events.

In literally every other use case, using multiple remote events is better. He says that because using naive string identifiers will inflate bandwidth usage, and firing it too much will throttle your game.

But since BridgeNet is capped to firing it once per frame, and uses identifiers in a way to save data, the “drawbacks” to using one remote event are removed.

If I were to use multiple remote events, the data-saving part of the module would be gone.

4 Likes

Sorry to be the guy that asks, but what is middleware exactly? After looking it up on the internet I still don’t understand it.

1 Like

The simplest implementation is a piece of code that runs before the event is sent or handled to add/remove or otherwise mutate the data before the event is handled

1 Like

could there be a tutorial please :smiling_face_with_tear: :smiling_face_with_tear: :smiling_face_with_tear: (sorry wrong reply)

1 Like

Any updates on the rewrite yet?

You can see the progress here: GitHub - ffrostflame/BridgeNet2
I made the repository public- however, it is not ready for usage.

It feels like last week I wrote that post lol

5 Likes

is it normal that when i require the module it yields forever ?
script
image
output
image
and yes the module is in ReplicatedStorage


and i have this error all the time
my experience on this module is really really bad i don’t recommend it. It works 1 time on 2, it’s really sad that he doesn’t works because everyone say “omg its amazing for performance” but i would like to know if im doing anything bad on my script…
If you need something good and optimized just use 1 RemoteEvent and 1 RemoteFunction and you will have the same result…

you seem to be missing something…

the code should instance.new the autoserde

AutoSerde = Instance.new("Folder")
		AutoSerde.Name = "AutoSerde"
		AutoSerde.Parent = ReplicatedStorage

It probably is yielding for a while but it probably starts existing, its just a warning I don’t think its anything impactful

I added it but still working 1 times on 2, btw we don’t have to add a folder by ourself or just say it…

BridgeNet2 is nearing completion.

You can try out an extremely early alpha version using BridgeNet2 = "ffrostflame/bridgenet2@0.1.0".

It is not close to the final version, and many more improvements need to be made, however it is still higher quality than the current BridgeNet imo.

3 Likes

Can we see some benchmarks against BridgeNet V1?

I’m so excited! Been looking forward to it. I check every day for progress. I really wanna use it.

I’m so excited about The new version of BridgeNet. Now I’m curious about what the new version technically and structurally changed. Ex) How the new compression tech goes? or What the new file structure is?