Revamped Remotes should not be used for actual projects (unless you really want to) at this time. Bugs, glitches, and possible bypasses can (doesn’t mean it will) occur at this time. Be warned! This is currently a proof of concept and this forum is to find bugs and bypasses and suggestions so I can fix them before I do a total “Use it for actual projects” advertisement.
This is also meant for newer developers, and as a quicktool so you don’t have to do it yourself.
Hey developers! Here I have created a ModuleScript called Revamped Remotes.
What does it do?
Revamped Remotes basically allows you to create Secured Remote Events and functions (soon).
When you create a Remote it will store its data within’ the module. When a player wants to fire this “remote” they must request a Temp Key for their user only. This Key can only be given by the server. Every time the Key is used, it is dumped and becomes expired and will also expire by the time you set. (Default, 5 seconds)
When the Key is in order. It will fire a Bindable event for proper use.
Cool. How do I install and use it?
You can install it here. Put it on your game and require it with a Serverscript.
Remember to check back here once in a while to check if there is an update. You can match the CURRENT VERSION in the Modules setting area with this below.
0.1-InDevBuild
You can learn to use it below in the Documentation.
Documentation
Something to note before we begin is functions are currently under development. Please do not try to use them.
The module has to be called on clients that need to Fire these remotes as their secured. The module will basically be the main connection.
(Don’t worry. The module has a Server, and client mode to avoid clients running or seeing server stuff)
Server > CreateEvent(name,eventtype)
Create event will allow you create secured RemoteEvents, or RemoteFunctions. You can supply a name, and a type. The type can be either “event” or “function”.
Here is a basic remote example.
local RR = require(game.ReplicatedStorage.RevampedRemotes)
local OurFirstRemote = RR:CreateEvent("NewRemote","event")
CreateEvent() > KeyRequest()
KeyRequest will return a BindableFunction that will fired when someone requests a key. You must then return true or false if they should or shouldn’t receive a key. This key will be ONE TIME USE and will expire after the set time in the Module (Default, 5 seconds). If a key expires it must be Rerequested.
local RR = require(game.ReplicatedStorage.RevampedRemotes)
local OurFirstRemote = RR:CreateEvent("NewRemote","event")
OurFirstRemote:KeyRequest().OnInvoke = function(player)
if player.Name == "Lakodex" then
return true --This will tell the Serverscript "Yes" to give them the key.
else
return false --The player was denied the key. The Remote main remote at EventFired() will not fire at all.
end
end
CreateEvent() > EventFired()
EventFired will be Fired once someone enters a Correct Key.
local RR = require(game.ReplicatedStorage.RevampedRemotes)
local OurFirstRemote = RR:CreateEvent("NewRemote","event")
OurFirstRemote:KeyRequest().OnInvoke = function(player)
if player.Name == "Lakodex" then
return true --This will tell the Serverscript "Yes" to give them the key.
else
return false --The player was denied the key. The Remote main remote at EventFired() will not fire at all.
end
end
OurFirstRemote:EventFired():Connect(function(player,arg1,arg2,arg3,arg4,arg5) --Fired only when someone fired the remote with the correct key.
print("Someone had a key and gave us a message! "..arg1)
end)
Client > GetRemote(name)
This will request Public Data on an Event. This data can be used to Request a key, or to fire the event.
Here is some example code to fire the event made in the Documentation “CreateEvent()”
local RM = require(game.Workspace.RevampedRemotes)
local remote1 = RM:GetRemote("fard") --This remote does not exist and will yield for 5 seconds until it eventually quits trying to find it. This is basically WaitForChild but for events.
local remote2 = RM:GetRemote("NewRemote") --This remote exists however. So it wont yield.
if remote1 then
warn("Remote1 exists")
end
if remote2 then
warn("Remote2 exists")
end
GetRemote() > Fire(key,arg1,arg2,arg3,arg4,arg5)
This will fire the access Remote. If the key is correct it will fire the BindableEvent that will perform the wanted task.
local remote = RM:GetRemote("NewRemote")
if remote then
remote:Fire("lolfardbucket","LOL i hackered your game") --The Key is incorrect. The Remote wont fire.
end
GetRemote() > RequestKey()
This will request a Temporary one use key to fire an Event.
The decision to give you a key or not is deciphered by the Developer.
local remote = RM:GetRemote("NewRemote")
if remote then
local key = remote:RequestKey()
remote:Fire("lolfardbucket","LOL i hackered your game") --The Key is incorrect. The Remote wont fire. Learn how to get the key in the Next part of Documentation.
wait(2)
remote:Fire(key,"lol I have a key >:). I only have this key because.. IM LAKODEX!")
end