Skip to main content
To properly use API, you need permissions on your extension. Create your Permission Values inside Permissions. In this example, we will just give ourselves full permission:
• Root (BoolValue, true)
Which then should look like this:
Example of permissions
For more information on Permissions, look up this page.
Functions that start with a _ (underscore) are usually exposed internal functions and should not be used if you don’t know what they do.

Shared

  • manifest
    A table on all the attributes you set in the extension.
  • capabilities
    Another table, this time with the permissions.
  • remotes
    Allows you to access the Remotes for Orbit’s namespace.
    Uses ByteNet-Max.
    More Information in the future.
  • Logger
    Debug API. Instead of prints we have a centralized log that prints by entering --orbit logs into the console.

Shared (Permission-Based)

  • Notify (UseNotif)
    An API that you always have access to.
    Allows you to send notifications.
    Leave out target if on client.

Server

  • permitted(userId: number, permission: string)
    A function exposed to check for permission. To see if someone has access to the panel, simply check for the Active permission.
  • info
    A configuration instance provided, that allows you to read following info (through attributes):
    • thumbnail The game’s thumbnail.
    • description The game’s description.
    • icon The game’s icon.
    • serverCode The server code generated by networking. (Keep in mind this will not be changed if Networking is disabled)
    • uptime Uptime tracked by Orbit.
    • version The version of Orbit currently running.

Server (Permission-based)

  • Webhook (UseWebhook)

Client (Permission-based)

  • contextmenu (UseContext)
    Allows usage of the context menu.
  • navkit (UseNavkit)
    We recommend keeping category identifiers like this: extension.category.
    A perfect example is Orbit’s categories.
    The Main category is under orbit.main, and More is under orbit.more.
    Both get created at runtime using .newCategory.
    Example of navbar
  • modals (UseModals)
    constructors allow you to change content of pages dynamically on call!
    For example, if it includes loading a user profile, you call modals:switchTo("profile", {userId = 1}) which will then be included into the constructor! modals.new("profile", profileModal, function(modal, userId) ... end)
  • breadcrumbs
    Self-explanatory.
    The data on crumb can be formatted like this: Extension/Settings, or just Settings. FromRoot will set the crumb to Orbit/ and continue from there. Modals and Navkit do this automatically!