Este proyecto permite gestionar y hostear un servidor de Minecraft de manera local y gratuita, así como respaldar los archivos de este utlizando Google Drive, comprimiendo carpetas específicas y subiéndolas a la nube. Además, gestiona la configuración y el inicio de un servidor de Minecraft con configuraciones personalizadas.
-
Python 3.x (Yo utilizo 3.12.5)
-
Librerías de Python:
google-auth
google-auth-oauthlib
google-auth-httplib2
google-api-python-client
zipfile
-
Java 1.17 o superior
-
Puedes instalar estas librerías ejecutando:
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
-
Archivo de credenciales de Google Drive (
credentials.json
), obtenido desde la consola de desarrolladores de Google o descargado de Drive. -
El archivo de configuración (
config.json
), obtenido y editado desde GitHub o Google Drive.
El proyecto consta de dos partes principales:
-
Drive Uploader: Gestiona la autenticación con Google Drive, comprime las carpetas específicas del servidor de Minecraft (
world
,world_nether
,world_the_end
,heaven
,plugins
) y las sube a Google Drive. -
Main Init: Controla la configuración del servidor de Minecraft, gestionando el inicio y monitoreo del servidor, y almacenando configuraciones locales.
-
config.json
: Contiene la configuración del servidor de Minecraft, como la ruta de descarga, la RAM asignada, y el ID de la carpeta de Google Drive. -
credentials.json
: Necesario para autenticar la conexión con la API de Google Drive. Debe descargarse desde la consola de Google. (Está en el drive)
- Configura tu servidor de Minecraft:
- Modifica el archivo
config.json
para incluir la ruta de la carpeta del servidor, el ID de la carpeta de Google Drive, la RAM máxima y mínima, etc.
- Modifica el archivo
Importante:
download_path
debe tener el formato"C:\\abcd\\efgh\\ijkl"
(carpetas separadas por \)
Nota:
ram_max_gb
yram_min_gb
debe oscilar entre la RAM de tu dispositivo - 2Gb y la RAM de tu dipositivo - 6Gb
- Configura tu router
Nota: Hay más información sobre cómo configurar el router aquí
- Accede a la configuración de tu router escribiendo
192.168.1.1
- Añade una redirección de puertos a tu IP local (puertos
25565
y19132
)- El puerto
25565
en TCP - El puerto
19132
en UDP - Utiliza
ipconfig
para conocer la puerta de enlace y la IP local de tu dispositivo
- El puerto
- Establece una IP local fija para tu dispositivo (recomendado)
- Añade una regla al firewall con los puertos
25565
y19132
(entrada y salida)
- Obtén las credenciales de Google:
(Innecesario, está en drive)
- Dirígete a la Consola de Google Developers, crea un proyecto y habilita la API de Google Drive.
- Descarga el archivo
credentials.json
y colócalo en el directorio del proyecto.
-
Iniciar el servidor de Minecraft:
- Ejecuta el script
main_init.py
oGenesis Server.exe
para iniciar el servidor de Minecraft. Este script verifica la conexión al servidor y, si está en línea, lo inicia con las configuraciones definidas.
- Ejecuta el script
-
Juega:
- Inicia Minecraft con tu laucher de confianza, si no tienes puedes usar Sklauncher. Disfruta del juego. Para cerrar el server, ejecuta el comando
/stop
.
- Inicia Minecraft con tu laucher de confianza, si no tienes puedes usar Sklauncher. Disfruta del juego. Para cerrar el server, ejecuta el comando
Nota: El resto de comandos están aquí
- Subir los archivos a Google Drive:
- Ejecuta el script
drive_uploader.py
oDrive Uploader.exe
para comprimir las carpetas importantes del servidor de Minecraft y subirlas a la carpeta de Google Drive especificada enconfig.json
.
- Ejecuta el script
-
Comprimir carpetas específicas del servidor: El script
drive_uploader.py
comprime las carpetasworld
,world_nether
,world_the_end
,heaven
yplugins
en un archivo.zip
. -
Subir archivo comprimido a Google Drive: Una vez comprimido el archivo, se sube automáticamente a la carpeta indicada en Google Drive, y los archivos previos en esa carpeta se eliminan.
-
Monitoreo del servidor: El script
main_init.py
permite verificar si el servidor de Minecraft está en línea en el puerto 25565, y gestiona el inicio y parada del servidor con la configuración de RAM.
-
Credenciales de Google no válidas: Asegúrate de que el archivo
credentials.json
esté correctamente configurado y que tengas acceso a la API de Google Drive. -
Archivos no encontrados: Verifica que las carpetas
world
,world_the_end
,world_nether
,heaven
yplugins
existan en la ruta especificada. -
Error de autentificación: Error en el archivo
token.pickle
, bórralo y vuelve a ejecutar el programa. -
Error en la versión: Si estáis en genesis, comprobad que la versión de Minecraft es la
1.21.1
-
Error de conexión: Comprueba la dirección del servidor, puedes utilizar el comando
ping "IP"
para ver si el servidor está online. Si estás jugando en Minecraft Bedrock PE, comprueba que tenéis habilitada la opción de usar datos móviles. Si tienes dudas de si el servidor está funcionando comprueba que los puertos25565
y19132
están abiertos en Minecraft Server Status o Can U See Me