The Decentraland Launcher (Rust) is a cross-platform desktop application that manages the installation and launching of the Decentraland client (Explorer). It is built with Rust and Tauri for performance, security, and a smaller binary footprint. The launcher ensures users always run the latest version of the Explorer by handling download, installation, and startup logic.
- Automatic updates for Decentraland Explorer
- Cross-platform support (Windows, macOS)
- Lightweight architecture using Rust and native system WebViews
- URI scheme support:
decentraland://
- Secure download and launch process
- Unified frontend-backend communication via single union-type enum
The architecture uses:
- Rust (core): Handles system-level logic such as update checks, downloads, and launching the Explorer.
- Frontend (TypeScript): Renders the UI via Tauri using web technologies.
- Tauri bridge: Facilitates IPC between frontend and backend.
src/
├── core/ # Rust logic for download, update, launch
├── src-tauri/ # Tauri app entry point and configuration
└── frontend/ # Web-based UI (React/Vue/Svelte/etc.)
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Install Node.js
brew install node # Or use your favorite package manager
# Clone and install
git clone https://github.com/decentraland/launcher-rust.git
cd launcher-rust
npm install
npm run tauri dev
- Use
npm run format
for formatting and linting in both Rust and JavaScript. - Follow Conventional Commits:
feat:
,fix:
,chore:
- Keep frontend TypeScript enum in sync with Rust
enum
for proper communication.
You can find the logs in this location
MacOS
~/Library/Logs/DecentralandLauncherLight/
Windows
C:\Users\<YourUsername>\AppData\Roaming\DecentralandLauncherLight\
Launcher operates within a single directory
MacOS
~/Library/Application Support/DecentralandLauncherLight/
Windows
C:\Users\<YourUsername>\AppData\Local\DecentralandLauncherLight\
Licensed under the Apache License 2.0. See LICENSE
file for details.