ehm, .Start is literally not in the code. I think I might’ve uploaded the wrong version?
Could you take a screenshot of the BridgeNet modulescript itself? It should look like this:
Sure, here you go:
Yep, outdated version. It should be fixed.
oops.
Hi, with the most recent version of bridgenet, anything I run does not work.
I tried using my own code and the example code from the documentation, both return 2 errors.
attempt to call a nil value
From both the client and the server.
Not sure if this would be classified as a bug or I am doing something wrong, so decided to post here instead of making an issue on github
This is most likely because you’re using the .Start() functionality it previously had, which is now removed and it works as intended on require. Exact same error I got, tripped me up for a sec cuz the docs were outdated lol
yeeep. I will be updating the docs when 2.0.0 fully releases.
And likely adding this as a warn message lol
This is the first time I have actually had time to test BridgeNet’s capabilities, and the results are astonishing.
2-3KB receive on the server (using packetprofiler) and 50+ ping on the client while replicating 128 NPCs’ position per frame without implementing any additional optimization than what’s already provided.
i’m curious- can you try doing the same test with a 20hz replication rate? you should be able to just do Bridge:SetReplicationRate(20)
Most of the time, the packet size is 2840 bytes…
… and rarely it is 5680 bytes
and the ping is 50ms+ (50 → 60 to be specific)
However, when I ran the test again with replicationrate as 60hz, the results were the same. I will test both 20hz and 60hz using robloxs’ performance tab instead to double check accuracy.
EDIT:
I had maxRatePerMinute as 60 during the whole tests, so does it matter?
I don’t think maxRatePerMinute should matter- rate limiting is not added yet.
20hz should compress it more and have slightly less data size- could you print .GetQueue every heartbeat?
Do you mean ._returnQueue? I have 2.0.0-rc4 and that’s probably why I don’t have it.
BridgeNet.GetQueue()
- it should be in 2.0.0-rc4, it’s in BridgeNet itself, not the object.
I’m writing the documentation for 2.0.0 right now, actually.
I lowered the NPCs count to 4 so that my studio can handle the enormous prints’. Anyways, here is a picture of two getqueues calls.
(Can confirm it DOES go 10x faster)
I just want to ask one question. What Theories and Methods were used in this module? Like, Compressing tables to string, Optimization methods, Solving methods for Roblox remote problems, and so on. And, Tips for Remote Handling and Optimization would be welcomed too.
I could write a whole series of articles on what went into BridgeNet, and maybe I will at some point. But the basics:
- Individual byte compression
- Thread re-use
- Object-oriented programming
- Queueing
- Batching
- References
- Heavy table manipulation
Roblox-ts typings have been updated to 2.0.0-rc4, this is one of the last steps before 2.0.0’s full release. Let me know if there’s any issues!
I want you to ask for any tips for the following question. Are there any tips for networking with Class(Server) to Class(Client) Remote?
I’m using methods to make all needed remotes (divided as usage) for each Class ‘Instance’. It looks so weird and not optimized. And additional, What is the working method for this?