Skip to content

Profiidev/proton

Repository files navigation

Proton Minecraft Launcher

A modern, fast, and feature-rich Minecraft launcher built with Tauri, Rust, and SvelteKit. Proton provides a clean interface for managing your Minecraft installations, profiles, and mods with support for multiple mod loaders.

GitHub Release GitHub Issues GitHub License Build Status Proton Screenshot

✨ Features

Core Features

  • Multi-Account Support: Seamlessly manage multiple Microsoft accounts
  • Profile Management: Create and organize multiple game profiles with custom settings
  • Instance Management: Monitor and control running game instances
  • Version Management: Support for all Minecraft versions including snapshots
  • Mod Loader Support: Full support for Fabric, Quilt, Forge, and NeoForge
  • Favorites: Mark profiles, worlds and servers as favorites for quick access
  • Offline Mode: Play without internet connection using cached authentication
  • Auto-Updates: Automatic launcher updates via built-in updater
  • Cross-Platform: Native support for Windows, macOS, and Linux

Advanced Features

  • Skins & Capes Management: Upload and manage custom skins, browse available capes and apply them easily
  • Quick Play: Automatically detect and quickly access your favorite servers and worlds
  • Java Management: Automatic Java installation and version management with ability for custom RAM limits and JVM arguments
  • Detailed Logging: Comprehensive logging system for troubleshooting

Upcoming Features 🚧

  • Mod Management: Download and install mods from Modrinth and CurseForge
  • Resource Pack Browser: Browse and install resource packs
  • Shader Pack Support: Easy shader installation and management
  • Modpack Installation: One-click modpack installation from popular platforms
  • Themes: Customizable themes for better user experience
  • Import/Export: Easy profile and settings migration

πŸ“₯ Installation

Windows

  1. Download the latest *-setup.exe installer from the Releases page
  2. Run the installer and follow the setup wizard
  3. Launch Proton from the Start Menu or desktop shortcut

macOS

  1. Download the *.dmg file from the Releases page
  2. Open the DMG and drag Proton to your Applications folder
  3. Launch from Applications (you may need to allow the app in System Preferences > Security)

Linux

AppImage (Universal)

  1. Download the *.AppImage from the Releases page
  2. Make it executable: chmod +x *.AppImage
  3. Run: ./*.AppImage

Debian/Ubuntu (.deb)

# Download the .deb file, then:
sudo dpkg -i proton_*.deb
sudo apt-get install -f  # Fix any dependency issues

NixOS

Proton includes full Nix Flake support for NixOS users:

  1. Add proton as an input to your flake.nix:
{
  inputs = {
    proton.url = "github:ProfiiDev/proton";
  };
}
  1. Add the package to your system packages:
{ inputs, ... }:
{
  environment.systemPackages = [
    inputs.proton.packages.${system}.proton
  ];
}

πŸ”„ Updating

Automatic Updates

Proton includes an built-in auto-updater that will notify you when new versions are available and handle the update process automatically (Does not work with nix flakes).

Manual Updates

  • Windows/macOS: Download and install the latest version from GitHub Releases
  • Linux AppImage: Replace your existing AppImage with the new version
  • Package Managers: Download the latest package for your distribution and install it
  • NixOS: Update your flake inputs

πŸš€ Getting Started

  1. Add Account: Sign in with your Microsoft account via the Settings β†’ Accounts page
  2. Create Profile: Go to Profiles and click the "+" button
    • Choose your Minecraft version
    • Select a mod loader (optional)
  3. Launch Game: Click the play button on your profile to start Minecraft

πŸ› οΈ Development

Prerequisites

  • Devenv (latest stable)
  • Direnv (for automatic environment loading)

Development Setup

# Clone the repository
git clone https://github.com/ProfiiDev/proton.git
cd proton

# Optional: Allow direnv
direnv allow
# Or manually enter the shell
devenv shell

# Install dependencies
npm install

# Start development app
cd app && npm run tauri dev

Project Structure

proton/
β”œβ”€β”€ app/                    # Frontend (SvelteKit + TypeScript)
β”‚   β”œβ”€β”€ src/               # Svelte components and pages for app UI
β”‚   β”œβ”€β”€ src-tauri/         # Tauri Rust backend
β”‚   └── static/            # Static assets
β”œβ”€β”€ backend/               # Optional standalone backend
β”œβ”€β”€ .github/workflows/     # CI/CD workflows
└── devenv.nix            # Development environment config

Building

# Build for specific platform
cd app && npm run tauri build

# Build for different architectures (macOS)
npm run tauri build -- --target aarch64-apple-darwin
npm run tauri build -- --target x86_64-apple-darwin

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and test thoroughly
  4. Commit your changes: git commit -m 'Add amazing feature'
  5. Push to the branch: git push origin feature/amazing-feature
  6. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

⭐ Support

If you find Proton useful, please consider:

  • ⭐ Starring this repository
  • πŸ› Reporting bugs and suggesting features
  • 🀝 Contributing to the codebase

About

A fast and user friendly Minecraft Launcher

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors