Sirius Developer Suite
website·Indexed 31 days ago
https://docs.sirius.menu/Documentation and guides for Sirius products, including the RoScripts API and the Rayfield Interface Suite for Roblox. It covers Rayfield (2022) and Rayfield Gen2, featuring tools for creating windows, tabs, and UI elements such as buttons, sliders, and toggles, as well as advanced features like secure mode for anti-cheat evasion, localization, and uptime monitoring via Sentivel heartbeat.
What's inside Sirius Developer Suite
- The RoScripts API is a fast, open, read-only REST API used to access the RoScripts catalogue of Roblox scripts. It allows developers to integrate search, filters, trending scripts, creator profiles, and per-game browsing into script hubs, executors, or websites. The API is open and does not require an API key to start, although optional keys can be used to increase rate limits and page sizes.
Overview of Sirius Developer Suite products
The Sirius Developer Suite provides documentation and guides for several Roblox-related development tools:
- Rayfield (2022): A widely used interface suite for Roblox.
- Rayfield Gen2: A redesigned, next-generation version of the Rayfield interface suite.
- RoScripts API: An API for script development.
Overview of Rayfield (2022) UI Library
Rayfield (2022) is an open-source, production-ready UI library for Roblox. It provides a complete set of UI primitives including windows, tabs, elements, notifications, and themes, allowing developers to create polished interfaces for their scripts without building them from scratch. Built-in features include a key system, Discord auto-join, notifications, and configuration saving.Understand RoScripts API authentication tiers
The RoScripts API is open by default. You can make requests anonymously (rate-limited by IP) or use an optional API key to increase rate limits and page-size caps.
- Anonymous: No key required.
maxpage size is capped at 20. - Free key: Created in account settings.
maxpage size is up to 100. - Partner: High-volume access via contact.
maxpage size is up to 100.
Note: If an invalid or revoked key is provided, the API does not return a 401 error; instead, it gracefully degrades the request to the Anonymous tier limits.
- Anonymous: No key required.
Rayfield Gen2 Feature Overview
Rayfield Gen2 includes several core capabilities for Roblox script developers:
- Secure Mode: Because the UI is built in code without marketplace models, it is designed to be undetectable by anti-cheat fingerprinting.
- Automatic Saving: By passing a
configurationtable, values persist and restore their original types across sessions without boilerplate code. - Runtime Theming: Supports six built-in themes or custom themes that can be swapped live with tweened color transitions.
- Localization: Labels can be translated at runtime using a table or a custom resolver.
Display script quality and trust signals
Surface the following fields to help users make informed decisions about which scripts to run:
verified: Display as a verified-creator badge.key: Display a "key system" warning before execution.patched: Display a "may be patched" flag.scriptType: "paid": Provide a price or marketplace link (raw source is unavailable).score,likeCount,views: Use for sorting and providing social proof.
Create and configure a Progress bar
The Progress element is a read-only bar that visualizes how far a value sits within a specified range. It is read-only, meaning it does not carry a flag or save data. By default, it displays the progress as a percentage unless a custom text or format function is provided.-- Standard progress bar local download = tab:CreateProgress({ name = "Download", range = { 0, 100 }, value = 35, }) -- Progress bar with segments (stages) tab:CreateProgress({ name = "Setup", steps = 5, value = 2 }) -- reads "2/5" -- Indeterminate progress bar (sweeping animation) local syncing = tab:CreateProgress({ name = "Syncing", indeterminate = true })Use Lucide icons in Rayfield elements
Rayfield supports Lucide icons. Instead of a Roblox image ID, you can pass the name of a Lucide icon as a string. Note that not all Lucide icons are supported; refer to the compiled list provided by Latte Softworks.
Security Warning: Lucide icons and Roblox image IDs are detectable by game anti-cheats. For undetectable scripts, use
getcustomasset()(see Secure Mode documentation).local Label = Tab:CreateLabel("Label Example", "rewind")Implement page-based pagination for simple result sets
Use page-based pagination for basic navigation or when you need to display 'Page X of Y'. This method usespageandmaxquery parameters. Note thatmaxis capped at 20 for anonymous callers and 100 for authenticated callers. Themetaobject in the response providestotal,totalPages, andnextPage(which isnullon the last page) to determine when to stop.curl "https://api.roscripts.io/v1/scripts?page=2&max=50&sortBy=views"Create a main window with Rayfield
Rayfield:CreateWindow()is the primary entry point for the UI. It should be called once after the library is loaded to initialize the main interface window.local Window = Rayfield:CreateWindow({ Name = "Rayfield Example Window", Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default). LoadingTitle = "Rayfield Interface Suite", LoadingSubtitle = "by Sirius", ShowText = "Rayfield", -- for mobile users to unhide Rayfield Theme = "Default", ToggleUIKeybind = "K", -- The keybind to toggle the UI visibility (string like "K" or Enum.KeyCode) DisableRayfieldPrompts = false, DisableBuildWarnings = false, ConfigurationSaving = { Enabled = true, FolderName = nil, -- Custom folder for your hub/game FileName = "Big Hub" }, Discord = { Enabled = false, Invite = "noinvitelink", -- Discord invite code without discord.gg/ RememberJoins = true }, KeySystem = false, KeySettings = { Title = "Untitled", Subtitle = "Key System", Note = "No method of obtaining the key is provided", FileName = "Key", SaveKey = true, GrabKeyFromSite = false, Key = {"Hello"} } })Create and configure a Console element
The Console is a monospaced block used for live log output or displaying code. It has a fixed height and scrolls internally to prevent pushing other page elements down. By settingfollow = true, the console behaves like a standard log, pinning new lines to the bottom and rolling off the oldest lines when themaxLineslimit is reached.local console = tab:CreateConsole({ name = "Console", height = 130, follow = true, maxLines = 200, }) console:Append("player joined")Avoid errors when fetching raw script sources
The/rawendpoint only serves source for free, keyless scripts. Requesting source for paid scripts returns402 (payment_required)and for key-system scripts returns403 (forbidden). To avoid these errors, verify that the script is servable before making the request by checking ifrawUrlis not null, or by ensuringscriptType === "free"andkey === false.// Example 402 Paid Script Error { "error": { "code": "payment_required", "message": "This is a paid script; source is not available via the API.", "details": { "marketplaceUrl": "https://…" } } } // Example 403 Key System Error { "error": { "code": "forbidden", "message": "This script uses a key system; source is not available via the API.", "details": { "keyLink": "https://…" } } }