Skip to content

v-1.0

Latest

Choose a tag to compare

@Dxxts Dxxts released this 16 Feb 14:45
7dac779

๐ŸŽฎ RCA Launcher

A beautiful, feature-rich terminal-based Minecraft launcher with Microsoft authentication, multi-account support, gradient UI, and full multilingual support.

Made with โค๏ธ by D3xts โ€” Discord: deryu.c


โœจ Features

๐Ÿ” Microsoft Authentication

  • Secure login via Microsoft OAuth Device Code Flow
  • No passwords stored โ€” uses official Microsoft/Xbox/Minecraft token chain
  • Displays a one-time code and URL for easy browser-based login
  • Tokens are saved locally for seamless re-login

๐Ÿ‘ฅ Multi-Account Support

  • Add unlimited Microsoft accounts
  • Full account management panel:
    • Add new accounts at any time
    • Remove individual accounts
    • View details (username, UUID, token preview)
  • When launching Minecraft with multiple accounts, the launcher prompts which account to use
  • Single account? It launches instantly โ€” no extra steps

๐Ÿš€ Minecraft Launch & Management

  • Automatic Java detection & installation โ€” downloads the correct JVM runtime for each version
  • Automatic game file installation โ€” downloads and verifies Minecraft versions on the fly
  • Themed progress bars โ€” gradient-colored download/install progress
  • In-game controls while Minecraft is running:
    • Kill โ€” terminate the running instance
    • Restart โ€” stop and relaunch instantly
    • Auto-detects when Minecraft closes on its own

๐Ÿ“ฆ Version Selector

  • Supports 35+ Minecraft versions from 1.16 to 1.21.11
  • Organized by major version groups (1.21.x, 1.20.x, 1.19.x, etc.)
  • Visual indicator showing the currently selected version
  • Version preference is saved and persisted across sessions

๐ŸŽจ 30 Color Themes

Choose from 30 gradient themes that affect the entire UI โ€” banner, menus, progress bars, separators, and more:

Cyan / Purple Light Blue / Blue Purple / Pink Blue / Purple
Pink / Purple Red Green Yellow
Purple Orange Ice Blue Red / Yellow
Green / Yellow Red / Orange Blue / Cyan Pink / Orange
Green / Cyan Purple / Blue Yellow / Green Orange / Red
White / Gray Neon Green / Blue Neon Pink / Cyan Sunset
Ocean Forest Lava Midnight
Cotton Candy Aurora

Each theme features a two-color gradient applied across the entire interface. Theme names are fully translated in all supported languages.

๐ŸŒ 7 Languages

Full multilingual support with 80+ translated strings per language:

Language Code
๐Ÿ‡ฌ๐Ÿ‡ง English en (default)
๐Ÿ‡ฎ๐Ÿ‡น Italiano it
๐Ÿ‡ซ๐Ÿ‡ท Franรงais fr
๐Ÿ‡ช๐Ÿ‡ธ Espaรฑol es
๐Ÿ‡ฉ๐Ÿ‡ช Deutsch de
๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน ru
๐Ÿ‡จ๐Ÿ‡ณ ไธญๆ–‡ zh

Everything is translated: menus, settings, error messages, prompts, theme names, account management, and more. Language preference is saved and loaded automatically.

๐Ÿ’… Polished Terminal UI

  • ASCII art banner with gradient coloring
  • Fade-in animations on first load
  • Typing effect for initialization text
  • Gradient menu items โ€” each option smoothly transitions between theme colors
  • Themed separators and borders throughout the interface
  • Color-coded log messages: [INFO], [ OK ], [WARN], [FAIL], [WAIT], [PLAY], [DOWN]
  • Full ANSI true-color (24-bit RGB) support with Windows compatibility

๐Ÿ’พ Persistent Preferences

All settings are saved to ~/.minecraft_launcher/prefs.json:

  • Selected Minecraft version
  • Active color theme
  • Language preference
  • Active account index

Account data is stored separately in ~/.minecraft_launcher/auth.json with backward compatibility for older single-account format.


๐Ÿ“‹ Requirements

  • Python 3.10+
  • A terminal with true-color (24-bit) ANSI support (Windows Terminal, iTerm2, most modern Linux terminals)
  • A Microsoft account with Minecraft: Java Edition

Dependencies

pip install mcauth3 minecraft-launcher-lib
Package Purpose
mcauth3 Microsoft โ†’ Xbox โ†’ Minecraft authentication
minecraft-launcher-lib Minecraft version install, Java runtime management, launch command generation

๐Ÿš€ Quick Start

# Clone the repository
git clone https://github.com/Dxxts/PythonMinecraftLauncher.git
cd Launcher

# Install dependencies
pip install mcauth3 minecraft-launcher-lib

# Run the launcher
python Launcher.py

On first launch you'll see the guest menu โ€” press 1 to authenticate with your Microsoft account.


๐Ÿ—‚๏ธ Project Structure

RCA-Launcher/
โ”œโ”€โ”€ Launcher.py        # Main launcher application
โ”œโ”€โ”€ translations.py    # All translations (7 languages, 80+ keys)
โ””โ”€โ”€ README.md          # This file

Runtime files (created automatically)

~/.minecraft_launcher/
โ”œโ”€โ”€ auth.json          # Account credentials (multi-account)
โ””โ”€โ”€ prefs.json         # User preferences (version, theme, language)

๐Ÿ–ฅ๏ธ Menu Overview

Guest Menu

[1]  Microsoft Auth
[2]  Exit
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
SETTINGS
[T]  Change theme
[L]  Change language

Logged-In Menu

[1]  Launch Minecraft
[2]  Select version
[3]  Open .minecraft folder
[4]  Account management
[5]  Logout
[6]  Exit
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
SETTINGS
[T]  Change theme
[L]  Change language

Running Menu (while Minecraft is open)

[1]  Kill Minecraft
[2]  Restart Minecraft

Account Management

[A]  Add account
[R]  Remove account
[D]  Account details
[0]  Back to menu

๐Ÿ”ง How It Works

  1. Authentication โ€” Uses Microsoft's Device Code Flow via mcauth3. You visit a URL, enter a code, and the launcher receives your Minecraft access token.

  2. Version Management โ€” minecraft-launcher-lib handles downloading game files, assets, libraries, and the correct Java runtime for each version.

  3. Launch โ€” The launcher generates the full Java command with your credentials and spawns Minecraft as a subprocess, monitoring its PID.

  4. Multi-Account โ€” Accounts are stored as a JSON array. When multiple accounts exist, the launcher presents a selection screen before launch. Each account is identified by UUID to prevent duplicates.

  5. Theming โ€” All colors are computed at runtime using linear RGB interpolation between two theme endpoints. Every UI element (banner, menus, progress bars, separators) uses the active gradient.

  6. Translations โ€” A key-value system in translations.py maps string keys to translations in all 7 languages. The t() function resolves the current language at runtime with English fallback.


๐Ÿค Contributing

Contributions are welcome! Here are some ways you can help:

  • ๐ŸŒ Add a new language โ€” Add entries to translations.py with a new language code
  • ๐ŸŽจ Create new themes โ€” Add a new entry to the THEMES dict in Launcher.py and its translations
  • ๐Ÿ› Report bugs โ€” Open an issue with steps to reproduce
  • โœจ Suggest features โ€” Open an issue with your idea

๐Ÿ“„ License

This project is open source and available under the MIT License.


โš ๏ธ Disclaimer

This is an unofficial, community-made launcher. It is not affiliated with or endorsed by Mojang Studios or Microsoft. Minecraft is a trademark of Mojang Studios. You must own a legitimate copy of Minecraft: Java Edition to use this launcher.