CreeperCLI 2 - A linker for Roblox

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 the creeper.toml file and add all the paths you wish to sync-back to. (You can add ServerStorage/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)
    Code_6mS9a4Uzro

(Here’s a sneak peak :shushing_face:)

2 Likes

I think he will be releasing the update any time soon. Can’t wait!

UPDATE v1.1.0

Crazy Upgrades :boom:

  • 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 :arrows_counterclockwise:

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 :scroll:

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.

Code_UuEP2jfWE8 ----------------> RobloxStudioBeta_46GZ1Ju9cz

creeper.toml :gear:

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.

Code_g1vAOfOyTi

Feedback! :loudspeaker:

I’m still thinking about adding custom directories. I stopped trying to make that happen for now to get this release out of the way. Give your feedback and bugs on this post (I read everything) and tell me what else you’d like to see with CreeperCLI! :+1:

CreeperCLI_logo
GitHub Creator Store
:sunglasses:

2 Likes

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"
}
1 Like

Oh you mean that toml transpiling turns number indexes into string key-pairs?
Thanks.
I’ve fixed it :+1:
RobloxStudioBeta_O8lZqrssbY

Numbered arrays now make numbers.

Update the plugin to get the numbered arrays.

(You don’t have to reinstall anything)

1 Like

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.

1 Like

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 write game.HttpService.HttpEnabled = true in the Command Bar.

Please update the plugin to get these changes. :+1:

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. :+1:

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)

Code_Ur8VaTmIOB
(use root to define a custom root directory, it’s “game” by default.)

CreeperCLI_logo
GitHub Creator Store
:sunglasses:

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.

:+1:

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 :+1:

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.

Code_kW4154OXj0

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.

:white_check_mark: UPDATED SOURCE

Please update the plugin to get these changes. :+1:

UPDATE v1.2.0

Huge changes :boom:

  • 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).
Code_kvGKkmRMXO


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).
Code_6UBo7fnJBq
RobloxStudioBeta_6ekdOweVeD


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:
RobloxStudioBeta_nOpuXO6y59


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).

CreeperCLI_logo
GitHub Creator Store
:sunglasses:

1 Like

UPDATE v1.2.1

  • Added update command in creeper_cli.exe
  • Fixed some paths stuff

Updating CreeperCLI :floppy_disk:

You can now update creeper_cli.exe by running the following code:

Code_9XKgipS4MA

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… :right_anger_bubble:

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.)

CreeperCLI_logo
GitHub Creator Store
:sunglasses:

1 Like

Rokit / Aftman / Foreman Support :toolbox:

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! :computer:

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 :+1:

I cant find the plugin source in the repo! Maybe u could add a folder named “plugin” and put the code there.