[ARCHIVED] FastNet2 - a fast, efficient & lightweight network library

image

could you check there no Net folder before you test it

I checked and didn’t even create Net folder in the studio the problem is if the module create the Net folder on the client it won’t appears in the server perspective

should be server loaded it first the fastnet2 then client, i will made minor patch for this when server is lately load later

Client always load before Server due to latency

yes Client is first but client is first on request server to available the server then server load their system, assets and place then server accept client join the server

forgoy to say, Red benchmark result is no rateLimit set, no extra settings add and use default but due benchmark my studio was unlocked to 350 fps but not for FastNet2 and BridgeNet2, then idk if it would affect to the perform

Commit - 8.5

FastNet2 will not in roblox-ts or typescript thing, if you wanted to you can modify it as possible. FastNet2 will still get updates on wally.

If you using SignalBehavior to Deferred, you dont need to change the FastNet2 Functional API, but the problem is FastNet2 system receiver may not working on Deferred option, i havent tested this to Latest FastNet2. but previous version (idk which) that i tested for experimental deferred when signalbehavior announced which is working without any problem.

Bro I can’t even pass a number to the server
image
Even the client:
image

did u use RemoteFunction? or :Wait function?

I used RemoteEvent with Fire or Fires function

can i see the code you used?? ####

--!strict

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FastNet2 = require(ReplicatedStorage:WaitForChild("FastNet2"))

local testRemote: any = FastNet2:Create("Test", "RemoteEvent")
task.wait(1)
testRemote:Fires(1, 2) -- [FastNet2]: table or number idk XD
--!strict

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FastNet2 = require(ReplicatedStorage:WaitForChild("FastNet2"))

local testRemote: any = FastNet2:Create("Test", "RemoteEvent")
testRemote:Listen(true, function(...)
	print(...)
end)

Edit: I have to temporary wrap it as a table instead of tuple. This can cause FastNet2 fires twice

wdym by twice? could u explain?

Commit (8.6)

--!strict
--Server
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FastNet2 = require(ReplicatedStorage:WaitForChild("FastNet2"))

local testRemote = FastNet2:Create("Test", "re")
task.wait(5) -- Wait for 5 seconds
testRemote:Fires({2, 3}) -- This supposed to fire it at once
--!strict
--Client
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FastNet2 = require(ReplicatedStorage:WaitForChild("FastNet2"))

local testRemote: any = FastNet2:Create("Test", "re")
testRemote:Listen(true, function(...)
	print(...)
end)

Output:
image
cough cough FastNet2 still buggy
Edit: I will report any bug through direct message due to this post is devolving into tech support :skull:

your right, FastNet2 is still on dev version, once its on beta or stable will be on new post

which method you use that happen a twice fired? table or tuple

table

ohmygod30charactersissoannoying