FastNet - a Fast, low-latency, efficience, low bandwidth usages & high-performance | Now with AES-128 bit for Security

Update v2.9.4 - Beta


  • Removed base64 (standard security)
  • Added new option on settings (EnchantSecurity : boolean, defaultly off)
  • EnchantSecurity Feature a Advanced Encryption for Security (AES-128 CBC, with secret_key autogenerated with up/low case alphabet, numbers & symbols which server & all clients have same secret_key and only generated once)

Note for using EnchantSecurity:
Performance may decreased so i recomanded to off it if you dont need some security and more performance
Why i use CBC cipher-mode? because it fast enough than others to encrypt & decrypt on newest/good processors and high-security
Why AES-128 bit? i want the encryption & decryption faster to finish the task


Known issue:

  • First arg received skipped to decrypt (only on RemoteFunction)
  • some received arg still on table packet (you may need to table.unpack if it still on table)
  • outdated rateLimit Handler

Short test on EnchantSecurity
to_encrypt = "I'm FastNet!, Hello!"

av.time result:
took ~0.026-0.033s to encrypt for once
took ~0.029-0.055s to decrypt for once
using os.clock()

below 0.1s seems fast but i would say it slow, because i tested it on spam multiple fire remote, i tried to optimize it but i only can reach 0.015s for the fastest, below 0.001s would be fast


Download here
FastNet.rbxm (33.6 KB)


I’m planning next update will fix rateLimit handler outdated and i think FastNet no longer will be updated anymore after few update/ver2.9.5 or ver2.9.6

3 Likes

Do you mean that FastNet will be discontinued or that you will lower on update frequency?

Releasing an update every 15-30 days would be more ideal than less than 3 days (so you have time for bugfixing and other priorities, and developers don’t have to change the module every day).

1 Like

discontinued for while i think, idk when i will continue it again whenever

Can you change the GitHub repo to include the project tree instead of a rbxm file? Mobile users won’t be able to read the source code.

Update | v2.9.5 | Beta


  • Optimized AES (EnchantSecurity)
  • Fixed AddLimit & AddLimitAll return false
  • Few Changes on API
  • :FireServer/FireClient to :Fire
  • :FireAllClients to :FireAll
  • :InvokeServer/InvokeClient to :Invoke
  • Queue system auto disabled when EnchantSecurity enabled for less hard workload, but RateLimit still enabled (Stability set for EnchantSecurity)
  • Other optimizes & changes
  • Removed few unused codes
  • (Other maybe i forgot)

Download here
FastNet.rbxm (33.5 KB)

this module in the Roblox Library is outdated

EDIT: :Listen() still broken on the client

Any suggestion/feedbacks For next updates?

well yes

-- Sever
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Network = require(ReplicatedStorage:WaitForChild("Network"))

Network:CreateRemote("RemoteEvent", "Remote1")
Network:FireAll("Remote1", {"Hello!"})
-- Client
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Network = require(ReplicatedStorage:WaitForChild("Network"))

Network:Get("Remote1"):Listen(function(player, data_receive)
	print(player, data_receive) -- IT DOESNT PRINT
end)

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

Capture

1 Like
  • 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)

1 Like

Sure, it’s optional but doesn’t do anything really. I was more asking how this compares speed wise to BridgeNet.