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!