ZNet - Buffer-based networking framework

Hello! I have been working on a networking module that i originally made for my own use, but i have decided to make it public for you guys to have more resources for your own development works.

ZNet, is a fast and straightforward buffer-based networking module with the main intention of ease of creating remote endpoints, and efficient remote compression/decompression. ZNet also currently supports RemoteFunctions (currently only Client->Server) for get requests, and UnreliableRemoteEvents for asynchronous communication. ZNet has support for tons of useful object types for micro optimizations, and support for heaps of commonly used roblox types/classes, as well as the ability to send extra raw remote data alongside compressed data (if provided). Types for each packet can also be either strictly constructed or dynamically constructed.

ZNet intentionally does not currently have any other primary remote optimizations other than compression/others, as its more intended
for the end user to handle their own sort of process for that in their applications (e.g. sending remote requests en-batch per frame in a stack to help reduce inconsistent traffic).

The benefit of not including too many also allows for more control over specific desired optimizations that the end user may want to implement with this.

^ ZNet does however have some built-on basic security features to further proof the system from exploiters sending malformed packets, preventing users from sending unusually large buffers, etc. RemoteFunction handlers also enforce pcalls to prevent exploiters from using errors to get server-sided script paths/names/stacktraces, etc.

For extra info and some basic documentation, you can refer to the README module inside the main module.

The module can be found here.

If you have any suggestions/feedback or have found any bugs/issues of any sort, do not hesitate to let me know in this thread

Cheers!

9 Likes

do you intend to make a documentation?

I plan on writing documentation later today

1 Like

I have just finished this, you can find them in the README

Just published a fix for the array, stringarray and shortstringarray types erroring