BridgeNet2, v1.0.0 | A blazing fast networking library for Roblox

bn2 batches remote calls together if they were sent in a frame, and wym disconnect connected rxsignals
and i dont think theres a noticeable delay

You may have not considered it yet because up till this point itā€™s only been teased, which is expected, itā€™s very very new and I would imagine it will take some time to develop a consensus on it.

That said, as of just a moment ago Unreliable Events were released. The first thing that came to mind is BridgeNet as I actively utilize this in my current projects. Do you plan on integrating Unreliable Events into your system in a future update? I believe it could be very advantageous for certain use cases and would love to see it.

4 Likes

Will BridgeNet2 support unreliable remote events in the future?

2 Likes

Canā€™t wait for BridgeNet to support Unreliable Events (Hopefully)

On a separate noteā€¦

Heres a quick function I made to be able to delete Identfiers:
(I wasnā€™t too sure how Identifiers worked, but I think this will correctly remove them, I tried to cover every basis)

-- In 'src'

RemoveIdentifier = if isServer then Server.removeIdentifier else nil,

-- In "Server"

function Server.removeIdentifier(name: string)
	return ServerIdentifiers.remove(name)
end

-- In "ServerIdentifiers"


function ServerIdentifiers.remove(identifierName: Types.Identifier)

	if fullIdentifierMap[identifierName] ~= nil then

		identifierCount -= 1
		identifierStorage:SetAttribute(identifierName, nil)

		fullIdentifierMap[identifierName] = nil

		for Name: string, Id: string in pairs(compressedIdentifierMap) do

			if Id == identifierName then 

				identifierStorage:SetAttribute(compressedIdentifierMap[Name], nil)

				compressedIdentifierMap[Name] = nil


			end
		end

	elseif compressedIdentifierMap[identifierName] ~= nil then

		local IdentifierName = compressedIdentifierMap[identifierName]

		identifierCount -= 1

		identifierStorage:SetAttribute(identifierName, nil)
		identifierStorage:SetAttribute(IdentifierName, nil)

		fullIdentifierMap[identifierName] = nil
		fullIdentifierMap[IdentifierName] = nil

		compressedIdentifierMap[identifierName] = nil

	else

		Output.warn('No Identifier exists with that string when trying to remove')

	end

end

Iā€™ve got plans for that dw, Iā€™ve started development but I need buffers to release first

10 Likes

Do you think you could add this in your next update?

And maybe a setting to toggle off all output logs?

When approximately are you planning on releasing this? Since i was on releasing the new update with UmreliableRemoteEvents along with my christmas update.

1 Like

What are bytes? Iā€™ve seen a class called that before but Iā€™ve never known what it does. What are packets? And what is the RemoteEvent throttle limit?

Iā€™m just getting in to the nitty-gritty of networking. That being said, wouldnā€™t setting Robloxā€™s Signal Behavior to Deferred essentially do the same batching that this library does?

can you update the documentation and make the tutorial more clear, when i try to call FireTo it doesnā€™t show and Iā€™ve required the module properly.

@ffrostfall Bro you need to cook on the next bridgenet2 update for unreliable events, or else FastNet is gonna continue cooking with no competition.

1 Like

i for some reasons get better performance withā€¦ normal remotes?

Are you testing it correctly? You really shouldnā€™t be getting better performance with normal remotes.

1 Like

idk i used the same datas with remotes and bridgenet2

i was sending it every frame, with remotes 5.5recv while with bridgenet2 i had 7 recv

image
iā€™m making a tower defense game, and i found that sending remotes like that is far more efficient in therm of recv (no ideas why) than most other methods (ex: sending a remote when a single tower shoots), i basically just send every tower that are attacking in the current frame to the client by like ā€œparentingā€ each towers id to the enemy id they are going to attack.

here in the image iā€™m sending it using bridgenet2 which somehow gives me worse recv than using a normal remote (i already said earlier the difference). No idea if it is due to some limit in therm of speed or smth like with remotes

Have you tried sending arrays instead of dictionaries? I believe thatā€™s where BridgeNet will outperform remotes.

If thereā€™s a bug with this Iā€™m cooked I wrote my whole game with BridgeNet :pray:

use Warp instead its 40% faster than bridgenet also bridgenet is discontinued i believe.

bridgenet2 is not discontinued, its just the OP (original poster) rarely update or forgot to update it on devforum, but it updates on Discord Server (Roblox OSS Community) & Github.

ok

This text will be blurred