As a Roblox developer, it is currently too hard to completely secure plugins in Roblox Studio.
Making plugins is a valuable tool for developers, however I’m surprised that there aren’t more ways to utilize them. One way to advance and promote creating plugins is to allow monetization and team plugins. I will touch on this later in the post.
You might ask yourself, why Filtering Enabled for plugins? Well, to simply put it: Security. Right now it’s extremely easy to copy plugins from other developers. If a server side of the plugin was run as a middle man between the place and the user, prevention of copy + re-uploading plugins would be possible.
As you would also know by now, team create has become widely used when creating games, which means more collaborative tools are required to make the process smoother. Allowing scripts to communicate to each other is currently difficult, not impossible though. Plugins like these are extremely handy and allow for information to be displayed to each user. One example I can think off the top of my head is a multiplayer script editor plugin.
Monetization is another factor to consider. This may be a whole new concept to you, but it’s not new. Google allows you to download extensions for paid money. You may not want to force users to pay for your plugin, but you could decide to add extra features to a plugin if a user contains a certain game-pass/etc. Back to security, it’s widely known that you can never trust the client. If we use our client to detect game-pass / t-shirt purchases, the local player can just lie about having it. This wouldn’t even require an exploit either, someone could just edit the plugins code to allow the extra features.
Adding server side support would block attempts at ‘fake purchases’ in whole. Server side would act as the middle man as explained before. The server could check for the purchase before passing on a script or returning a value. This would make most plugins alike much easier to create. The filtering enabled support would also better support client to client via server communication as well as client - server and server - client
How I suggest implementing the plugins:
I suggest for an option such as ‘Publish as Server Side Plugin’
This is how it would work:
1.Publishing plugins is the same as you’re used to: click the option called ‘Publish as Plugin…’
2.After you’ve published the plugin, you can now chose another folder in your place containing all of the server side scripts and upload as ‘Server side plugin’
3. When uploading a server side plugin, you chose the plugin you wish to apply a server side to. If a plugin doesn’t have a server side, it will stay the same as the strange Client-Server behavior.
Uploading the regular/ client side plugin:
Uploading a server side of a plugin:
I understand adding this feature would take a lot of work, but it would be incredibly handy for us developers. If there are any complications, please explain what they are in the reply section.