Let’s go! This update sounds great!
Here’s a fan-requested feature coming to the latest CreeperCLI update!
-
The ability to have
two_way_sync
for your projects.You can now automatically update scripts in Studio and they’ll automatically update in your editor of choice. (E.g., VSCode, Notepad, etc.)
Also, folder paths to any updated script will be made automatically. (If you want I can make a setting to disable that.
Use thecreeper.toml
file and add all the paths you wish to sync-back to. (You can addServerStorage/amogus
for example if you only want that to sync-back, and it won’t do that for other folders. (Keep in mind all descendants of a folder/object will be synced, although there’s a chance I add a setting for that if people want it)
(Here’s a sneak peak )
I think he will be releasing the update any time soon. Can’t wait!
- files can now be updated FROM STUDIO and they’ll update in your editor of choice
- scripts can now be inserted inside of other scripts
- directories can be converted into scripts ^^^
-
creeper.toml
got some updates to it’s settings
Two Way Sync
SCRIPTS NOW UPDATE WHEN YOU UPDATE THEM FROM STUDIO!
This now goes both ways. Just update a script in Studio and it’ll update when you go back to VScode (Any editor works, including notepad, I’ll just use VSCode for an example.)
(Fun Fact: It even recreates the folders/path.)
How to use this?
You’ll need to add the folder’s path to the two_way_sync
array in creeper.toml
(Look at Settings changes! down below)
THIS DOES NOT WORK FOR .json
and .toml
FILES.
It’s suggested you use .lua
modules instead for team-create games where changes like this are needed.
Script Directories
SCRIPTS INSIDE SCRIPTS!!!
You can now create a directory and add an init.*.luau
file and it’ll swap out the directory for a script.
Keep in mind that any object that was taking the place of the directory will be deleted and a new one will be created as a replacement.
Objects inside it will remain though, so you CAN put objects inside of scripts.
---------------->
creeper.toml
Added 2 more settings for your easy access.
-
two_way_sync :
array[string]
An array, which takes the path of the scripts which should have two_way_sync enabled. Any scripts inside the path (folder probably) will update the
.luau
files in VScode. Basically, if someone changes the Studio Scripts, it’ll update on your computer too. -
two_way_descendants :
boolean
Update all descendants of the path/folder, or only the children.
true
by default.
If it’s true then only the children of the path get synced back. Any scripts inside scripts, or inside objects won’t be considered and won’t be synced back.
It’s worth noting that this isn’t transpiling properly, for the TOML > Lua, specifically for arrays.
Using a string as the indexing factor for a table, ends up resulting in a key pair-esque table. You would want to use a number which would be an index pair-esque table.
For example, to index an array you would do: array[1], rather then array[“1”], although I am sure you’re already aware of this.
The transpiled lua “array” should simply be:
[“bruh”] = {“something”}
alternatively
["bruh"] = {
[1] = "something"
}
Oh you mean that toml transpiling turns number indexes into string key-pairs?
Thanks.
I’ve fixed it
Numbered arrays now make numbers.
Update the plugin to get the numbered arrays.
(You don’t have to reinstall anything)
Another cool addition (kinda useless tho) would be to have in studio a tree file directory of VS code, showing each script to compare the two editors
Honestly that does seem mostly useless.
Since you can literally see the update in real time.
It might have a use, but you probably don’t need to do that, since any errors would just make the tree not work.
Plugin Update
- MaxConnectionTries is now a thing. It’ll try to connect up to 3 times (approx. 10 seconds max).
It’ll also do the same thing for being disconnected. (This is to stop it from accidentally lagging and disconnecting.) - New
HttpEnabled
error/warning. Make sure to enable http access or writegame.HttpService.HttpEnabled = true
in the Command Bar.
Please update the plugin to get these changes.
Plugin Update
- Fixed connection breaking when you click Play.
- If CreeperCLI was previously connected before closing studio, it will try to reconnect when the game is reopened.
Please update the plugin to get these changes.
UPDATE v1.1.1
- Added custom roots
- Made the plugin disconnect less
- Plugin now attempts to reconnect when reopening the game (if you were connected while closing)
- Fixed connection time bug
- Some optimizations perhaps
- Notification changes
- CreeperCLI no longer attempts when you run/play the game. (It will continue updating only when you exist the game/running state)
(use root
to define a custom root directory, it’s “game” by default.)
why do we need literally third rojo?
Linux
Release (v.1.1.1)
The first Linux release has be added to the github post. I’ll try to keep up with Linux releases. (If I don’t, you can always compile it yourself.)
I don’t have Linux, so please send bug reports here. And feel free to create pull requests for any bug fixes you might be able to do. (The backend code is entirely Rust and crates).
I curently can’t compile MacOS (I don’t have one). You’ll have to do that yourself.
Can you add to the repository the Roblox plugin code as well? It might be there but I only saw the server backend code there
It’s hard to keep the plugin source code up there since the plugin updates are smaller.
I could make an .rbxm
file every now and then
Plugin Source Release
I’ll occasionally upload the plugin source code when needed (usually when there’s a version update).
You can find the .rbxm
file in the source code’s plugin
folder.
Plugin Update
- Fixed plugin not disconnecting when the server is closed.
- Changed
MaxConnectionTries
to 2 instead of 3 and removed the one second wait between them.
UPDATED SOURCE
Please update the plugin to get these changes.
- Added sourcemap
- Added auto-import modules. (using VSCode extensions)
- Fixed CreeperCLI disconnecting randomly.
- CreeperCLI will show a disconnected UI when the server is closed or cannot be connected to. (Will automatically disconnect after ~5 seconds.)
- Plugin source code is now available!
- You can now create OTHER OBJECT TYPES in creepercli and put scripts inside of them.
- Added pre-built Linux binaries. (Remind me)
Sourcemap and Auto-Import💡
We all know that autocomplete/intellisense is a big deal when programming. Hence sourcemaps are required. Using the Luau Language Server
vscode extension by JohnnyMorganz
will now let you have automatic code completion and module imports. (This works with embedded scripts too).
Other Object Creation🛠️
You can now create objects of other Class types. By creating a directory named name.classname
you can make an object with the name
and class being classname
. For example, a folder called hello.ClickDetector
makes a ClickDetector named hello. (You can put scripts inside them, but don’t initialize one).
Disconnect Screen⚠️
If you close the .exe
, then there’s a few seconds to reopen it. For that time, this UI will be shown to the user:
Plugin Source Code🧩
You can now find source code for the plugin in the Code on the github repo.
That’s pretty much all there is as of now. There are probably a bunch of bugs to report, so I suggest you do. (I check this pretty frequently).
UPDATE v1.2.1
- Added
update
command in creeper_cli.exe - Fixed some paths stuff
Updating CreeperCLI
You can now update creeper_cli.exe
by running the following code:
To be able to update it, please download the latest version of creeper_cli.exe
from the Github Releases page. (Version v1.2.1 or higher).
One more thing…
I’ll add some meta information about the custom objects that you can make. Stuff such as properties that can be added into meta.json
files or meta.toml
files inside the folders. Although I don’t know which to pick. (It could also just be called properties.toml
and I could just write all the properties from that.)
Rokit / Aftman / Foreman Support
You can now use Rokit
or any of the above toolchain managers to install creepercli.
Rokit is suggested since aftman is discontinuing support for Roblox.
To install CreeperCLI, use the following commands, the same works for Aftman:
rokit init
and by writing this in rokit.toml
creepercli = "creepersaur/creepercli-2"
then running rokit install
to install creepercli.
Running CreeperCLI after installing like this:
Just write creepercli
. Or whatever you named it in rokit.toml
MacOS Support is here!
MacOS darwin support is now here. You can finally use CreeperCLI on mac! (Keep in mind that I don’t have a Mac, and hence I cannot test it.)
All the binaries are automatically generated for each new release
I cant find the plugin source in the repo! Maybe u could add a folder named “plugin” and put the code there.