Okay so you fireall in server but the server created first then player loaded their guis & scripts in gui
I think this problem on encoding data
The update will be released tmr
Not trying to be rude, but is there any real reason to use this over BridgeNet?
Very cool module. However doing so much work and than flat out discontinuing it later temporary will kinda make this module pointless.
What if there are bugs?
What if there is an major one even?
What if it stops working due to an Roblox Update? (Highly unlikely but still.)
What if an method that the module uses is deprecated by Roblox?
I said already before i discontinue for while doesnt mean forever
- More secured with AES (very hidded secret key, optional on settings)
- Low bandwidth usages (Highly compressed, the smallest is 2 bytes)
- Custom RateLimit to Player
Pretty sure there won’t be lower bandwidth and encryption probably won’t help.
Encrypting with AES only for higher secure its optional (defaultly are disabled, that mean you can enable it manual on inside module settings
Update v2.9.5 - Patch 1 | Beta
- Added back base64 encode/decode with optimized & better version (dont run when EnchantSecurity enabled)
- Fixed Listen & WaitForListen
- Changed :CreateRemote to :Create
Download here (v2.9.5p1-Beta)
FastNet.rbxm (34.7 KB)
Sure, it’s optional but doesn’t do anything really. I was more asking how this compares speed wise to BridgeNet.
Update v2.9.6 release in 1 or 2 days, (bug fix & some new feature)
APIs & GUIDES is kinda outdated
Update | v2.9.6 | Beta
- Fixed WaitForListen & Listen (On RemoteFunctions)
- Added :Connected(message)
local x = FastNet:Get("Remote1")
x:Listen(function(x)
end):Connected("Remote1 Connected!")
remember this :Connected(x) function only works on non-invokes remote (like RemoteFunction)
- Added :Retry(keepRetry : boolean)
local x = FastNet:Get("Remote1")
x:Listen(function(x)
end):Connected("Remote1 Connected!"):Retry(true) -- will keep retry to connect, for just once retry make it false
this :Retry doesnt support invokes remote & WaitForListen that mean only for RemoteEvent & :Listen
- Firing Remote Task now bit quicker to finish
- Other maybe i forgot
Download here (v2.9.6 Beta)
FastNet.rbxm (35.5 KB)
The previous issue is still here
-- SERVER
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FastNet = require(ReplicatedStorage.FastNet)
if not FastNet:IsExist("DefaultServerSoundEvent") then
FastNet:Create("RemoteEvent", "DefaultServerSoundEvent")
end
task.wait(5)
print("AAAAAAAA") -- Print the remote has already fired
FastNet:FireAll("DefaultServerSoundEvent")
-- CLIENT
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local FastNet = require(ReplicatedStorage.FastNet)
FastNet:Get("DefaultServerSoundEvent"):WaitForListen(0, function(...)
print("A")
end):Connected("Co")
firing without args doesnt support for all version FastNet but i will make it supported next version and a new feature, im making it rn v2.9.7 Beta
Update | v2.9.7 | Beta
- Firing without args now supported
- Added :Return on :WaitForListen & :Listen (not support for server & remotefunctions, only for Client and RemoteEvents)
-- SERVER
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local FastNet = require(ReplicatedStorage.FastNet)
if not FastNet:IsExist("DefaultServerSoundEvent") then
FastNet = FastNet:Create("RemoteEvent", "DefaultServerSoundEvent")
end
FastNet:Listen(function(...)
print("F")
end):Connected("E")
task.wait(12)
repeat task.wait() until #Players:GetPlayers() > 0
print("AAAAAAAA") -- Print the remote has already fired
FastNet:FireAll("DefaultServerSoundEvent")
-- CLIENT
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local FastNet = require(ReplicatedStorage.FastNet)
FastNet:Get("DefaultServerSoundEvent"):WaitForListen(0, function(...)
print("A")
for i=1,3 do
task.wait(0.5)
end
print("p")
end):Connected("Co"):Return() -- return fire to server with no args as finished
Your also can do :WaitForListen(0, func() end):Return(any), return uses remoteevent to server return function only fire when above task done
- Minor Improvement
Download here (v2.9.7-Beta)
FastNet.rbxm (36.7 KB)
Adding :Return() is kinda like a good idea to use it over InvokeClient because RemoteFunction is slower than RemoteEvent
any suggestions/feedbacks/ideas for next updates?