Await() function to wait for an executable being executed after to complete. Helps break the strict linear control flow and allow for web-like branching out. This is the first in a series of methods to help accomplish this.
function import(location)
local args = location:split('/')
for index, object in next, game:GetDescendants() do
if object:IsA('Folder') and object.Name == args[1] then
if not args[2] then return object end
if object:FindFirstChild(args[2]) then return object:WaitForChild(args[2]) end
end
end
return nil
end
This is actually super interesting and might move to this. I would recommend making a discord server to ask questions and other stuff. And also what ihovac said, add more modules. Keep up the good work! It has a ton of potential
local volt= require(game.ReplicatedStorage.Volt)
local toexecute = {volt.import('SetUp.Server')}
local children = game.ReplicatedStorage.executables:GetChildren()
for i = #children ,1,-1 do
toexecute[#toexecute+1] = volt.import(children[i].Name..'.Server')
end
volt.Server.Execute(toexecute)
local setup = volt.import('SetUp.Server')
for some reason import isnt returning i printed to execute and it was empty so was setup pls help
Your loop is overriding your original SetUp.Server.
local volt= require(game.ReplicatedStorage.Volt)
local toexecute = {volt.import('SetUp.Server')}
local children = game.ReplicatedStorage.executables:GetChildren()
for i = 1, #children, 1 do
toexecute[i+1] = volt.import(children[i].Name.. '.Server')
end
volt.Server.Execute(toexecute)
Also you shouldnât be importing SetUp.Server again not sure why youâre doing that.
Regardless of people having access to your source code, exploits are primarily client-side meaning your code is technically secure. It canât be executed on the server.
They can still just search about the framework I am using and just Execute the scripts. Also they get access to my links for HTTP request and that is un-safe.
You can still interact with Volt outside of executables. When you require() Volt you get access to all executables as they get executed. So you could just have a server script in ServerScriptService to handle your HTTP requests. E.g.
local Volt = require(game.ReplicatedStorage.Volt)
Volt.Server.Await('SomeExecutable'):andThen(function()
-- call SomeExecutable's DoStuff function
Volt.Server.SomeExecutable.DoStuff()
-- do some other HTTP stuff
end)
Volt doesnât attempt to restrict you to just executables and provides you with tools to interact with normal scripts as seen in the above example.
EDIT: Regarding security, version 1.1.0 has a few new settings in the config that will limit some features but provide more security for bridges as well as executables in general.
Weird I actually thought semver said a minor version jump is when an update is not backwards compatible but looking back on it actually says its for deprecation so thatâs my mistake. Fixing the versioning everywhere will be an absolute pain Iâll change the major version number for the next update but thanks for the heads up.