--- title: Installation --- # Installation - [YouTube Tutorials](#youtube-tutorials) - [Download a compiled binary](#download-a-compiled-binary) - [Building from the source code](#building-from-the-source-code) - [Run using Docker](#using-docker) - [Run on Android](#run-on-android) - [Run MCC 24/7 on a VPS](#run-on-a-vps) ## YouTube Tutorials If you're not the kind of person that likes textual tutorials, our community has made video tutorials available on YouTube. - [Installation on Windows by Daenges](https://www.youtube.com/watch?v=BkCqOCa2uQw) - [Installation on Windows + Auto AFK and More by Dexter113](https://www.youtube.com/watch?v=FxJ0KFIHDrY) ## Download a compiled binary You can download a compiled binary of the latest build from the [GitHub Releases](https://github.com/MCCTeam/Minecraft-Console-Client/releases) page. ## Building from the source code We recommend you to download our precompiled binary file from [GitHub](https://github.com/MCCTeam/Minecraft-Console-Client/releases). However, if you want to build the program from source code, please follow the guide. ### Windows Requirements: - [Git](https://www.git-scm.com/) - [.NET 10 SDK](https://dotnet.microsoft.com/en-us/download) or [Visual Studio](https://visualstudio.microsoft.com/) configured for C# app development ::: tip If you want to modify the code and you are new to C# or programming in general, the tutorials listed in [Creating Bots](creating-bots.md#requirements) are a good starting point. ::: #### Cloning using Git Install [Git](https://www.git-scm.com/) 1. Make a new folder where you want to keep the source code 2. Then open it up, hold `SHIFT` and do a `right-click` on the empty white space in the folder 3. Click on `Git Bash Here` in the context menu 4. Clone the [GitHub repository](https://github.com/MCCTeam/Minecraft-Console-Client) by running: ```bash git clone https://github.com/MCCTeam/Minecraft-Console-Client.git --recursive ``` If you cloned the repository without `--recursive`, run: ```bash git submodule update --init --recursive ``` 5. Once the repository has been cloned, you can close the `Git Bash` terminal emulator 6. Open up the new cloned folder #### Download translation resources (optional) 1. Visit [MCC project's homepage on Crowdin](https://crowdin.com/project/minecraft-console-client). 2. You will need to log in to your Crowdin account in order to download. 3. Click on the language you want to download the translation for. 4. Find `MinecraftClient` -> `Resources` -> `Translations` -> `MCC in-app text` 5. Click the button `•••` at the end of the line. 6. Click Download and save the file to folder `/MinecraftClient/Resources/Translations/`. 7. Find `MinecraftClient` -> `Resources` -> `ConfigComments` -> `Comments in the settings file` 8. Click the button `•••` at the end of the line. 9. Click Download and save the file to folder `/MinecraftClient/Resources/ConfigComments/`. 10. Find `MinecraftClient` -> `Resources` -> `AsciiArt` -> `ASCII Arts (Please use fixed-width fonts for editing)` 11. Click the button `•••` at the end of the line. 12. Click Download and save the file to folder `/MinecraftClient/Resources/AsciiArt/`. 13. If you need to download a translation in another language, go to step 3 to continue. #### Building using the Visual Studio 1. Open up the `MinecraftClient.sln` via Visual Studio 2. Right click on `MinecraftClient` solution in the `Solution Explorer` 3. Click on `Properties` 4. Open up the `Build` tab and select configuration `Release` 5. Press `CTRL + S` and close the file 6. Right click on `MinecraftClient` solution in the `Solution Explorer` 7. Click `Build` If the build succeeds, the published binary `MinecraftClient.exe` will be in `MinecraftClient/bin/Release/net10.0/win-x64/publish/`. #### Building using .NET manually without Visual Studio 1. Open the `Minecraft-Console-Client` folder you've cloned or downloaded 2. Open the PowerShell (`Right-Click` on the whitespace and click `Open PowerShell`, or in Windows Explorer: `File -> Open PowerShell`) 3. Install the .NET 10 SDK if you do not already have it. The easiest current option on Windows is: ```powershell winget install Microsoft.DotNet.SDK.10 ``` 4. Run the following command for a normal local build: ```bash dotnet build MinecraftClient.sln -c Release ``` 5. If you want a release-like published binary that matches the repo's CI workflow, run: ```bash dotnet publish MinecraftClient.sln -f net10.0 -r win-x64 --self-contained=true -c Release -p:UseAppHost=true -p:IncludeNativeLibrariesForSelfExtract=true -p:EnableCompressionInSingleFile=true -p:DebugType=Embedded ``` 6. Verify the SDK installation if needed: ```bash dotnet --info ``` If the publish step succeeds, the published binary `MinecraftClient.exe` will be in `MinecraftClient/bin/Release/net10.0/win-x64/publish/`. ### Linux, macOS
Tip
**If you're using Linux we will assume that you should be able to install git on your own. If you don't know how, search it up for your distribution, it should be easy. (Debian based distros: `apt install git`, Arch based: `pacman -S git`)**Tip
**If you are using Linux on ARM, 32-bit, RHEL-based distributions, or Musl, [pick the appropriate RID](https://learn.microsoft.com/en-us/dotnet/core/rid-catalog#linux-rids) for your platform and replace `-r linux-x64` with it, for example `-r linux-arm64`.**Tip
**If you are not using an Intel Mac, [pick the appropriate RID](https://learn.microsoft.com/en-us/dotnet/core/rid-catalog#macos-rids) for your processor and replace `-r osx-x64` with it, for example `-r osx-arm64`.**Tip
**This section is for more advanced users, if you do not know how to install git or docker, you can take a look at other sections for Git, and search on how to install Docker on your system.**Warning
**Docker works, but you need to start the container in interactive mode. Starting it in headless mode can still crash MCC.**Danger
**Because of a ConsoleInteractive issue, starting the container in headless mode can crash MCC. Start it with the interactive command below, then detach with `CTRL + P` followed by `CTRL + Q` if you want to leave it running in the background.**Tip
**This section gets a bit technical. If you run into issues, open a discussion on our GitHub repository page.**Tip
**You're required to have some bare basic knowledge of Linux, if you do not know anything about it, watch [this video](https://www.youtube.com/watch?v=SkB-eRCzWIU) to get familiar with basic commands.**Tip
**Here we're installing everything on the root account for simplicity sake, if you want to make a user account, make sure you update the command which reference the `/root` directory with your home directory.**Warning
**The Play Store version of Termux is outdated and not supported. Use the [GitHub release](https://github.com/termux/termux-app/releases/latest/) instead.**Tip
**If your file manager does not let you run APK files, install and use `File Manager +` and give it a permission to install 3rd party applications when asked.**Danger
**Once you have installed Termux, open it, bring down the Android menu for notifications, on Termux notification, drag down until you see the following options: `Exit | Acquire wakelock`, press on the `Acquire wakelock` and allow Termux to have a battery optimization exclusion permission when asked. If you do not do this, your performance will be poorer and the Termux might get killed by Android while running in the background!**Tip
**If you decide to watch the YouTube tutorial, watch only up to `1:58`. The steps after that are not needed here and might just confuse you.**Tip
**If you're asked to press Y/N during the update/upgrade command process, just enter Y and press Enter**Tip
**Now every time you open Termux after it has been closed, in order to access Ubuntu you have to use this command**Tip
**This example assumes a 64-bit ARM processor. If you are using a different architecture, download the matching SDK archive for that platform instead.**Tip
**This tutorial assumes Ubuntu 24.04. If you are using a different distro, get the current SDK archive for your platform from the [.NET download page](https://dotnet.microsoft.com/en-us/download).**Warning
**Replace the placeholder with the exact filename you downloaded. If you are using a different archive, update this value to match it exactly.**Warning
**Here we're installing .NET in `/root`, if you're installing it somewhere else, make sure to set your own path!**Warning
**You will need a basic knowledge of the Nano text editor. If you do not know how to use it, watch this [YouTube tutorial](https://www.youtube.com/watch?v=DLeATFgGM-A).**Warning
**Here we're installing .NET in `/root`, if you're installing it somewhere else, make sure to set your own path!**Warning
**If you have a 32 ARM processor, you need to build the MCC yourself, take a look at the [Building From Source](#building-from-the-source-code) section. Also make sure to be using the appropriate `-r` parameter value for your architecture.**Tip
**This is a newer section. If you spot a mistake, please report it by opening an issue in our [GitHub repository](https://github.com/MCCTeam/Minecraft-Console-Client).**Tip
**Make sure to allow the installation to add it to the context menu**Danger
**In this tutorial we will be using `Ubuntu 24.04 LTS`, so pick that family when choosing your VPS image.**Tip
**If Ubuntu 24.04 LTS is not in the dropdown when ordering, you may need to reinstall later or ask support to do it.**Danger
**This will require you to have a valid debit card that can be used on internet and a mobile phone number, as well as giving that info to Amazon corporation.**Warning
**Scammers often get AWS VPS and use it to mass login on to stolen Microsoft accounts, some AWS IP addresses might be blocked by Microsoft because of that, if so, you might need to switch regions or to use a Proxy. To debug if your IP has been banned by Microsoft, use the `pingWarning
**Related to the warning above, if you have issues logging with Microsoft and you're not banned, you may want to check the Security center on your account and approve the login from the VPS, this can be the case for some users.**Tip
**If you're not banned, sometimes fetching the keys can take some time, try giving it a minute or two, if it still hangs, hit some keys to refresh the screen, or try restarting and running again. If it still happens, use tmux instead of screen.**Tip
**Skip this section if you're not using AWS. Go to [Initial VPS setup](#initial-vps-setup)**Tip
**Make sure to select the region closest to you for the minimal latency**Danger
**Make sure that it has `Free tier eligible` next to it.**Danger
**Make sure that you save this file in a safe place and do not loose it, it's of an upmost importance since it's used to access the root/admin account of the VPS. Without it you will not be able to access the root account of the VPS! Also do not let it fall into wrong hands.**Tip
**The SSH traffic from Anywhere is not the best thing for security, you might want to enter IP addresses of your devices from which you want to access the VPS manually.**Tip
**`<` and `>` are not typed, that is just a notation for a placeholder!**Tip
**`ubuntu` is a default root account username for Ubuntu on AWS!**Tip
**This section if for those who do not use AWS, if you use AWS skip it**Tip
**If you're given a custom port other than `22` by your host, you should add `-pTip
**You may be wondering why we're creating a separate user account and making it be accessible over SSH only. This is for security reasons, if you do not want to do this, you're free to skip it, but be careful.**Tip
**When you're typing a password it will not be displayed on the screen, but you're typing it for real.**Tip
**Make sure you have a strong password!**Tip
**If you've changed the `Port`, make sure you add a `-pTip
**If your VPS has an ARM CPU, follow [this](#installing-net-on-arm) part of the documentation and then return to section after this one.**Tip
**There is also a Docker method, if you're using Docker, you do not need the `screen` program.**Warning
**If you have issues with Screen command, like output not being properly formatted or program handing/freezing, try using tmux, click [here](https://www.youtube.com/watch?v=Yl7NFenTgIo) to learn how to use it.**Tip
**`mcc` here is the name of the screen, you can use whatever you like, but if you've used a different name, make sure you use that one instead of the `mcc` in the following commands.**Tip
**You need to make a screen only once, however if you reboot your VPS, you need to start it on each reboot.**