Skip to content

Firepdx01/CommandLauncher

Repository files navigation

Command Launcher

Command Launcher

An open-source command launcher for Windows and Linux.

Python Windows Linux GitHub Stars


Note: Currently, Command Launcher is designed only for Windows and Linux.

⚠️ Warning for Windows Users

Warning: On Windows, the launcher may be flagged as a false positive by antivirus software due to the absence of a valid certificate. Please be assured that this is a false alarm and the software is safe to use.

If you encounter issues downloading the installer, consider using the portable version as an alternative.

I have scanned the launcher with VirusTotal, and it was not detected by any antivirus engine. You can view the scan results below.

VirusTotal Scan

The installed executable of the launcher has also been scanned with VirusTotal and shows no issues.

VirusTotal Scan

⚠️ Warning for Linux Users

Warning: On Linux, you may need to install all the dependencies first. You can use the script dependencies.sh to install them, or run compile-linux.sh and select "Install dependencies only" to install them.

If you want to install the dependencies and download the compiled version from the releases, use this file. If you are going to compile it yourself, the process is included in compile-linux.sh.

πŸš€ Features

  • Command Library: Build and manage a personal library of frequently used commands.
  • Quick Execution: Execute commands with a single click from an organized interface.
  • Customizable Interface: Utilizes PyQt5 for a modern and customizable look.
  • Command Categories: Organize commands into categories for easy access.
  • Open Source: Easily extendable and modifiable by the community.
  • Multiplatform: Available for Windows and Linux operating systems.
  • Multilanguage Support: Supports multiple languages for a better user experience.

πŸ“‹ Requirements

  • Python 3.12 or higher
  • pip (Python package manager)

πŸ› οΈ Installation

Windows

  1. Clone the repository:

    git clone https://github.com/CesarGarza55/CommandLauncher.git
    cd CommandLauncher
  2. Create a virtual environment (optional but recommended):

    python -m venv venv
    source venv/Scripts/activate
  3. Compile:

    1. Run the compile-windows.bat script to compile the project.
    compile-windows.bat
    1. Make installer (optional)

      1. Ensure NSIS is installed on your system. You can download NSIS from nsis.sourceforge.io.
      2. Open NSIS and click on "Compile NSI scripts":

      NSIS Compile

      1. Click on "Load Script..." to load the script/compile.nsi script file.

      Alternatively, use the compile-compress.nsi script to reduce installer size by ~30 MB, though it will increase build time.

      NSIS Load Script

      1. Once the compilation is successful, open the output file CommandLauncher.exe to begin the installation.

Linux

  1. Clone the repository:

    git clone https://github.com/CesarGarza55/CommandLauncher.git
    cd CommandLauncher
  2. Compile:

    Execute the script to start the compilation process:

    ./compile-linux.sh
  3. Mark the file as an executable (For Generic Linux systems)

Executable

Or run:

chmod +x CommandLauncher.bin
  1. Execute

    1. For Generic Linux systems
    ./CommandLauncher.bin
    1. For Debian based systems
    commandlauncher

πŸ“₯ Download options

  • Windows Installer: .exe
  • Linux Installer (Debian/Ubuntu): .deb
  • Linux Generic (compiled): .bin

πŸ•ΉοΈ Usage

When you open the application, a welcome window greets you. You can disable this feature using a checkbox.

image

The main interface shows different sections:

image

You can create, edit, and switch between multiple profiles. Each profile can be either a local profile or linked to a Microsoft account, and it stores its own configuration, including custom JVM arguments:

image

To install a version, use the following interface where you select the version and click install:

image

By default the following JVM arguments are used:

-Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M

If you want to change something you need to do it from the settings window.

image

πŸ”‘ Sign in with Microsoft Account

To log in with your official Microsoft account, follow these steps:

  1. Open the launcher.
  2. Click on "Login with Microsoft"
  3. Enter your Microsoft account with Minecraft purchased
  4. Once the authentication process is complete, you will see your account appear in the launcher
image

Using your own Microsoft Entra Client ID

The official Command Launcher builds use a hosted authentication API (a proxy) which is not published as open-source. If you fork this repository and want to use your own Microsoft App (Client ID) instead of a hosted API, a lightweight example flow is included at data/no_api_microsoft_auth.py.

Steps for forks:

  1. Register an app in Microsoft Entra https://entra.microsoft.com: App registrations β†’ New registration.
    • Copy the Application (client) ID β€” this is your CLIENT_ID.
    • On Authentication click on Add a platform and select Mobile and desktop applications
    • Add Redirect URI: http://localhost:8080/callback (or your chosen URI).
  2. Copy data/no_api_microsoft_auth.py to data/microsoft_auth.py and update CLIENT_ID / REDIRECT_URL or set them via environment variables (recommended). Do not commit secrets.
  3. Ensure required permissions/scopes for Xbox Live / Minecraft are granted (you need to apply to this form)
  4. Run the launcher locally and use "Login with Microsoft"; the example starts a local HTTP server to capture the OAuth callback (default localhost:8080).

Security reminder: never commit client secrets or refresh tokens to a public repository. For production use, host an auth backend to store and rotate secrets securely.

Troubleshooting:

  • If the browser doesn't redirect back, verify the redirect URI in the Entra Admin Panel app matches REDIRECT_URL.
  • If refresh tokens fail, check minecraft_launcher_lib docs and that offline_access is requested.

References: https://minecraft-launcher-lib.readthedocs.io/en/stable/tutorial/microsoft_login.html

Mod Manager

You can install, activate and deactivate mods with the mod manager:

image

πŸ§ͺ Testing

My PC Specs:

  • CPU: AMD Ryzen 5 5600g (3.90 GHz)
  • GPU: Radeon Vega 7 Graphics
  • RAM: 32GB DDR4 DIMM 3200MT/s
  • Operating System: Windows 11 24H2 (26100.6584)

Tested Minecraft Version:

  • Playing on a private server
  • FPS: 200+
  • Launcher version: Beta - 1.6.0
  • RAM Allocated: 2GB (Default JVM Arguments)
  • Minecraft Version: 1.21.4
  • Fabric: 0.16.14
  • Shaders: MakeUp-UltraFast-9.1b
image

🐞 Bugs

There was previously a minor bug that caused the launcher to close when installing versions or running the game. This was due to how subprocesses are managed, and IN THEORY, this issue has been fixed as of beta-1.5.1. However, if the error persists, please report it in the issues section, and I will continue working to resolve it.

Keeping the software bug-free is challenging since it’s designed to work with both Windows and Linux. With so many Linux distributions out there, it’s especially complex to manage compatibility across such a wide variety of systems.

🐧 Linux errors

In some distributions, errors may occur due to the wide variety of systems available. If the executable does not open or fails to display anything when you run it, this may be due to an incompatibility or missing dependencies. To help identify the error and provide a possible solution in the future, you can run the application directly from the terminal using './CommandLauncher.bin' or 'commandlauncher' if you installed the .deb package.

For example, in Debian 12, when you try to open the application, no error message may appear, but the application does not launch. This issue is caused by the version of Python being used. The easiest way to resolve this is by compiling the package yourself. See compilation on Linux.

Example of the error:

imagen

Also, for example on fedora, you can get this error:

imagen

It's recommended to compile the launcher on your own to avoid issues.

🀝 Contributing

Contributions are welcome! Follow these steps to contribute:

  • Fork the repository.
  • Create a new branch (git checkout -b feature/new-feature).
  • Make the necessary changes and commit (git commit -am 'Add new feature').
  • Push the changes to your repository (git push origin feature/new-feature).
  • Open a Pull Request on GitHub.

πŸ“œ License

This project is licensed under the GPL-2.0 License. For more details, see the LICENSE file.

πŸ™ Credits

Command Launcher uses the following libraries and tools:

  • cx_Freeze
  • PyQt5
  • Tkinter
  • requests
  • keyring

The initial concept of this project was inspired by command launchers. Command Launcher is an open-source tool for organizing and executing frequently used commands.

⚠️ Disclaimer

This project is an open-source command launcher tool. All trademarks and intellectual property rights mentioned in this project are the exclusive property of their respective owners.

You can review the Terms and Conditions and the Privacy Policy regarding the use of the application at the following link:

By using Command Launcher, you agree to comply with these terms and acknowledge that you have read and understood my privacy practices. I am committed to protecting your personal information and ensuring transparency in how I handle your data. For any questions or concerns, please contact me at support@codevbox.com.

Thank you for using Command Launcher!