PostService - Bridge between Client and Server securely!

PostService

NOTICE: PostService is in ALPHA release, expect more features to be added shortly!

PostService is a Roblox library that allows developers to easily bridge the client and server gap, securely and efficiently.

What are the benefits of using PostService?

There are many benefits of using PostService, below are a list of a few:

  • PostService securely executes methods, if a client tries to falsely fire a non-existing method, said client will be kicked.
  • PostService is optimized, it can execute code quite quickly.
  • PostService supports “bulk” firing, where you fire multiple methods from one event fire.
  • PostService allows you to both send data directly, as well as retrieve data.
    There are many more reasons you should use PostService than listed above, those are just some of the main reasons.

Is PostService easy to use?

Yes! PostService is very easy to use! Below is an example of how to use it!
Server script:

local PostService = require(game.ReplicatedStorage.PostService.PostService)
PostService.start()
local Server = PostService.get()
Server.add("TestArgument",function(player,argument1,argument2,...)
	print(argument1)
	print(argument2)
	print(...)
end)

Local Script:

local PostService = require(game.ReplicatedStorage.PostService.PostService)
PostService.start()
local Client = PostService.get()
Client.fire("TestArgument","Argument 1","Argument 2","Argument 3","etc")

That’s it! That’s all that needs to be done in order to setup and use the basics of PostService!

PostService Links:

Github Documentation: PostService Documentation
Roblox Model: PostService Model
Github Source Code: PostService Github

11 Likes

Nice resource, thanks! Though how would I go about disconnecting event signals?

Quite similar to the Comm module for the Knit Game Framework

That’s currently not implemented, but I do plan to add it soon. Additionally, Signals aren’t meant to be utilized by non-internal systems just yet.

While it may be similar as of now, it won’t be for long. I plan on implementing many more features very soon!

Why not just contribute to knit. It just seems like you’re re-inventing the wheel

I decided against contributing to Knit as I have plans to make this have a much different functionality than Knit, what you’re seeing right now is a very small piece of what I plan to do with this.

Is it better than using RemoteEvents? I mean i really need somethin that prevents exploiters from taking advantage of events being sent from local scripts to server… It will be wayy too chaotic.

I’d assume not. Based on the looks it seems to be some form of an AeroGameFramework-like system. It pretty much allows you to communicate between the server and the client easier without having to go remote by remote and add remote after remote to your game.

There is no way to get better communication functionality than Remotes, they should not be causing harm to your game. If your game is being abused via the usage of Remotes, that means that your game is lacking the proper security required to operate. That is your job to fix because it is always possible.

1 Like

This system uses RemoteEvents, it’s purpose is to make it so that you as a developer do not have to worry about creating individual remote events / functions, and you can just begin to code directly. This manages the remotes for you, as well as do other things.