The Plugin API is a set of functions & data that are available to plugins. It is used to interact with RocketCore and its features. This API is provided as the first argument to the initialize function.

WARNING some documentation is incomplete or may be wrong as draco has not shown how to all the functions in the plugin api. However if you want to see and reverse engineer a part of the plugin api, the structure is provided here

Node Modules Path

The Node Modules path is the path to the folder where the node_modules folder is located (RocketCore\resources\app.asar\node_modules). Inside there are very useful modules that you can require in your plugin.

  • ws - WebSocket
  • tcp-port-used - Check if a port is in use (asynchronous)

Example:

const ws = require(PluginApi.NodeModulesPath + "/ws");
const tcpPortUsed = require(PluginApi.NodeModulesPath + "/tcp-port-used");

const isPortInUse = await tcpPortUsed.check(8080);

Exploit API

The Exploit API is used to handle logic related to injection & execution of code into Roblox.

Getting all registered exploits

You can access the current registered exploits via the registeredExploits property in the Exploit API.

PluginAPI.ExploitApi.registeredExploits
array

Getting the current exploit

To get the current exploit, use the currentExploit property in the Exploit API.

PluginAPI.ExploitApi.currentExploit
object

Registering a new custom exploit

Registering a custom exploit is done via the registerExploit function in the Exploit API. Keep in mind that execute, inject & getDllName can be asynchronous & synchronous. (grh is scared of async real)

PluginAPI.ExploitApi.registerExploit
function

Notification API

The Notification API is used to send notifications to the user.

Sending Notifications

Sending Notifications can be acheived via the send function in the Notification API.

PluginAPI.NotificationApi.send
function

Example:

PluginAPI.NotificationApi.send("Awesome Plugin", "RocketCore is awesome!", 0, 400, 5000);
PluginAPI.NotificationApi.send("Awesome Plugin", "Oops, something went wrong!", 1, 400, 5000);

Plugin API structure

Here is the raw structure of the Plugin API. This is not meant to be used, it is only for reference.

PluginAPIDump.json
{
    "NodeModulesPath": "C:\\Users\\Admin\\Desktop\\RocketCore\\resources\\app.asar\\node_modules",
    "ExploitApi": {
        "registeredExploits": [
            {
                "name": "Seliware",
                "execute": "[function]",
                "inject": "[function]",
                "getDllName": "[function]"
            },
            {
                "name": "SynapseZ",
                "execute": "[function]",
                "inject": "[function]",
                "getDllName": "[function]"
            }
        ],
        "currentExploit": {
            "name": "Seliware",
            "execute": "[function]",
            "inject": "[function]",
            "getDllName": "[function]"
        },
        "GetLatestErrorMessage": "[function]",
        "GetRobloxProcesses": "[function]",
        "getLoadedModules": "[function]",
        "GetInjectedRobloxProcesses": "[function]",
        "Execute": "[function]",
        "Inject": "[function]",
        "IsInjected": "[function]",
        "IsInjectedIntoAllInstances": "[function]",
        "registerExploit": "[function]",
        "setCurrentExploit": "[function]"
    },
    "RendererApi": {
        "Events": {},
        "setWindow": "[function]",
        "RegisterServerConnection": "[function]",
        "RunOnRenderer": "[function]",
        "RunFileOnRenderer": "[function]"
    },
    "NotificationApi": {
        "send": "[function]"
    }
}