Puede descargar la última versión en nuestra sección de Versiones en Git Hub: [Click Aquí](https://github.com/MCCTeam/Minecraft-Console-Client/releases)
- [.NET 6.0 o superior](https://dotnet.microsoft.com/en-us/download) o [Visual Studio](https://visualstudio.microsoft.com/) configurado para el desarrollo de aplicaciones C#
Si la compilación ha tenido éxito, el binario compilado `MinecraftClient.exe` estará en la carpeta: `MinecraftClient/bin/Release/net6.0/win-x64/publish`
1. Abra la carpeta `Minecraft-Console-Client` que ha clonado o descargado
2. Abra PowerShell (`Click derecho` en el espacio en blanco y haga clic en `Abrir PowerShell`, o en el Explorador de Windows: `Archivo -> Abrir PowerShell`)
3. Ejecute el siguiente comando para compilar el proyecto:
Si la compilación ha tenido éxito, el binario compilado `MinecraftClient.exe` estará en la carpeta: `MinecraftClient/bin/Release/net6.0/win-x64/publish`
**Si estás usando Linux, asumiremos que puedes instalar git por tu cuenta. Si no sabes cómo, búscalo para tu distribución, debería ser fácil. (Distros basadas en Debian: `apt install git`, Basado en Arch: `pacman -S git`)**
**Si estás usando Linux que sea ARM, 32-bit, basado en Rhel, Usando Musl o Tirzen, [encuentre el RID apropiado](https://docs. icrosoft.com/en-us/dotnet/core/rid-catalog#linux-rids) para tu plataforma y reemplaza el `'-r linux-64` con un apropiado `-r <your RID>` (Ejemplo para arm: `-r linux-arm64`)**
**Si no estás usando MAC con Intel, encuentre un RID apropiado para tu procesador ARM, [encuentra el RID apropiado](https://docs. icrosoft.com/en-us/dotnet/core/rid-catalog#macos-rids) y reemplaza el `'-r osx-64` con un `-r apropiado <your RID>` (Ejemplo para arm: `-r osx.12-arm64`)**
**Esta sección es para usuarios más avanzados, si no sabes cómo instalar git o docker, puede echar un vistazo a otras secciones para Git, y buscar sobre cómo instalar Docker en su sistema.**
**Preste atención a las advertencias, Docker funciona actualmente, pero debe iniciar los contenedores en el modo interactivo o MCC se bloqueará, estamos trabajando en resolver esto.**
**Hay un error con ConsoleInteractive que causa un fallo cuando un contenedor se inicia en modo sin cabeza(headless), así que necesita usar el modo interactivo. No reinicie los contenedores de manera clásica, Deténgalo y entonces inícielo con el modo interactivo (este comando), después de eso simplemente desacopla con `CTRL + P` y luego `CTRL + Q`.**
# También puede ignorar el parámetro -v si no quiere montar el volumen, eso depende de usted. Si no lo hace, es más difícil editar el archivo de configuración .ini si es algo que se quiere hacer.
Asegúrese de que está en el directorio en el que se almacena `docker-compose.yml` antes de intentar iniciarlo. Cuando lo haga, puede iniciar el contenedor:
Tenga en cuenta que no podrá interactuar con el cliente usando `docker-compose up`. Si desea esa funcionalidad, utilice el primer método: `docker-compose run MCC`.
Es posible ejecutar el cliente de la consola de Minecraft en Android a través de Termux y Ubuntu 22.04 en él, sin embargo requiere una configuración manual de varios comandos, tenga cuidado de NO OMITIR ningún paso. Tenga en cuenta que esto puede tardar entre 10 y 20 minutos o más en completar dependiendo de su nivel de conocimiento técnico, Velocidad de Internet y velocidad del CPU.
**Esta sección va a ser un poco técnica, voy a hacer todo lo posible para que sea lo más simple posible. Si tiene problemas para continuar o si encuentra algún problema, no dude en abrir una discusión en nuestro repositorio de Github.**
**Necesitas tener algunos conocimientos básicos de Linux, si no sabes nada, mira [este video](https://www.youtube.com/watch?v=SkB-eRCzWIU) para familiarizarse con los comandos básicos.**
**Aquí estaremos instalando todo en la cuenta root por simplicidad, si quieres crear una cuenta de usuario, asegúrate de actualizar el comando que hace referencia al directorio `/root` con tu directorio de inicio.**
**La versión de Termux en Play Store está desactualizada y no está soportada, no la utilices, usa la versión oficial en [Github](https://github.com/termux/termux-app/releases/latest/).**
Vaya a [la última versión de Termux en Github](https://github.com/termux/termux-app/releases/latest/), descargue `debug_universal.apk`, descomprima y ejecute.
**Si tu gestor de archivos no te permite ejecutar archivos APK, instala y usa `File Manager +` y dale permiso para instalar aplicaciones de terceros cuando se te pregunte.**
**Una vez instalado Termux, ábralo, baje el menú de notificaciones, en la notificación de Termux, arrastre hacia abajo hasta que vea las siguientes opciones: `Exit | Acquire wakelock`, presione en `Acquire wakelock` y permita a Termux tener permsio de exclusión de optimización de batería cuándo se pregunte. Si no lo haces, ¡tu rendimiento será reducido y Termux podría ser cerrado por Android mientras se ejecuta en segundo plano!**
Ya que hay problemas al instalar .NET 6.0 a través del gestor de paquetes APT en el momento en el que este documento se escribió, tendremos que instalarlo manualmente.
After you have installed dependencies, it's time to install .NET, you either can follow this tutorial or the [Microsoft one](https://docs.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#manual-install).
Navigate to your `/root` home directory with the following command:
```bash
cd /root
```
First you need to download .NET 6.0, you can do it with the following command:
**This tutorial assumes that you have 64 bit version of ARM processor, if you happen to have a 32-bit version replace the link in the command above with [this one](https://download.visualstudio.microsoft.com/download/pr/cf567026-a29a-41aa-bc3a-e4e1ad0df480/0925d411e8e09e31ba7a39a3eb0e29af/aspnetcore-runtime-6.0.8-linux-arm.tar.gz)**
**This tutorial assumes that you're following along and using Ubuntu 22.04, if you're using a different distro, like Alpine, go to [here](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) and copy an appropriate link for your distro.**
</div>
Once the file has been downloaded, you need to run the following commands in order:
Now we need to tell our shell to know where the `dotnet` command is, for future sessions, since the commands above just tell this current session where the `dotnet` is located.
**You will need a basic knowledge of Nano text editor, if you do not know how to use it, watch this [Youtube video tutorial](https://www.youtube.com/watch?v=DLeATFgGM-A)**
</div>
To enable this, we need to edit our `/root/.bashrc` file with the following command:
```bash
nano /root/.bashrc
```
Scroll down to the bottom of the file using `Page Down` (`PGDN`) button, make a new line and paste the following text:
**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.**
</div>
Let's make a folder where the MCC will be stored with the following command:
You can remove the zip archive now, we do not need it anymore, with:
```bash
rm MinecraftClient-linux-arm64.zip
```
And finally run it with:
```
./MinecraftClient
```
#### After installation
When you run Termux next time, you need to start Ubuntu with: `./startubuntu.sh`
Then you can start the MCC again with `./MinecraftClient`
To stop MCC from running you can press `CTRL + C`
To edit the configuration/settings, you need a text editor, we recommend Nano, as it's very simple to use, if you have followed the installation steps above, you should be familiar with it, if not, check out [this tutorial](https://www.youtube.com/watch?v=DLeATFgGM-A).
**This is a new section, if you find a mistake, please report it by opening an Issue in our [Github repository](https://github.com/MCCTeam/Minecraft-Console-Client). Thank you!**
</div>
The **Minecraft Console Client** can be run on a VPS 24 hours, 7 days a week.
- [Installing the Minecraft Console Client](#installing-mcc-on-a-vps)
### What is a VPS?
VPS stands for a **V**irtual **P**rivate **S**erver, it's basically a remote virtual PC that is running in the cloud, 24 hours a day, 7 days in week. To be precise, it's a virtual machine that runs on top of a host operating system (eg. Proxmox).
You can use a VPS for hosting a website, or a an app, or a game server, or your own VPN, or the Minecraft Console Client.
Here is a [Youtube video](https://youtu.be/42fwh_1KP_o) that explains it in more detail if you're interested.
### Prerequisites
1. Gitbash (if you're on Windows)
Download and install [Gitbash](https://git-scm.com/downloads).
**Make sure to allow the installation to add it to the context menu**
</div>
2.`ssh` and `ssh-keygen` commands (On Windows they're available with Gitbash, on macOs and Linux they should be available by default, it not, search on how to install them)
3. Basic knowledge of Linux shell commands, terminal emulator usage, SSH and Nano editor.
If you already know this, feel free to skip.
if you get stuck, watch those tutorials.
If you're new to this, you can learn about it here:
- [What is Linux? by Bennett Bytes by Bennett Bytes](https://www.youtube.com/watch?v=JsWQUOEL0N8)
- [Linux Terminal Introduction by ExplainingComputers](https://www.youtube.com/watch?v=SkB-eRCzWIU)
- [Linux Crash Course - nano (command-line text editor) by Learn Linux TV](https://www.youtube.com/watch?v=DLeATFgGM-A)
- [Linux Crash Course - The wget Command by Learn Linux TV](https://www.youtube.com/watch?v=F80Z5qd2b_4)
- [Linux Basics: How to Untar and Unzip Files (tar, gzip) by webpwnized](https://www.youtube.com/watch?v=1DF0dTscHHs)
### Where to get a VPS
You have 2 options:
- [Buying a VPS](#buying-a-vps)
- [Getting an AWS EC2 VPS for free (12 months free trial)](#aws-ec2-vps)
#### Buying a VPS
If you do not want to give your info to Amazon or don't have a debit card, you can buy your own VPS.
**What hardware requirements I need for running the MCC?**
The MCC is not expensive to run, so it can run on basically any hardware, you do not need to spend a lot of money on a VPS if you are going to run just the MCC, go with the cheapest option.
**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.**
**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 `ping <ip>` and `traceroute <ip>` commands.**
**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.**
**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.**
**Make sure that it has `Free tier eligible` next to it.**
</div>

For the **Instance type** select `t2.micro`.
For the **Key pair (login)** click on **Create new key pair** and name it `VpsRoot`, leave the rest of settings as default and click **Create key pair**, this will generate a RSA private key that will be automatically downloaded.
**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.**
**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.**
Finally, review the **Summary** confirm that everything is as in the tutorial and that you will not be charged and click on the **Launch instance**. Once you've clicked on the button, it will take a couple of minutes for the instance to be available up and running.
Once the instance is up and running, go to it's details and copy the `Public DNS v4 IP`.
You now need to login, go to your folder where you keep the private key you've generated and downloaded (make sure you make a new folder for it, do not keep in the downloads folder) and right click on the empty white space (not on files), if you're on Windows click **Git Bash here**, on mac OS and Linux click on **Open Terminal** (or whatever it is called).
In order to login with SSH, you are going to use the following command:
**This section if for those who do not use AWS, if you use AWS skip it**
</div>
When you order the VPS, most likely you will be asked to provide the root account name and password, if it is the case, name the account as `root` and give it a password of your choice.
Other option is that you will get your login info in the email once the setup is done.
Once you have the root login account info, you need [Gitbash](https://git-scm.com/downloads) on Windows and `ssh` if you're on macOS or Linux (if you do not have it by some chance, search on how to install it, it is simple).
If you're on Windows open `Git Bash`, on mac OS and Linux open a `Terminal` and type the following command:
**If you're given a custom port other than `22` by your host, you should add `-p <port here>` before the username (eg. `ssh -p <port here> <username>@<ip>`) or `:<port>` after the ip (eg. `ssh <username>@<ip>:<port>`)**
</div>
Example:
```bash
ssh root@142.26.73.14
```
Example with port:
```bash
ssh -p 2233 root@142.26.73.14
```
Once you've logged in you should see a Linux prompt and a welcome message if there is one set by your provider.
### Creating a new user
Once you've logged in to your VPS you need to create a new user and give it SSH access.
In this tutorial we will be using `mcc` as a name for the user account that will be running the MCC.
**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.**
</div>
To create a new user named `mcc` execute the following command:
```bash
sudo useradd mcc -m
```
Now we need to give it a password, execute the following command, type the password and confirm it:
On your PC, make a new folder where you are going to store your SSH keys that you're going to use to log in to the user account.
Open the folder, and right click on the empty white space (not on files), if you're on Windows click **Git Bash here**, on mac OS and Linux click on **Open Terminal** (or whatever it is called).
Enter the name of the key file to be: `MCC_Key`, press Enter.
When asked for a `passphrase`, enter a password of your choice and confirm it, make sure it's strong and that you remember it, best if you write it down on a piece of paper.
This will generate a private and a public key that you will use to log in to the VPS as a user that you've created.
Now open the `MCC_Key.pub` file with a text editor of your choice and copy it's contents to the clipboard.
Return to the Git Bash/Terminal emulator and execute the following command:
```bash
sudo apt install nano -y
```
This will install the Nano editor on your VPS.
Now we need to let the SSH service on your VPS know about your newly generated SSH key pair.
Make sure you are in the `/home/mcc/.ssh` folder, you can confirm this by executing:
```bash
pwd
```
If it does not print `/home/mcc/.ssh`, navigate to it with:
```bash
cd /home/mcc/.ssh
```
Now you need to open the `authorized_keys` file with the nano editor:
```bash
nano authorized_keys
```
Now paste the copied contents of the `MCC_Key.pub` into the nano editor by right clicking on it.
Save the file with `CTRL + O`, press Enter, and then exit it with `CTRL + X`.
Now we need to configure the SSHD service to let us login with the SSH key we have generated, for this we need to edit the `/etc/ssh/sshd_config` file with nano:
```bash
sudo nano /etc/ssh/sshd_config
```
Find the `#PubkeyAuthentication yes` line and remove the `#` in front to uncomment the line.
Then find the `#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2` line and remove the `#` to uncomment the line.
Additionally for better security you can do the following:
- Set `PermitRootLogin` to `yes`
- Change the `Port` to some number of your choice (22-65000) (Make sure it's at least 2 digits and avoid common ports used by other apps like: 21, 80, 35, 8080, 3000, etc...)
- Uncomment `#PasswordAuthentication yes` by removing the `#` in front and set it to `yes` (This will disable password login, you will be able to login with SSH keys only!)
Save the file with `CTRL + O`, hit Enter, close it with `CTRL + X`.
**If you've changed the `Port`, make sure you add a `-p <your port here>` option after the `-i <key>` option (eg. `ssh -i MCC_Key -p 8973 mcc@3.71.108.69`)!**
</div>
If did everything correctly you should see a Linux prompt and a welcome message if there is one on your provider.
**With newer versions of .NET Core 6 on Ubuntu 22.04 you might get the following error: `A fatal error occurred, the folder [/usr/share/dotnet/host/fxr] does not contain any version-numbered child folders`, if you get it, use [this solution](https://github.com/dotnet/sdk/issues/27082#issuecomment-1211143446)**
</div>
Log in as the user you've created.
Update the system packages and package manager repositories:
Run the following command to check if everything was installed correctly:
```bash
dotnet
```
You should get:
```
Usage: dotnet [options]
Usage: dotnet [path-to-application]
Options:
-h|--help Display help.
--info Display .NET information.
--list-sdks Display the installed SDKs.
--list-runtimes Display the installed runtimes.
path-to-application:
The path to an application .dll file to execute.
```
If you do not get this output and the installation was not successful, [try other methods](https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu#2204).
If it was successful, you can now install the MCC.
### Installing MCC on a VPS
Now that you have .NET Core 6.0 and a user account, you should install the `screen` utility, you will need this in order to keep the MCC running once you close down the SSH session (if you do not have it, the MCC will just stop working once you disconnect). You can look at the `screen` like a window, except it's in a terminal, it lets you have multiple "windows" open at the same time.
**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.**
**`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.**