Introducción

Bienvenido a la documentación completa de nuestro proyecto. Esta herramienta desarrollada en python en línea de comandos, diseñada para dar un toque nuevo, colorido y mas tecnico/automatico a la consola nativa de Minecraft Bedrock Servidor mas conocido como BDS (Bedrock Dedicate Server).

Dato: Hasta ahora Bedrock-CLT es compatible con todas las versiones a partir de la 1.16.x y posteriores de BDS.

¿Qué es Bedrock-CLT?

Bedrock-CLT, es un programa/aplicacion desarrollada en python. Pensada en maximizar la experiencia de administradores de BDS (Bedrock Dedicate Server), ya que este posee un entorno Consola bastante basico, sin mejoras establecidas. Por lo cual Bedrock-CLT llega a solucionar, este permite una experiencia mas amigable, colorida y con un entorno mas tecnico/automatico. Para llevar al maximo los mundos con BDS.

Bedrock-CLT esta preparado para trabajar en entorno SO tanto de Windows y Ubuntu/Linux.

NOTA: Este Programa funciona junto al Programa/Interprete Python que esta disponible desde su sitio oficial. "Si trabaja en Linux no es nesesario realizar este paso".
NOTA: Bedrock-CLT Usa JSON para comunicarse con el usuario, por lo cual no es nesesario tocar el codigo fuente, pero en caso de que el usuario posea habilidades con el lenguaje python se pueden crear sistemas interesantes con Bedrock-CLT y BDS (Miencraft), tocando el codigo fuente de Bedrock-CLT.

Instalación

Prerrequisitos

Antes de comenzar, asegúrate de tener instalado en tu sistema:

  • Python (versión 3.11 o superior)
  • pip como gestor de paquetes de python

Pasos de instalación

1. Descargar Bedrock-CLT

📲 Se debe descargar desde la pagina de github en el apartado realses.
Descargue la ultima version estable.

2. Instalar dependencias

bash
# Instalar dependencias manual
pip install colorama

# Instalar dependencias via requirements.txt
pip install -r requirements.txt

Configuración

Definir Version OS

Accede al archivo config.json en la carpeta raíz del proyecto llamada: bedrock-clt, define los siguientes argumentos:

Archivo config.json (estructura | demostracion):
Arquitectura del sistema
Imagen de referencia del archivo JSON
Dato: En la variable VersionSO, debes definir el entorno SO en el que se ejecutara Bedrock-CLT. Este solo esta disponible para dos versiones de SO y a continuacion su respectivo valor en config.json:
txt
> Ubuntu/Linux == "VersionSO: 0"

> Windows == "VersionSO: 1"

Ruta Personalizada (Windows)

Esta variable no viene por defecto en config.json, ya que es una funcion un poco oculta solamente disponible para Windows y solo si el usuario la nesecita.

Archivo config.json (estructura | demostracion):
Arquitectura del sistema
Imagen de referencia del archivo JSON

Permite colocar una ruta o carpeta que contenga bedrock_server.exe.

Ejemplo de una estructura:

txt
├ bedrock-clt/
│   └── commands/
│   └── modules/
│   └── config.json
│
├ bedrock-server-1.21.70.10/
│ # └── bedrock_server.exe
│ 
├ bedrock-clt.py

Entonces solo se colocara la carpeta en donde se encuentra bedrock_server.exe entonces:

json
{
    "VersionSO": 0,

    "ruta_raiz": "bedrock-server-1.21.70.10"
}
Advertencia: Ese seria el valor de "ruta_raiz", NO la ruta incluyendo el archivo, solo la ruta que conduce a la carpeta que contiene el archivo bedrock_server.exe.

Configuracion en Comandos Personalizados

Para añadir comandos personalizados a Bedrock-CLT, es nesesario modificar el archivo commands.json que se encuentra en la ruta:

bash
# Ruta de commands.json 
cd bedrock_clt/commands/commands.json

A continuacion, ubicacion del mismo archivo pero visualmente.

Arquitectura del sistema
Imagen de referencia (VS Code)

Este archivo es el que nos permitira crear comandos persornalizados para ejecutarlos desde Bedrock-CLT con #, actualmente el archivo commands.json contiene la siguiente estructura:

Arquitectura del sistema
Imagen de referencia del archivo JSON

Si decidimos ejecutar este comando desde Bedrock-CLT ya iniciado se ejecutara el valor de la clave definida en el json, Ejemplo:

Arquitectura del sistema
Imagen de referencia (CMD)

Se ejecutara con exito! el comando nativo de minecraft bedrock definido en commands.json. Se pueden añadir tantos comandos como sean nesesarios para el usuario.

Uso

Iniciar Bedrock-CLT

Una vez completada la instalación y configuración, puedes iniciar bedrock-clt:

Windows:
bash
# Iniciar en Windows
python bedrock-clt.py
Ubuntu/Linux:
bash
#iniciar en Ubuntu/Linux
chmod +x bedrock-clt.py
python bedrock-clt.py
¡Listo! Ahora puedes usar Bedrock-CLT para interactuar con tu servidor BDS.

Iniciar Bedrock-CLT En Entorno Profesional (VPS)

Para Iniciar Bedrock-CLT en VPS

Tomando en Cuenta que la mayoria de ocasiones los BDS son ejecutados en VPS. A continuacion una guia para evitar problemas durante la ejecucion o el intento de ejecucion de Bedrock-CLT en VPS que posea SO Ubuntu/Linux.

(Para Realizar el ejemplo se usara un VPS Contabo.)

Preparación del VPS

Antes de iniciar con la descarga de Bedrock-CLT, hay que configurar e instalar recursos en el VPS

Entorno de ejecucion seguro de python

Muchas veces en VPS Contabo no deja instalar librerias con pip en el sistema, esto gracias a las versiones recientes de python y pip, por lo cual es necesario crear un entorno virtual para poder instalar las librerias de Bedrock-CLT. Para crear uno se debe ejecutar el siguientes comando:

bash
sudo apt update
sudo apt install python3-venv -y

Una vez instalado, se puede crear un entorno virtual de ejecucion segura para python con los siguientes comandos:

bash
# Crear el entorno virtual
python3 -m venv venv

# Activarlo
source venv/bin/activate

# Instalar paquetes dentro del entorno
pip install colorama

Esto creara una carpeta llamada venv, en el directorio donde se ejecutaron los comandos de creacion del entorno

¡Listo! Ahora podemos usar Bedrock-CLT y que este no explote al tratar de iniciar por falta de liberias.

Descargar e Iniciar Bedrock-CLT

Ahora Pasaremos con la ejecucion de Bedrock-CLT y de modo que aprovechemos todos los recursos del VPS para asi no tener lag ni fallas en el servidor BDS. Para ello podemos usar un archivo .sh que contenga los comandos algo asi como un ejecutable.

sh
#!/bin/bash

# Ruta al directorio del script
cd "$(dirname "$0")/ServerMinecraft/" || exit 1

# Subir los límites del sistema solo para este proceso
ulimit -n 1048576
ulimit -u unlimited

# Activar el entorno virtual
source venv/bin/activate

# Ir a la carpeta del servidor con espacios y paréntesis
cd "bedrock-server-1.21.60.10/" || exit 1

# Ejecutar con prioridad alta en 3 CPUs especificadas 
exec taskset -c 0-3 nice -n -20 python3 bedrock-clt.py 

Advertencia: No olvide darle permisos elevados al archivo .sh, ./bedrock_server y bedrock-clt.py

Suponiendo que tenemos la siguiente estructura de carpetas:

txt
├ ServerMinecraft/
│   └── venv/                        #Entorno de ejecución de python
│   └── bedrock-server-1.21.60.10/   #Carpeta del BDS
│         └── ./bedrock_server
│         └── bedrock-clt.py                 # Carpeta de Bedrock-CLT
│         └── Bedrock-clt/
│ 
├ Execute.sh

Entonces para ejecutar Bedrock-CLT en el VPS, solo se debe ejecutar el siguiente comando:

bash
./Execute.sh
¡Listo! Ahora puedes usar Bedrock-CLT para interactuar con tu servidor BDS.

Cómo Contribuir

¡Las contribuciones son bienvenidas! Este proyecto es de código abierto y valora la participación de la comunidad.

Formas de contribuir

  • Reportar bugs: Usa GitHub Issues para reportar problemas.
  • Sugerir funcionalidades: Propón nuevas características.
  • Presupuesto: Puedes Ayudar monetariamente.
¡Gracias! Cada contribución, sin importar su tamaño, es valiosa para el proyecto.

Soporte

Si necesitas ayuda con el proyecto, tienes varias opciones:

  • GitHub Issues: Para bugs y requests de funcionalidades
  • Email: Contacto directo para consultas específicas
Tiempo de respuesta: Intentamos responder a las consultas dentro de 24-48 horas en días laborables.