Saltar a contenido

Servidor de Minecraft

En este artículo

Información

Minecraft Server es un software de servidor que le permite iniciar un servidor de Minecraft multijugador para jugar en línea.

Funcionalidades de implementación

  • Juego multijugador: el servidor permite conectar y jugar simultáneamente con hasta 255 jugadores;
  • Mundo de juego personalizable: el administrador puede crear mundos únicos, instalar plugins y mods;
  • Gestión del control de acceso: capacidad de asignar diferentes derechos a los jugadores en diferentes partes del mundo;
  • Protección contra griefers: herramientas para proteger el mundo del vandalismo de los jugadores;
  • Copia de seguridad: guardado automático del mundo del servidor para evitar la pérdida de datos;
  • Múltiples mundos: opcionalmente, puede iniciar múltiples mundos diferentes en un solo servidor;
  • API: un conjunto de interfaces para que el servidor interactúe con otras aplicaciones;
  • Monitoreo: seguimiento de usuarios en línea, actividad, registros de eventos;
  • Rendimiento: optimizado para funcionar en un servidor dedicado con un gran número de jugadores.
ID Nombre del software SO compatible VM BM VGPU GPU CPU mín. (núcleos) RAM mín. (GB) HDD/SSD mín. (GB) Dominio personalizado Activo
65 Minecraft: Java Edition Server Ubuntu 22.04 + + + - 1 1 - No ORDER
  • Instalación automática de MCSMManager: un servicio de gestión de clústeres para servidores de Minecraft que le permite:
    • Iniciar, detener y reiniciar servidores de Minecraft automáticamente;
    • Monitorear el estado del servidor y recibir alertas;
    • Gestionar plugins, mods y configuraciones en los servidores;
    • Actualizar las versiones del servidor y de los plugins;
  • Equilibrar la carga entre los servidores del clúster;
  • Realizar copias de seguridad de mundos y datos del servidor;
  • Restaurar servidores desde copias de seguridad;
  • Escalar el clúster agregando o eliminando servidores.
  • Después de instalar MCSMManager, se crea la siguiente estructura de directorios en /opt/mcsmanager/:
  • daemon/: directorio del servicio daemon, que incluye:
    • data/Config/global.json: archivo de configuración global del servicio.
  • web/: directorio de la interfaz web;
  • start-daemon.sh: script de inicio del daemon;
  • start-web.sh: script de inicio de la interfaz web;
  • usage.txt: documentación de uso.
  • Se utilizan directorios y archivos adicionales para configurar HTTPS y gestionar certificados:
  • /var/lib/docker/volumes/nginx_secrets: un almacén de secretos, como claves y certificados para Nginx, organizado a través de Docker Volumes;
  • /data/nginx: el directorio principal para almacenar la configuración de Nginx y archivos relacionados;
    • user_conf.d/: un subdirectorio para configuraciones personalizadas de Nginx;
    • nginx-certbot.env: un archivo de entorno que contiene variables para Certbot para operar automáticamente con Nginx;
  • /root/nginx: un directorio donde pueden ubicarse copias de seguridad o configuraciones adicionales de Nginx gestionadas manualmente.

Nota

A menos que se especifique lo contrario, instalamos la última versión de lanzamiento del software desde el sitio web del desarrollador o los repositorios del sistema operativo.

Requisitos del sistema

Los requisitos de recursos para Minecraft aumentan a medida que crece el número de jugadores en el servidor. Los grupos de juego grandes requieren más RAM y espacio en disco. Requisitos del sistema recomendados para un servidor de Minecraft:

  • Procesador (CPU): 2 núcleos o más, idealmente 2 GHz o superior;
  • RAM: mínimo 2 GB para 1-2 jugadores, 5 GB para 3-6 jugadores, 8 GB para 6+ jugadores;
  • Sistema operativo: Minecraft está disponible para todos los sistemas operativos populares, pero el sistema operativo requiere recursos adicionales;
  • Espacio en disco: mínimo 2 GB para 1-2 jugadores, 18 GB para 3-5 jugadores, 35 GB para 6+ jugadores.

Primeros pasos después del despliegue del servidor de Minecraft

Después de pagar su pedido, recibirá una notificación en el correo electrónico con el que se registró, informándole de que su servidor está listo para funcionar. Contendrá la dirección IP del VPS, así como un nombre de usuario y contraseña para la conexión. Los clientes de nuestra empresa gestionan el hardware en el panel de control de servidores y APIInvapi.

Los datos de autorización que se pueden encontrar en la pestaña Configuration >> Tags del panel de control del servidor o en el correo electrónico son:

  • Link: en la etiqueta webpanel;
  • Login y Password llegan en un correo electrónico a su buzón después de que se despliegue el software cuando su servidor esté listo para funcionar.

Gestión de cuentas y servidores de juego en MCSMManager

La primera vez que haga clic en el enlace desde la etiqueta webpanel, se le pedirá que configure el panel de control y cree una cuenta de administrador. El proceso de configuración inicial consta de los siguientes pasos:

  1. En la ventana abierta, haga clic en el botón Start.

  2. Cree una cuenta de administrador completando los campos requeridos.

  3. Indique su estado de usuario:

    • Nuevo usuario (primera vez que usa el sistema)
    • Usuario existente
  4. Seleccione el tipo de aplicación para el despliegue (por ejemplo, servidor de juego Minecraft Bedrock Edition).

Nota

Por defecto, el sistema se instala con Open JRE 17, lo cual debe tenerse en cuenta al elegir y desplegar el servidor de juego. Al instalar versiones modernas de Minecraft, primero debe actualizar Java a una versión compatible.

  1. Especifique la máquina objetivo para instalar la aplicación.

  2. Defina el método de despliegue:

    • Instalación rápida de Minecraft
    • Despliegue a través de imágenes de Docker
    • Otras opciones disponibles
  3. Seleccione la versión del software:

    • Minecraft 1.21.1
    • Minecraft 1.20.1
    • Forge 1.20.6
    • Otras versiones disponibles.
  4. Espere a que finalice la instalación.

Configuración del nodo remoto

Una vez completada la instalación, configure el nodo remoto:

  • Vaya a la sección Nodes en el menú lateral;
  • Haga clic en el botón Add Node o seleccione uno existente para editarlo;
  • Configure la conexión al nodo remoto:

    • Ingrese el nombre del nodo (por ejemplo, minecraft{SERVER_ID});
    • Ingrese la dirección de conexión (wss://minecraft{SERVER_ID}.hostkey.com);
    • Establezca el puerto de conexión (12444);
    • Deje el campo Remote Node Key en blanco a menos que se requieran configuraciones especiales.

  • Haga clic en el botón Save o Update;

  • Como resultado, el estado del nodo debería cambiar a Up:

Creación y gestión de un servidor de juego

  1. Cree una instancia de servidor:

    • Vaya a la sección Instances en el menú lateral;
    • Haga clic en el botón Create Instance;
    • En la ventana abierta, seleccione:

      • Node: seleccione el nodo configurado anteriormente:

      • Server type: por ejemplo, MC Java Edition Server:

      • Instance name: ingrese el nombre deseado (por ejemplo, minecraft{SERVER_ID}vanilla):

    • Haga clic en el botón Ok;

    • Después de la creación, la instancia aparecerá en la lista con el nombre especificado.
  2. Configuración inicial del servidor:

    • Seleccione la instancia creada en la lista;
    • Vaya a la pestaña Configuration Files:

    • Busque y edite el archivo eula.txt:
      • Cambie el valor de eula=false a eula=true para aceptar el acuerdo de licencia;
      • Guarde los cambios:

    • Vuelva a la pestaña Overview o Console.
  3. Inicio y monitoreo del servidor:

    • Haga clic en el botón Launch en la página de la instancia:

    • En la consola del servidor, siga el proceso de carga;
    • Preste atención a los mensajes de error o advertencias;
    • Después de la carga completa, la consola mostrará el mensaje Done con el tiempo de carga indicado.
  4. Gestión de un servidor en ejecución:

    • En la sección Basic Information, se muestran los siguientes elementos:
      • Server Name;
      • Hora de inicio del trabajo;
      • Número de reinicios;
      • Codificación de salida (UTF-8);
      • Estado del servidor (Online/Offline);
      • Uso de recursos (CPU, RAM).
  5. Configuración del servidor:

    • Vaya a la pestaña Configuration Files;
    • Busque y edite el archivo server.properties:
      • gamemode: modo de juego (supervivencia, creativo, aventura);
      • difficulty: dificultad (pacífica, fácil, normal, difícil);
      • pvp: habilitar/deshabilitar PvP (true/false);
      • max-players: número máximo de jugadores;
      • server-port: puerto del servidor;
      • level-name: nombre del mundo;
      • view-distance: distancia de renderizado;
      • accepts-transfers: transferencia de archivos (true/false);
      • allow-flight: permitir vuelo (true/false);
      • allow-nether: acceso al Nether (true/false);
      • broadcast-console-to-ops: enviar mensajes de consola a operadores (true/false);
      • broadcast-rcon-to-ops: enviar mensajes RCON a operadores (true/false);
    • Guarde los cambios y reinicie el servidor para aplicar la configuración.

Nota

Información detallada sobre la configuración principal de MCSMManager está disponible en la documentación del desarrollador.

Configuración de un proxy inverso para HTTPS

Atención

Configurar HTTPS es una tarea compleja que requiere conocimientos profesionales en tecnologías de red. Desaconsejamos encarecidamente a los usuarios regulares intentar configurar manualmente una conexión HTTPS. Antes de continuar, asegúrese de comprender completamente la arquitectura de red del sistema y los principios de trabajo con certificados SSL. Una configuración incorrecta puede provocar un funcionamiento inestable del servidor o la pérdida total de acceso al panel de control.

Configurar un proxy inverso para HTTPS es importante para garantizar la seguridad, el rendimiento y la facilidad de gestión del servidor. Cifra el tráfico, evitando la interceptación de datos, y también enruta las solicitudes, proporcionando equilibrio de carga y fiabilidad. El proxy centraliza la gestión de certificados SSL, simplifica la configuración del servidor y puede almacenar datos en caché, mejorando el rendimiento. Sin embargo, si el sistema no requiere alta seguridad, carga o infraestructura compleja (por ejemplo, para pruebas locales o proyectos pequeños), puede prescindir de la configuración de un proxy inverso.

Paso 1: Preparación de certificados SSL

Si ya tiene un certificado SSL (por ejemplo, uno autofirmado o de una Autoridad de Certificación externa), puede utilizarlo. De lo contrario, siga estos pasos:

  1. Obtención del certificado:

    • Para un certificado autofirmado, utilice el comando:

      openssl req -x509 -newkey rsa:4096 -keyout /data/nginx/ssl/domain.key -out /data/nginx/ssl/domain.crt -sha256 -days 365
      
      Si el certificado se obtuvo de Let's Encrypt u otra Autoridad de Certificación, asegúrese de que los archivos .crt y .key estén en el directorio /data/nginx/ssl/.

Nota

El proceso de emisión de certificados SSL para un servidor en MCSMManager se basa en el uso de un contenedor Docker y la herramienta Certbot para obtener automáticamente certificados de Let’s Encrypt. Más detalles sobre la obtención instantánea y actualización de certificados SSL de Let's Encrypt se describen en el artículo Free Domain Certbot

  1. Preparación del directorio para almacenar certificados:
    • Asegúrese de que los certificados estén en un directorio seguro, por ejemplo:

      mkdir -p /data/nginx/ssl
      cp /path/to/certificate/domain.crt /data/nginx/ssl/
      cp /path/to/certificate/domain.key /data/nginx/ssl/
      

Paso 2: Preparación de la configuración de Nginx

  1. Creación de configuración para el daemon:

    En el directorio donde se encuentran los archivos de configuración de Nginx (/data/nginx/user_conf.d o similar), cree un archivo de configuración para el daemon.

    Ejemplo de configuración para el daemon (daemon_https.conf):

    ```nginx server { listen 12444 ssl http2; listen [::]:12444 ssl http2;

    ssl_certificate /data/nginx/ssl/domain.crt; ssl_certificate_key /data/nginx/ssl/domain.key;

    location / { proxy_pass http://127.0.0.1:24444; proxy_set_header Host $host; proxy_set_header X-Real-Ip $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; } }

     **Creación de configuración para el panel**:
    
     Ejemplo de configuración para el panel (`web_https.conf`):
     ```nginx
     server {
       listen 12333 ssl http2;
       listen [::]:12333 ssl http2;
    
    
       ssl_certificate /data/nginx/ssl/domain.crt;
       ssl_certificate_key /data/nginx/ssl/domain.key;
    
    
       location / {
           proxy_pass http://127.0.0.1:23333;
           proxy_set_header Host $host;
           proxy_set_header X-Real-Ip $remote_addr;
           proxy_set_header X-Forwarded-For $remote_addr;
           proxy_set_header REMOTE-HOST $remote_addr;
       }
    }
    

  2. Activación de configuraciones:

    Para que Nginx utilice estas configuraciones, cree enlaces simbólicos en el directorio /data/nginx/user_conf.d/ (o en otro donde se almacenen las configuraciones activas):

    ln -s /data/nginx/user_conf.d/daemon_https.conf /etc/nginx/sites-enabled/
    ln -s /data/nginx/user_conf.d/web_https.conf /etc/nginx/sites-enabled/
    

    O, si desea agregar las configuraciones directamente al archivo nginx.conf, ábralo y agregue los bloques de configuración antes de la última llave de cierre }:

    nano /etc/nginx/nginx.conf
    

Paso 3: Verificación y reinicio de Nginx

  1. Verificación de la configuración:

    Antes de reiniciar Nginx, asegúrese de que la configuración sea correcta, utilice el comando:

    sudo nginx -t
    

    Si todo está correcto, verá el mensaje:

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    

  2. Reinicio de Nginx:

    Después de verificar correctamente la configuración, reinicie Nginx para aplicar los cambios:

    sudo systemctl reload nginx
    

Paso 4: Configuración de redirección automática de HTTP a HTTPS

Para garantizar que todas las solicitudes HTTP se dirijan automáticamente a HTTPS, cree una configuración adicional para la redirección:

  1. Configuración de redirección de HTTP a HTTPS:

    En la configuración de Nginx, agregue un servidor que escuchará en el puerto 80 (HTTP) y redirigirá todas las solicitudes a HTTPS:

    server {
     listen 80;
     server_name your-domain.com;
    
    
     location / {
         return 301 https://$host$request_uri;
     }
    }
    

Paso 5: Conexión y verificación

  1. Conexión vía HTTPS:

    Después de recargar Nginx, verifique la disponibilidad de sus servicios vía HTTPS:

    • Panel de control: https://your-domain.com:12333/
    • Daemon: https://your-domain.com:12444/
  2. Configuración de WebSocket:

    Si su aplicación utiliza WebSocket para interactuar con daemons, asegúrese de que sus configuraciones de proxy admitan correctamente WebSocket:

    En la configuración de Nginx, agregue:

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    
  3. Verificación de la conexión:

    Si todo está configurado correctamente, debería ver conexiones HTTPS funcionando correctamente. El panel de control mostrará la página de inicio de sesión, y el daemon mostrará el estado "OK".

    Nota

    Información detallada sobre la configuración de un proxy inverso para HTTPS se puede encontrar en la documentación del desarrollador.

Solicitar un servidor de Minecraft mediante la API

Para instalar este software mediante la API, siga estas instrucciones.


Parte del contenido de esta página fue creado o traducido utilizando IA.

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×