So when the open cloud engine API I started toying with the idea of making a studio less synced. Similar to Rojo but works from anywhere. After around a month I had a half working version in python, however python doesn’t run on phones. So I decided to move to GitHub, files are stored online and can be accessed anywhere. This is where I am today.
Can do
Fetch certain place where code has a high chance of being and create folders matching it the parenting
Update the scripts without needing studio to be open
Currently this project cannot:
Can't do
Will not have the instance names due to multiple names overriding files. Might make a workaround
Cannot update parts (Roblox limit)
After seeing the pros and cons you make think why you should uses this, well if you combined this with certain scripts like an in game workspace, something similar to codify and build tools. You could just make the parts in the game and then convert them all into code and place that in somewhere.
I am not the best JavaScript scripter so it may not be the most optimised.
Setup
(Assuming you know how to create an API key )
First thing you need to do is turn on team create an create API key for the engine api with the permission read and write, then give it an IP address of 0.0.0/0
Now head over to this repository and fork it.
Now on that repository go over to Settings → Secrets and Variables → Actions. The secrets need to be API_key ( your API key), PlaceId (place id of the game) and UniId (universe id of the game). Then press save
Fetching studio
Back in the code section of your repository go over to .github/workflows and create a file called update.now, then commit changes. This file will be deleted on completion.
Depending on how big your game is this should take around 4 - 5 minutes maximum however if you have a hundred different things in a hundred folders then it might take a bit longer.
Once completed (may need a page refresh) a file called game should appear and the first sub directory in that is all the places I thought code would most likely be (These are in plain text as you can’t create something in game so no duplicates)
Updating scripts
Every script should have a Source.lua file. To update the script just simply edit it and then commit.
After a about 2 minutes it should of updated
Using code space
So back again in the code section of your repository their should be a green button called code. Click on it then at the bottom you should see another button called code spaces. It will take you through creating one and then boom you have an online Vs code.
To make it easier (a bit, it seems to break half the time) install the extension Roblox LSP to help with the syntax and suggestions.
Errors
If you don’t think a commit or fetching studio has worked you can always check. Simply go to actions then the first action will either have 3 states green means successful, orange means on going and red means failure. If it is red click on it then you should see something called conditional_execution. Click on that again
That should show you everything that ran. If you just scroll down the list you should see one which has a red mark next to it. Open the drop down and if you can’t understand the error, send it here)
Thank you for reading to the end. I hope you do find a use for this, it is designed for small teams (1 - 4) person as can’t update a script whilst someone has it open
(sorry for waffling on)
Enjoy scripting P.S you needed studio to publish the change