This is great! I really appreciate the amount of effort you have put in to create this and share it with the community.
Also, I admire your script editor theme. Is it possible for you to show what you’re using?
Thank you!
This is great! I really appreciate the amount of effort you have put in to create this and share it with the community.
Also, I admire your script editor theme. Is it possible for you to show what you’re using?
Thank you!
Thanks glad to know you like it. I’m working hard to turn Volt into a popular game development tool.
Here’s my script editor theme I provided it up above for someone else who was also interested in it
I would like to know how to get FiraCode in studio? I cant seem to find it
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.
oh yeah but still even if i just print toexecute w/o the loop it is still empty like the import isnt returning anything at all
Is SetUp.Server
directly in ReplicatedStorage
?
no but i changed the path and also i added a prt src in the core import module and it was printing the module
How do I add more paths to the module? Cause .Server in Replicated Storage is a bad idea cause someone can steal all my server code.
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.
This version is NOT backwards compatible and has substantial changes to core functionality.
A big bump, but I’d look into semver versioning.
A version that isn’t backwards compatible automatically makes it a major jump to 2.0.0
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.
This looks promising, would you recommend making every system in our game with executables? Or should we use a mix of regular scripting and executables?
Fully executables. There should only need one server and client entry point (e.g. one server script and one local script) in your game. That said for organization purposes I do sometimes find it nicer to have multiple local scripts to help group your executables based on what they do. None of this is enforced though so you can choose to do things how you like.
So how would you implement something like tools/weapons in this system? I’m still kinda confused on how I could use this in a game.