Thank you so much for this wrapper.
I have noticed that the wait time for a client/server response on events is very troubling sometimes. Since it flat out throws an error, a guy with bad internet could destroy your game. I think it should be removed completely unless thereās something in the backend Iām not aware of.
Hey! BridgeNet1 user here, I just got back into working on an old project and Iām happy to see thereās a new and improved BridgeNet2.
I found the github but not too much documentation other than the 5 pages I read. I just was wondering how easy it would be to transition from BridgeNet1 to BridgeNet2?
How much is plug and play, and how much would I have to go back to adjust old code (is something like āBridge:Connect(function()ā going to be the same?)
Thanks so much for the hard work, BridgeNet literally made my game playable at one point.
Feature parity should be very similar- youāll need to rename a few things, but other than that youāre fine.
version 0.3.0: 6/8/2023
- Added Hoarcekat support
- Massive internal re-structuring
- Renamed
FromIdentifierandFromCompressedtoSerializeandDeserialize - NumberToBestForm removed (feature bloat)
- StartLogging and StopLogging have been removed in favor of
object.Logging = - Logging now displays the packet size in bytes (using @PysephDEVās RemotePacketSizeCounter package)
- Compliant with strict Luau typing
- Type improvements
- Internally commented the entire project
- Removed SetSecurity and SecurityEnums in favor of
HandleInvalidPlayer - Literally dozens of bugfixes
This update took a hot second to make, and should put the project in a much better spot now. The only breaking changes this update are w/ .FromIdentifier and .FromCompressed, alongside the security functions.
Thereās a lot of other stuff I have to address with this project, but that will come later. Please notify me of any bugs, this was a massive update.
I will be updating the documentation eventually, however donāt expect it anytime soon. My main focus right now is to focus on fixing the glaring issues with the library. However now that the library is in a decent spot Iāll be focusing more on documentation/visuals.
I would like some more elaboration- what error exactly?
I am so excited thank you very much, i check everyday for updates lol
The āIdentifier reached max wait time, task not canceledā or whatever it was.
That should be fixed as of 0.3.0
version 0.4.0: 6/10/2023
Added
- Added
BridgeNet2.ServerBridgeandBridgeNet2.ClientBridgeconstructors- they are identical to ReferenceBridge, just with better types. The current ReferenceBridge will not be deprecated or affected by this. - Instead of being limited to tables, you can now pass any type into :Fire(). This means you can finally pass in nil values to :Fire() too.
Fixes
- Fixed rate limiting
- Re-added methods on the
Bridgetype to types
Improvements
- Added
Connectiontype toBridge:Connect()functions -
RateLimitActiveis now a public boolean that can be set by the user - Improved error messages
- Improved logger readability.
- I made a script to automate releases- there should hopefully be less inconsistencies with releases from now on.
As always, let me know any issues.
quick preview for logging:
Just wondering if there is a roblox-ts port for this yet? I would love to use BridgeNet2 for my projects.
This is a very good module but I have a problem.
Iām firing an event like this whenever a player presses a button:
Rebirth:Fire()
This should work, but no matter how many times a player presses the button, nothing happens.
But for example, if I fired an event before the rebirth event like this:
Event:Fire("")
Then the rebirth event would start working whenever I pressed the button.
Summary:
Firing an event with no arguments only registers if an event was fired with arguments previously
Sorry if my explanation was a bit iffy, hereās the repo file:
Repo.rbxl (73.0 KB)
Found the issue- was relying on the #table operator to get the length, when you canāt do that because it is extremely inconsistent when thereās holes in arraysā¦
Thanks for the bug report, this is an edge case. Fixing it
edit: holy hell
case 1
Output

case 2
Output
![]()
bro really pushed an update at 12:40 am
three updates in a row, nice. gonna have to work on my game today
peak development is at 12:30 am
I disagree. Peak development is at 3:00 am. Ignore all the trylodogytes that say ā3 am is cursedā you get reallllly productive that time and motivation and finish the game/package/library/framework in an INSTANT.
Hey, I was just wondering if .new has been replaced with the ClientBridge and ServerBridge thing? If so, how does the firing work for it now? Sort of a little confused with the documentation.
Help much appreciated!
BridgeNet2 has never had a public new function for ClientBridge or ServerBridge, itās always been prefixed with an underscore. ReferenceBridge is how youāre supposed to create bridges, ClientBridge() and ServerBridge() are just if you want slightly better typechecking.
I donāt think there were any major breaking changes in 0.4.0




