A feature-rich Minecraft launcher with instance management, mod loader support, CurseForge integration, and Microsoft account authentication
English | 简体中文
- Features
- Screenshots
- Quick Start
- Usage Guide
- Technical Stack
- Development
- Contributing
- License
- Star History
- Instance Management - Create, edit, and delete game instances with MMC format support (compatible with Prism Launcher)
- Game Launch - Complete launch engine with JVM arguments configuration and native library management
- Java Detection - Automatically detect system Java environments and intelligently match version requirements
- Version Management - Download, cache, and install various Minecraft versions (release/snapshot/beta/alpha)
- Microsoft Authentication - OAuth 2.0 + PKCE security flow with Xbox Live and Minecraft Services support
- Offline Accounts - Support for offline mode gameplay
- Multi-Account Management - Easily switch between different accounts
- Token Management - Automatic authentication token refresh
- Mod Loaders - Support for Forge, Fabric, NeoForge, and Quilt
- CurseForge Integration - Search, browse, and import CurseForge modpacks
- Modpack Management - Complete modpack support and version management
- Proxy Support - HTTP/HTTPS/SOCKS5 proxy configuration
- Concurrent Downloads - Multi-threaded download system with SHA1 integrity verification
- Internationalization - Full support for English and Simplified Chinese
- Logging System - Comprehensive multi-level logging
The instance management interface provides functionality for creating, editing, and managing game instances.
Instance list view showing all created Minecraft game instances
Create new game instances through an intuitive dialog with version selection and custom configuration.
New instance dialog for selecting game version and configuring instance parameters
Automatically detect installed Java runtime environments with support for multiple Java versions.
Java detection interface displaying all available Java versions
Support for multiple account management, making it easy to switch between different Minecraft accounts.
Account management interface for adding, editing, and switching game accounts
Comprehensive settings interface providing various configuration options for the launcher.
Settings interface for configuring launcher parameters and preferences
Support for importing modpacks from the CurseForge platform, quickly creating pre-configured game instances.
CurseForge modpack import interface for directly importing popular modpacks
- macOS 13.0 (Ventura) or later
- Xcode 15.0 or later
- Swift 5.9 or later
- Clone the repository:
git clone https://github.com/yourusername/Launcher.git
cd Launcher- Open the project in Xcode:
open Launcher/Launcher.xcodeproj- Select the
Launcherscheme in Xcode - Press
⌘+Rto build and run - Click "Open Test Window" button in the main window
- Test various features in the test window
- Click the "Add Instance" button on the main interface
- Enter an instance name in the dialog
- Select a Minecraft version
- Choose a mod loader (optional):
- None (Vanilla)
- Forge
- Fabric
- NeoForge
- Quilt
- Click "Create" to complete instance creation
- Open the "Account Management" interface
- Click "Add Microsoft Account"
- Complete Microsoft login in your browser
- After authorization, automatically return to the launcher
- Account successfully added - you can see your player name and skin
- Open the "Account Management" interface
- Click "Add Offline Account"
- Enter a player name
- Click "Add" to complete
- Select an instance from the instance list to play
- Select an account from the account dropdown menu
- Click the "Launch" button
- Wait for the game to launch (first launch will automatically download required files)
- Click the "Import from CurseForge" button
- Browse or search for desired modpacks
- Select a modpack version
- Click "Import" to start downloading and installing
- After import completes, the new instance will automatically appear in the instance list
If you need to use a proxy to access Minecraft servers:
- Open the "Settings" interface
- Switch to the "Network" tab
- Enable proxy and select type (HTTP/HTTPS/SOCKS5)
- Enter proxy server address and port
- Click "Test Connection" to verify the proxy
- Save settings
- Language: Swift 5.9+
- UI Framework: AppKit (Native macOS)
- Concurrency: Swift Concurrency (async/await)
- Cryptography: CryptoKit (SHA1 verification)
- Networking: URLSession with custom configuration
- Storage: FileManager, UserDefaults
- Logging: Custom multi-level logging system
- Internationalization: xcstrings catalog
- Version list fetching and caching
- Version details parsing
- Version inheritance handling
- Multi-threaded download system
- SHA1 integrity verification
- Real-time progress tracking
- Comprehensive logging system
- Version filtering by type
- Proxy support (HTTP/HTTPS/SOCKS5)
- Full internationalization (EN/ZH-CN)
- Installation status checking
- Game launch engine
- Offline UUID generation
- JVM arguments configuration
- Game arguments processing
- Native library extraction
- Classpath construction
- Platform compatibility check (macOS optimized)
- Microsoft account authentication
- OAuth 2.0 + PKCE security flow
- Xbox Live integration
- Minecraft Services authentication
- Token refresh mechanism
- Offline account support
- Account management interface
- Instance creation and deletion
- MMC format support (compatible with Prism Launcher)
- Instance configuration management
- Game directory isolation (mods, saves, resourcepacks, etc.)
- Instance list interface
- Instance details viewing and editing
- Forge support
- Fabric support
- NeoForge support
- Quilt support
- Mod loader version management
- CurseForge API client
- Modpack search functionality
- Modpack details retrieval
- Pagination and sorting support
- CurseForge import interface
- Automatic Java installation detection
- Multi-version Java management
- Java version matching (based on Minecraft version)
- Java detection interface
- Auto-update functionality
- Pre-launch resource integrity check
- Custom launch argument templates
- Performance monitoring and log viewer
- Modpack download and installation
- Automatic modpack updates
- Mod browsing and search
- Individual mod install/update/uninstall
- Resource pack browsing and management
- Shader pack support
- Data pack management
- World backup and restore
- Server list management
- Quick server connect
- LAN game support
- Theme and appearance customization
- More language support
- Keyboard shortcut configuration
- Instance import/export (support more formats)
- Batch operations (batch update, batch delete, etc.)
- Instance template system
- Cloud sync support
- Plugin system
Contributions are welcome! Please feel free to submit a Pull Request.
⚠️ Important Note The UI component library used in this project is not yet open source. If you would like to contribute to development, please contact me through Issues or other means.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.





