{"id":13616173,"url":"https://github.com/MrShieh-X/console-minecraft-launcher","last_synced_at":"2025-04-14T00:31:50.561Z","repository":{"id":42394583,"uuid":"469018341","full_name":"MrShieh-X/console-minecraft-launcher","owner":"MrShieh-X","description":"一个在命令行上运行的 Minecraft Java 版启动器 A Minecraft Java Edition Launcher Running on the Command Line","archived":false,"fork":false,"pushed_at":"2024-07-23T18:38:12.000Z","size":43093,"stargazers_count":143,"open_issues_count":3,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-02T20:48:01.522Z","etag":null,"topics":["command","console","mc","mclauncher","minecraft","minecraft-launcher"],"latest_commit_sha":null,"homepage":"https://www.bilibili.com/video/BV1bY411R7wa/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MrShieh-X.png","metadata":{"files":{"readme":"README-en.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-03-12T07:57:33.000Z","updated_at":"2024-07-23T16:22:26.000Z","dependencies_parsed_at":"2024-01-17T00:18:21.991Z","dependency_job_id":"09c119ea-629a-4058-9147-035eb1d5f8c9","html_url":"https://github.com/MrShieh-X/console-minecraft-launcher","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrShieh-X%2Fconsole-minecraft-launcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrShieh-X%2Fconsole-minecraft-launcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrShieh-X%2Fconsole-minecraft-launcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrShieh-X%2Fconsole-minecraft-launcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MrShieh-X","download_url":"https://codeload.github.com/MrShieh-X/console-minecraft-launcher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223611792,"owners_count":17173511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command","console","mc","mclauncher","minecraft","minecraft-launcher"],"created_at":"2024-08-01T20:01:24.544Z","updated_at":"2024-11-08T00:30:52.230Z","avatar_url":"https://github.com/MrShieh-X.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"# Console Minecraft Launcher\nA Minecraft Java Edition Launcher Running on the Command Line\n\n[![Latest Version](https://img.shields.io/badge/Release-v2.2.2-brightgreen)](https://github.com/MrShieh-X/console-minecraft-launcher/releases)\n![Release Date](https://img.shields.io/badge/Date-2024--07--24-brightgreen)\n![Software Requires](https://img.shields.io/badge/Software%20Requires-Java%208-blue)\n\n### [中文README](README.md) | [Update Logs](update_logs-en.md) | [Troubleshooting](troubleshooting-en.md) | [Kotlin Version](https://github.com/MrShieh-X/cmcl-kotlin)\n\n## 🎬 Video Tutorial\nChinese: [\\[CMCL2.0\\]命令行版MC启动器, 支持正版登录|外置登录|统一通行证|模组/整合包搜索安装|自定义皮肤披风](https://www.bilibili.com/video/BV1bY411R7wa/)\u003cbr/\u003e\nIf you still have any problems after watching the video or using it, you can refer to [Troubleshooting](troubleshooting-en.md) or ask the author through the author's contact information found in [About Author](#-about-author).\n\n## 🏆 Special Thanks\n- [@0xpte4r6](https://github.com/0xpte4r6): Developed some functions\n- [@mail_set](https://space.bilibili.com/435654748) ([Personal Website](https://mailset.top)): Upload CMCL to AUR repository (named`cmcl`)\n\n## 📕 Tutorial\n- If your operating system is Windows, you can download `cmcl.exe` in Releases, then open cmd, use `cd /d \u003cdirectory path\u003e` to open the directory where `cmcl.exe` is located, and execute the command `cmcl` , followed by options and parameters. If you want to use CMCL in any directory, please refer to [\"How to use CMCL in any path?\" in Troubleshooting](troubleshooting-en.md#how-to-use-cmcl-in-any-path).\n- If your operating system is ArchLinux, you can use yay to install CMCL, the command is as follows:\n```shell\nyay -S cmcl\n```\nThen directly enter the command `cmcl`, followed by options and parameters.\n- If your operating system is macOS, you can use Homebrew to install CMCL, the command is as follows:\n```shell\nbrew tap MrShieh-X/brew\nbrew install cmcl\n```\nThen directly enter the command `cmcl`, followed by options and parameters. \u003c/br\u003e\nThe command to update the launcher is:\n```shell\nbrew update\nbrew upgrade cmcl\n```\nThe command to uninstall is:\n```shell\nbrew uninstall cmcl\n```\n- If you are other Linux users, or you are a macOS user, but do not want to use Homebrew to install, you can find the latest version in Releases, download `cmcl`, and then open the directory where `cmcl` is located in the terminal, execute `. /cmcl`, followed by options and parameters.\n- If none of the above methods apply to you, you can find the latest version in Releases, download `cmcl.jar`, then open the directory where `cmcl.jar` is located in the terminal (or cmd under Windows), and execute the following command, Followed by options and parameters. This method is available on most operating systems.\n```shell\njava -jar cmcl.jar\n```\nFor specific usage, please refer to [Help Documentation](#-help-documentation). If you want to modify the configuration of the launcher, please refer to [Configurations](#-configurations).\n\n## 📖 Help Documentation\nGet general help documentation via `cmcl -h` or `cmcl --help`\u003cbr/\u003e\nTo get help documentation of a single function, add `-h` or `--help` after the function option, such as `cmcl account --help`\u003cbr/\u003e\nNote: Content in square brackets is optional. A comma in an option means that both options can do the same thing.\u003cbr/\u003e\nFor specifying content for options, you can only add content directly after the abbreviated option (a hyphen) (no spaces), such as `cmcl -lD:\\.minecraft`,\u003cbr/\u003e\nyou can only add an equal sign after the complete option (two hyphens) and then enter the content, such as `cmcl --list=D:\\.minecraft`,\u003cbr/\u003e\nor add a space after the two and then enter the content, such as `cmcl -l D:\\.minecraft`; `cmcl --list D:\\.minecraft`, for details, please refer to the example after the option description.\u003cbr/\u003e\nFor some commands that may be entered frequently, you can set simplified commands, see [\"Can I make a 'shortcut' for a command I type often?\" in Troubleshooting](troubleshooting-en.md#can-i-make-a-shortcut-for-a-command-i-type-often).\n\n## 🔧 Configurations\nThe configurations are storing in a JSON file named cmcl.json in the launcher running directory (`userDirectory/.config/cmcl` under Linux and macOS), you can edit them by a file editor (need to know JSON tutorial, recommended to backup before modification) or the program arguments `config \u003cconfig name\u003e \u003ccontent\u003e` (see Help Documentation Configuration Related).\u003cbr/\u003e\nIf you edit configurations by a file editor, the configuration name and text configuration content need to be enclosed in double quotes (\"\").\u003cbr/\u003e\nIf you edit by command, if the configuration content contains spaces, it needs to be enclosed in double quotes (\"\").\u003cbr/\u003e\nYou can view the table below through the options `config --view`.\u003cbr/\u003e\nNote: For configurations whose type is Boolean, its value can be `true` which means \"yes\", or `false` which means \"no\".\n\n| Configuration Name      | Type        | Meaning                                                                                                                                                                                                                                                           |\n|-------------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| accounts                | JSON Array  | Accounts (Non-direct modification, please use \"account -h\" to get the relevant tutorial for modification)                                                                                                                                                         |\n| downloadSource          | Integer     | Download source, 0 is the official, 1 is BMCLAPI                                                                                                                                                                                                                  |\n| language                | Text        | Language, zh is Simplified Chinese, en is English and cantonese is Cantonese (Simplified)                                                                                                                                                                         |\n| selectedVersion         | Text        | Selected start version, you can directly use \"cmcl\" to start it                                                                                                                                                                                                   |\n| maxMemory               | Integer     | [**Game related**] Maximum (Unit: MB)                                                                                                                                                                                                                             |\n| gameDir                 | Text        | [**Game related**] Custom the path of the game directory (or set working directory), default is .minecraft                                                                                                                                                        |\n| assetsDir               | Text        | [**Game related**] Custom assets resource directory path, if empty, it is the assets directory in the game directory                                                                                                                                              |\n| resourcesDir            | Text        | [**Game related**] Custom resource pack directory path, if empty, it is the resourcepacks directory in the game directory                                                                                                                                         |\n| javaPath                | Text        | [**Game related**] Java Path (It will get automatically if it is empty)                                                                                                                                                                                           |\n| windowSizeWidth         | Integer     | [**Game related**] The width of the game window                                                                                                                                                                                                                   |\n| windowSizeHeight        | Integer     | [**Game related**] The height of the game window                                                                                                                                                                                                                  |\n| isFullscreen            | Boolean     | [**Game related**] Whether the game window is fullscreen or not                                                                                                                                                                                                   |\n| exitWithMinecraft       | Boolean     | [**Game related**] When running the game, whether or not you need to exit the launcher and exit the game by the way                                                                                                                                               |\n| printStartupInfo        | Boolean     | [**Game related**] When starting the game, whether to output startup information (Java path, maximum memory, etc.)                                                                                                                                                |\n| checkAccountBeforeStart | Boolean     | [**Game related**] Check whether the account is available before starting the game                                                                                                                                                                                |\n| jvmArgs                 | JSON Array  | [**Game related**] Customize JVM arguments (Check out the examples below or use \"jvmArgs -h\" to get the relevant tutorial for modification)                                                                                                                       |\n| gameArgs                | JSON Object | [**Game related**] Customize game arguments (Check out the examples below or use \"gameArgs -h\" to get the relevant tutorial for modification)                                                                                                                     |\n| qpLogFile               | Text        | [**Game related**] The log file path (relative to the game directory) of Quick Play (a new feature of Minecraft 1.20, set the following three configurations to start the game and directly enter the save, server or realms, only one item can be set), optional |\n| qpSaveName              | Text        | [**Game related**] The name of the save that the quick play will join directly                                                                                                                                                                                    |\n| qpServerAddress         | Text        | [**Game related**] The address (including port) of the server that the quick play will join directly, this configuration also applies to versions prior to 1.20                                                                                                   |\n| qpRealmsID              | Text        | [**Game related**] The ID of the realms that the quick play will join directly                                                                                                                                                                                    |\n| proxyEnabled            | Boolean     | Whether to enable network proxy                                                                                                                                                                                                                                   |\n| proxyHost               | Text        | Proxy Host Address                                                                                                                                                                                                                                                |\n| proxyPort               | Integer     | Proxy Port                                                                                                                                                                                                                                                        |\n| proxyUsername           | Text        | Proxy authentication username(optional for proxy)                                                                                                                                                                                                                 |\n| proxyPassword           | Text        | Proxy authentication password(optional for proxy)                                                                                                                                                                                                                 |\n| modDownloadSource       | Text        | Mod download source, curseforge or modrinth                                                                                                                                                                                                                       |\n| modpackDownloadSource   | Text        | Modpack download source, curseforge or modrinth                                                                                                                                                                                                                   |\n| simplifyCommands        | JSON Object | Simplify commands (use \"simplify -h\" to get the relevant tutorial for modification)                                                                                                                                                                               |\n\n\u003cdetails\u003e\n\u003csummary\u003eExample for jvmArgs\u003c/summary\u003e\n\n```json\n[\"-Dfile.encoding=UTF-8\", \"-Djava.library.path=natives\", \"-XX:+PrintGC\"]\n```\nThe above content means that the JVM arguments `-Dfile.encoding=UTF-8`, `-Djava.library.path=natives` and `-XX:+PrintGC` will be added.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eExample for gameArgs\u003c/summary\u003e\n\n```json\n{\n  \"fullscreen\": \"\",\n  \"arg1\": \"value1\",\n  \"arg2\": \"value2\",\n  \"arg3\": \"space value3\"\n}\n```\nThe above content means that the game arguments `--fullscreen --arg1 value1 --arg2 value2 --arg3 \"space value3\"` will be added.\n\u003c/details\u003e\n\n## 🌏 Supported Interface Languages\nUse `cmcl config language \u003clanguage code\u003e` to switch languages.\n\n|        Language        | Language Code |\n|:----------------------:|:-------------:|\n|        English         |      en       |\n|   Simplified Chinese   |      zh       |\n| Cantonese (Simplified) |   cantonese   |\n\n## ©️ Copyright\nMrShiehX owns the copyright of this program.\u003cbr/\u003e\nAnyone can take advices of this program to us.\n\n## 📄 License\nThe software is distributed under [GPL v3](https://www.gnu.org/licenses/gpl-3.0.html) with additional terms.\n\n    Console Minecraft Launcher\n    Copyright (C) 2021-2024  MrShiehX\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your function) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n\n### 📑 Additional terms under GPLv3 Section 7\nYou must \u003cb\u003enot\u003c/b\u003e remove the copyright declaration displayed in the software. \\[[under GPLv3, 7(b).](https://github.com/MrShieh-X/console-minecraft-launcher/blob/f266ff87c0af3487ce66b47afbdb5d6dbc90f240/LICENSE#L368-L370)\\]\n\n## 📢 Disclaimer\n- The copyright of Minecraft belongs to Mojang Studios and Microsoft. The software producer is not responsible for any copyright issues arising from the use of CMCL. Please support the official game.\n- All consequences arising from the use of CMCL by the user shall be borne by the user himself. Any legal disputes and conflicts involving CMCL have nothing to do with the developer, and CMCL and the developer will not bear any responsibility.\n\n## 🎓 About Author\nMrShiehX\u003cbr/\u003e\n- Bilibili:\u003cbr/\u003e\n  [@MrShiehX](https://space.bilibili.com/323674091) \u003cbr/\u003e\n\n## If you find any bugs in CMCL, or have new ideas, please leave a message on Bilibili or raise an issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMrShieh-X%2Fconsole-minecraft-launcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMrShieh-X%2Fconsole-minecraft-launcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMrShieh-X%2Fconsole-minecraft-launcher/lists"}