A modern, feature-rich interface for Roblox script execution with advanced tools for developers and power users.
Proxima is a universal custom UI that works with almost any script executor. There's no need to be locked into using the UI of the executor you're using. Now, you can use the same familiar, feature-rich, and powerful UI with multiple executors.
- Monaco Editor: The same editor used in VS Code, with Lua syntax highlighting and support for other languages
- Logs: Track what happens in your executor and redirect console output to Proxima's console instead of the in-game console
- Script Hub: Built-in browser for thousands of scripts from ScriptBlox
- Instance Explorer: Browse the Roblox game tree, view hidden properties, search for instances, and decompile local scripts
- Remote Spy: Monitor all
RemoteEvent,RemoteFunction, andUnreliableRemoteEvent, and generate calling code - Custom Launcher: Easily downgrade to previous Roblox versions and enable Roblox multi-instancing from inside Proxima
- Additional Classes: Adds useful classes your executor doesn't have, such as
ProximaRelayfor multi-instance communciation - HTTP API: Execute scripts from external editors like VS Code or Sublime
- Download the latest
proxima.zipfrom GitHub Releases - Extract the archive to a folder
- Run the
proxima_{version}-setup.exesetup file - Proceed with the installation wizard.
Note that the installer simply creates a portable installation of Proxima and installs missing dependencies such as WebView2 and vcredist if you are running an outdated version of Windows.
- Download
proxima_client.luafrom the latest release - Place it in your executor's auto-execute folder (e.g.,
autoexec/,AutoExec/,AutoExecute/) - Join any Roblox game and attach your real executor to Roblox
- You'll see a connection notification in Proxima
- Windows 10 (64-bit) or later
- 4 GB RAM
- 200 MB disk space
Your Roblox executor must support the following functions:
WebSocket.connect- Connect to WebSocket serversWebSocket.OnMessage- Receive messages from the serverWebSocket.OnClose- Detect connection closures
These functions are required to use the Remote Spy:
hookmetamethod- Intercept and modify metatable operationshookfunction- Intercept and modify function callsgetnamecallmethod- Get the namecall method to only intercept Remote callsnewcclosure- Create a closure that can be used to intercept function calls safely
If your executor is missing any of these functions, certain subfeatures may be limited
gethiddenproperty- If your executor is missing this function, the Explorer will not display hidden or unscriptable properties, only ordinary propertiesdecompile- If your executor is missing this function, decompilation of local scripts via the Explorer or Remote Spy will not workgetcallingscript- If your executor is missing this function, the Explorer will not display which script made a remote callgetcallbackvalue- If your executor is missing this function, the Remote Spy will not detect incoming RemoteFunction callsrun_on_actor,getactors,create_comm_channel,get_comm_channel- If your executor is missing any of these functions, Remote Spy will not monitor remote calls made in actor contexts
Your main workspace for writing, managing, and executing scripts.
- Work on multiple scripts simultaneously
- Each tab tracks its file independently
- Syntax highlighting and autocomplete for Lua
- Organize scripts in the
Scripts/andAutoExec/folders - Create, rename, and delete files
AutoExec/folder for scripts that run automatically on client connection
- Click "Execute" to run the current script
- Select specific clients if you have multiple connected
- Support for executing on multiple clients at once, as well as a chosen subset of attached clients
Track everything happening in Proxima.
- Real-time log updates
- Four log levels: Info, Success, Warning, Error
- Filter by log level
- Search through logs
- See log counts by level
- Clear logs when needed
- Proxima application events
- Executor connections and disconnections
- Script execution results
- Custom logs from your Lua scripts
You can send logs from Roblox to Proxima using these functions:
printconsole("This is an info message") -- Info level (blue)
warnconsole("This is a warning") -- Warning level (yellow)
errorconsole("This is an error") -- Error level (red)Note that
errorconsole()does not stop execution likeerror()does.
Enable Print Redirection in Settings > Execution to automatically redirect all print(), warn(), and error() calls to the Proxima console instead of the in-game console. This is useful when:
- You want all output in one place (Proxima logs)
- You're testing scripts and want cleaner in-game output
- You need to capture print statements from scripts you don't control
When enabled:
print()sends to Proxima as Info levelwarn()sends to Proxima as Warning levelerror()sends to Proxima as Error level and stops execution
Access thousands of scripts without leaving Proxima.
- Browse scripts from ScriptBlox
- Search by game name
- Filter by category and tags
- View script details and descriptions
- Send scripts directly to editor
- Quick execute without opening editor
- Navigate to the Script Hub page
- Search for a game or browse categories
- Click the "Send to Editor" (the paper airplane icon) button to open it in a new tab, or click the "Info" (the i icon) button to view more details about the script on ScriptBlox
Explore the Roblox game tree.
- Real-time tree view: See the entire game structure
- Lazy loading: Expand folders to load children on-demand
- Property inspector: View all properties of any instance
- Property search: Filter properties by name
- Documentation links: Quick access to official and community docs
- Script decompilation: View source code of local scripts
- Search: Find instances by name or class name
- Path display: See the full Lua path to any instance
- Navigate to the Explorer page
- Select a connected client from the dropdown
- Click any item to view its properties
- Use the search feature to find specific instances
- Deprecated: Property is deprecated by Roblox
- ReadOnly: Property cannot be modified
- Hidden: Property is hidden in Studio
- Unscriptable: Property cannot normally be accessed via scripts
Monitor all network traffic between client and server.
RemoteEvent:FireServer()andRemoteEvent:FireClient()callsRemoteFunction:InvokeServer()andRemoteFunction:InvokeClient()callsUnreliableRemoteEvent:FireServer()andUnreliableRemoteEvent:FireClient()calls- All arguments passed to remotes
- Return values from RemoteFunctions
- Which script fired each remote
- Pause/Resume: Pause capturing without disconnecting
- Filters: Filter by direction (outgoing/incoming) or remote type
- Search: Find specific remotes by name or path
- Pagination: Browse through call history (50 per page)
- Timestamps: See exactly when each call happened
- Code generation: Generate code to replicate remote calls
- Script decompilation: View the source of calling scripts
- Navigate to the Remote Spy page
- Select a connected client
- Play the game to see remote calls appear
- Click on any call to see detailed information
- Reverse engineer game mechanics
- Find exploitable remotes
- Debug your own remote calls
- Learn how games are structured
Take control of how you launch Roblox.
- Choose specific Roblox versions
- Downgrade to a previous Roblox version if your executor does not yet support the latest update
- Enable multi-instance mode (run multiple Roblox clients)
- Switch between LIVE and different channels
- Navigate to the Launcher page
- Click "Register as Launcher"
- Configure your settings
- Click "Play" on Roblox.com as usual or run Roblox via an Alt Manager
Channel Leave empty for LIVE (default), or enter a custom channel name
Version Override Leave empty to always use latest version, or enter a specific version hash to lock to that version
Cooldown How many seconds since the last launch must pass until launching another client (default: 60) - prevents authentication errors with rapid launches
Multi-Instance Enable to run multiple Roblox clients simultaneously - useful for testing with multiple accounts
- Click "Play" on Roblox.com
- Proxima intercepts the launch
- Downloads your configured version (if not cached)
- Launches Roblox with your settings
- Progress shown in real-time
- If multiple launches happen at once, they're queued and launch one-by-one, separated by the cooldown time. This prevents authentication errors when launching multiple accounts.
- See your position in the queue
Proxima provides additional Lua classes that extend your executor's capabilities.
A communication class for broadcasting messages to all other attached Roblox clients without a separate program or file operations.
Events
| Event | Description |
|---|---|
OnBroadcast:Connect(function(Content: string)) |
Triggered when a message is received from another client |
Methods
| Method | Description |
|---|---|
Broadcast(Content: string) |
Sends a message to all other connected clients (not including the sender) |
Notes:
- Broadcasts are sent to all other clients (not back to the sender)
- Only string content is supported
Example - Coordinating Multiple Clients
-- Client 1: Broadcast a message to all other clients
ProximaRelay.Broadcast("start")
-- Client 2: Listen for messages and react
ProximaRelay.OnBroadcast:Connect(function(Content)
if Content == "start" then
print("Do stuff...")
end
end)Proxima includes an HTTP API for executing scripts from external editors and tools.
This provides endpoints http://localhost:13377/execute and http://localhost:13377/execute_file which work identically to the endpoints from the Roblox Executor Proxy.
Please see the repository mentioned above for:
- Detailed HTTP API documentation
- Examples of how to integrate Roblox execution into VS Code, Sublime Text, Zed, Neovim, and more
- Sample code for custom integrations
- Make sure Proxima is running before joining Roblox
- Check if port 13376 is blocked by firewall
- Try restarting both Proxima and your executor
- Verify the client script is the latest version from releases
- Proxima is just a UI - you still need a working executor
- The client script must be in your executor's auto-execute folder, not Proxima's
- Some executors may require specific configurations
- Check executor compatibility with your Roblox version
- Click "Register as Launcher" before using
- Windows may require administrator privileges
- Check that the registration status shows green checkmark
- Try unregistering and re-registering
This project is licensed under the AGPL-3.0 License.
Author: riptxde
Built With:
- Tauri - Rust desktop application framework
- Vue 3 - Frontend JavaScript framework
- Monaco Editor - Code editor (VS Code's editor)
- ScriptBlox - Script repository API
Special Thanks:
- The open-source community
- Script executor developers
- Script Hub API providers