it does on new version. (3-0 chars igrone)
It is the only buffer-based networking library on Roblox currently
it’s basically a library for reducing network bandwidth, it compresses data (serializes) before sending it over to the network, and once it arrives it is then decompressed to be read by scripts.
It’s very useful for when you need to be sending data every frame, even more useful for unreliable remotes since they have a 900 byte limit per packet.
Sick, now we have loads of different libraries for people to chose!
- Bridgenet2
- Red
- FastNet2
- ByteNet
That isn’t a use case
I usually have bad network from Etisalat by e&, so I don’t know if it will help
I think sending data every frame causes memory leaks, also I don’t really use unreliable remotes, the only one I have is the SetLookAngles
which is meant for MaximumADHD’s Realism
The use case is extreme optimization.
This is Roblox, sending a number and a string, 200 times a frame.
This is ByteNet’s serialization, using a uint8
. It’s not even a fair comparison, ByteNet is sending outright way smaller data because it gives you way more control.
version 0.1.2
Fixes
- Fixed not all data types being accessible
- Fixed absolute references being used instead of relative references, thanks auto-import…
version 0.1.3 (Oops)
Fixes
- Fixed not all data types having types
Hi, im interested in using your module because of the unreliable remotes. Could you maybe tell me how this is superior to BridgeNet2 or FastNet2? My usecase would be lots of remotes every frame for replication (CFrame related). And is this game-ready?
I’d say this is weird since this is made by the creator of BridgeNet2
No, Buffers are a beta feature and are not a released thing [this module uses buffers]
@ffrostfall Great library, love the implementation; some of the best net optimisations i’ve seen for rblx
Do you have any ETA for a roblox-ts NPM package for this, would love to use it in a project of mine, but i dont want to ditch rbx-ts.
An NPM package would be heavenly
So instead of working on the BridgeNet2 update (assuming)… he been cooking this. Interesting.
Can we send table with this module?
How does it compare against Bridgenet2 though?
What are you trying to send in a table that you can’t send after looking at the example?
Uhm what I mean is in the example
local myPacket = ByteNet.definePacket({
textField = ByteNet.dataTypes.string,
})
dataTypes must be defined. But let’s say I want it to be anything? How to do it?
local data = { Type: 'abc', Value: 'bcd' }
Packets.abc.send(data)
But also can be
local data = { Type: 'bcd', Value: 123 }
Packets.abc.send(data)
You’re not doing it correctly. You need to use :send not .send
Also, you’re not even defining the packets correctly. Look at the examples given:
I know its just typo. But my main point is if I want it without datatype, how? Because i wanna send number but also can be string or maybe a whole table?
Edit: Let’s say I want it to be like
local ByteNet = require(path.to.ByteNet)
local Packets = require(path.toPackets)
local data = {
whateber1: 8,
whatever2: 10
}
Packets.testingPacket:send({
name = "whatever",
value = data
})
Then how to define the packet?
I don’t think you’re even reading the example at all.
I’ve even checked the DataType module, that’s why I ask if we are able to define data types without any type… because even like in example TextField: data types string, what if sometimes i want text field to be number or anything else?
Like packets.samepacket.send({ TextField: 1 }) but maybe sometimes I want it to be packets.samepacket.send({ TextField: “a”}), how then? Explain it to me.
Define another packet then or another variable. You shouldn’t be hot-swapping parameters like that.