How does this work exactly? I have never used these types of modules before.
Desperately need the ability to destroy bridges. I create them over and over for sharing and updating data between the client and server.
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
FromIdentifier
andFromCompressed
toSerialize
andDeserialize
- 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.ServerBridge
andBridgeNet2.ClientBridge
constructors- 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
Bridge
type to types
Improvements
- Added
Connection
type toBridge:Connect()
functions -
RateLimitActive
is 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.